首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JupyterHub日志当前用户

JupyterHub日志当前用户
EN

Stack Overflow用户
提问于 2022-06-29 14:16:56
回答 1查看 73关注 0票数 0

我使用一个定制的记录器来记录目前在木星中心做任何事情的人。

代码语言:javascript
复制
logging_config: dict = {
    "version": 1,
    "disable_existing_loggers": False,
    "formatters": {
        "company": {
            "()": lambda: MyFormatter(user=os.environ.get("JUPYTERHUB_USER", "Unknown"))
        },
    },
....

c.Application.logging_config = logging_config

输出:{"asctime": "2022-06-29 14:13:43,773", "level": "WARNING", "name": "JupyterHub", "message": "Updating Hub route http://127.0.0.1:8081 \u2192 http://jupyterhub:8081", "user": "Unknown"

记录器本身工作正常,但我无法记录是谁在执行该操作。在我开始的映像中,有一个JUPYTERHUB_USER env变量可用。这似乎是从JupyterHub那里传过来的(我不知道到底是怎么做到的)。但是在JupyterHub中,我没有这个变量可用。

是否有一种在JupyterHub中使用它的方法,而不仅仅是在jupyterLab容器中?

EN

回答 1

Stack Overflow用户

发布于 2022-06-29 17:17:52

这并不能让您一路顺风,但这是一个开始--我们使用extra_annotations钩子通过KubeSpawner的cluster_options添加额外的pod注释/标签(请参阅我们的舵图获得完整的daskhub设置):

代码语言:javascript
复制
  dask-gateway:
    gateway:
      extraConfig:
        optionHandler: |
          from dask_gateway_server.options import Options, String, Select, Mapping, Float, Bool
          from math import ceil
          def cluster_options(user):
              def option_handler(options):
                  extra_annotations = {
                      "hub.jupyter.org/username": user.name
                  }
                  default_extra_labels = {
                      "hub.jupyter.org/username": user.name,
                  }

              return Options(
                  Select(
                      ...
                  ),
                  ...,
                  handler=option_handler,
              )
          c.Backend.cluster_options = cluster_options

然后,您可以使用这些标签轮询豆荚以获得实时使用。不过,可能有更直接的方法来做到这一点-不确定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72802952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档