【问题标题】:JupyterHub - log current userJupyterHub - 记录当前用户
【发布时间】:2022-06-30 01:17:52
【问题描述】:

我使用自定义记录器来记录当前在 Jupyterhub 中执行任何操作的人员。

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 可用的环境变量。这似乎是从 JupyterHub 传递过来的(我不知道这是如何完成的)。但是在 JupyterHub 中我没有这个变量可用。

有没有办法在 JupyterHub 中使用它,而不仅仅是在 jupyterLab 容器中?

【问题讨论】:

    标签: jupyter jupyter-lab jupyterhub


    【解决方案1】:

    这不会让你一路走好,但这是一个开始——我们通过 KubeSpawner 的 extra_annotations 使用 cluster_options 钩子添加额外的 pod 注释/标签(请参阅我们的 helm chart 了解我们完整的 daskhub 设置):

      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
    

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

    【讨论】:

      猜你喜欢
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多