在 JupyterHub 中跟踪文件下载 activity?

Track file download activity in JupyterHub?

我已将 JupyterHub 0.7.0 部署到 AWS 管理的 kubernetes (EKS)

我需要为从个人用户笔记本服务器下载文件的用户收集指标。

问题:

  1. 是否有任何从 JupyterHub 发出的日志显示文件下载 activity?我需要查看文件下载发生在哪个用户(或哪个 pod)。
  2. 这些日志在哪里,我如何使用它们?

注意:"file download" 我指的是 Jupyter 主页上可用的 "Download" 按钮(参见提供的屏幕截图)

您应该能够做到这一点,从 /var/log/jupyterhub.log 获取日志,并查找您要为其执行指标的文件的文件名。

如果您提供日志,我可能会提供进一步的帮助。

但是如果没有所需的日志,我认为您需要直接从 Jupyter 用户那里获取这些日志:

docker logs jupyter-<user_name>

我能够从 AWS ELB 访问日志中获取我需要的数据。

这需要我更改配置设置。具体来说,"proxy-public" ELB 侦听器必须侦听 HTTP 流量,而不是 TCP 流量。 ("proxy-public" ELB 侦听器是通过安装 JupyterHub helm 应用程序隐式创建的)

ELB 访问日志有一个 属性 用于 request。对于文件下载,request 属性 格式如下:

GET https://{DOMAIN}:443/user/{USERNAME}/files/{FILENAME}?download=1 HTTP/1.1

其中 DOMAIN 是 JupyterHub 的托管域

其中 USERNAME 是 JupyterHub 用户

其中 FILENAME 是下载的文件