ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Dozzle 云服务数据指南:哪些数据离开主机、如何停止传输以及云端的存储策略

Dozzle 云服务数据指南:哪些数据离开主机、如何停止传输以及云端的存储策略 Dozzle 云服务数据指南哪些数据离开主机、如何停止传输以及云端的存储策略【免费下载链接】dozzleRealtime log viewer for containers. Supports Docker, Swarm and K8s.项目地址: https://gitcode.com/GitHub_Trending/do/dozzleDozzle 的云服务Dozzle Cloud以外发连接的方式接入你的自托管实例本指南围绕数据边界展开哪些日志会离开你的主机、如何用容器标签精确控制转发、云端会存储哪些内容以及如何随时撤销接入。读完本文你将掌握dev.dozzle.cloud.min_level标签的完整用法、API 密钥的生命周期管理以及不注销账户即可彻底停止数据采集的实操路径。关联 Cloud 不会暴露你的 Dozzle 实例很多用户担心把 Dozzle 关联到云端会把自己的实例暴露到公网事实恰好相反你的 Dozzle 实例只会向 Cloud 发起一条**外发outbound**连接不会开放任何入站端口也不存在端口转发Cloud 只能通过你实例主动建立的那条连接反过来访问你的实例一旦你解除关联unlink这条访问通道立即终止。从源码看这条外发连接是一条基于 gRPC/TLS 的长连接在 internal/cloud/client.go 中客户端通过grpc.NewClient建立连接并使用credentials.NewClientTLSFromCert(nil, )的 TLS 传输凭据连接建立后每个请求会在 metadata 中携带x-api-key见 client.go。也就是说数据流向是单向的推云端无法主动扫描或反连你的网络。关联不等于开启认证默认情况下 Dozzle 没有登录一个容易混淆的点是关联 Cloud 并不会给你的自托管 Dozzle 增加任何认证能力。这是两件独立的事默认情况下Dozzle没有登录机制任何能通过网络访问到你实例的人都可以查看你的日志如果你的 Dozzle 暴露在公网或与其他人共享网络请务必在实例本身配置认证——无论你是否关联 Cloud 都适用。同理容器操作启动、停止、重启默认是被拒绝的除非你显式开启DOZZLE_ENABLE_ACTIONS环境变量。该开关在 internal/support/cli/args.go 中定义默认值为false只有设置为true后 Web 界面才具备对容器的操作能力。详细说明见操作指南。顺带一提代理节点agent模式下操作能力同样被关闭——见 internal/support/cli/agent_command.go 中的注释agents dont host action tools today。控制转发内容dev.dozzle.cloud.min_level容器标签最有效的隐私控制是一开始就不发送。默认情况下只要实例处于关联状态每一个正在运行的容器都会把日志流式转发到 Cloud。对于那些 info 级别的日志没有诊断价值的容器或涉及你希望留在本机的数据可以用一个容器标签来过滤或完全停用。标签取值与效果取值效果未设置所有日志行都会被转发。默认行为。disabled完全跳过该容器不向 Cloud 转发任何日志。trace与未设置相同因为 trace 是最低级别所有内容都会被转发。debug/info/warn/error/fatal只转发该级别及更高级别的日志行未检测到级别的日志行总是会透传。几点重要细节无法识别的值例如拼写错误的warning或wran会被记录为一条错误并忽略此时该容器会像标签不存在一样转发所有内容标签在日志读取器启动时读取。在运行中的容器上修改标签需要重启容器后才会生效源码中该标签定义为常量dev.dozzle.cloud.min_level见 internal/cloud/log_streamer.goDocker Compose 配置示例services: zigbee2mqtt: image: koenkk/zigbee2mqtt labels: # 只把 warn/error/fatal 转发给 Dozzle Cloud - dev.dozzle.cloud.min_levelwarn noisy-debug-tool: image: example/debug labels: # 不从这个容器发送任何内容 - dev.dozzle.cloud.min_leveldisabled底层过滤机制该过滤逻辑在你的 Dozzle 实例上执行发生在日志离开主机之前因此被过滤掉的行永远不会触达网络也永远不会计入你的套餐配额Dozzle 本地的日志查看功能不受任何影响。源码实现非常清晰internal/cloud/log_streamer.gocloudLevelRank定义了六个规范级别的严重度排序trace1、debug2、info3、warn4、error5、fatal6不在表内的级别如unknown排行为 0总是透传parseMinLevel负责解析标签值空值合法且不过滤disabled表示跳过整个容器能匹配到级别的返回对应 rank其他非空值返回validfalse调用方会记录错误并忽略该标签在runReader中当minRank 0时级别 rank 低于阈值且 rank 大于 0的行会被直接continue丢弃log_streamer.go日志按批次发送每批最多 500 条或 256KB最长 1 秒刷新一次log_streamer.go。注意该标签只管日志不管指标需要特别强调的是dev.dozzle.cloud.min_level只过滤日志流不影响统计指标CPU、内存、网络、磁盘的上报。在 internal/cloud/stats_streamer.go 的源码注释中明确写道这里刻意没有提供退出开关——该标签是日志级别过滤器其公开契约不涉及指标如果在此读取它会让min_leveldisabled的容器在云端静默丢失 CPU/内存曲线。指标层面的退出机制需要单独的标签而不是复用这个。Cloud 会存储什么一旦日志到达云端Dozzle Cloud 存储以下内容日志行来自你关联实例的转发日志用于全文搜索事件与告警匹配你规则的事件和告警以及对应的调查过程和结论容器与主机元数据名称、镜像、状态、资源占用你的账户信息邮箱、套餐、通知渠道设置与 Agent 的聊天记录。所有这些数据都隔离在你的账户内其他用户无法看到。存储的数据会按照你套餐的保留窗口retention window保留到期后自动删除。各套餐的保留期限免费版日志搜索 10GB·24 小时、告警与事件历史 1 天Pro/Team 版日志搜索 50/100GB·30 天、历史 14/30 天等详见套餐与限制。API 密钥哈希存储、支持过期、删除即断开每个关联的实例使用自己独立的 API 密钥进行认证。密钥的安全特性使用BLAKE2b哈希存储支持过期expiration机制绝不存储明文。在 Instances 页面删除某把密钥会立即且永久断开对应的实例。这把密钥无法恢复、也无法重新挂接——再次关联实例会生成一把新密钥。如果你怀疑某把密钥已经泄露标准做法是删除它然后重新关联。这是最彻底的补救方案旧密钥在删除的那一刻立即失效。登录方式GitHub 或 GoogleCloud 使用 GitHub 或 Google 登录无需单独创建密码Cloud 永远不会看到你的 GitHub 或 Google 密码。如果你先用一个提供商注册、之后用另一个提供商但使用同一邮箱登录会进入同一个账户。不注销账户如何停止数据采集如果你只想停止数据流入云端、但保留账户按以下两步操作在Instances页面删除各实例的 API 密钥——转发会立即停止在Channels页面禁用你的通知渠道——确保不再有任何投递。之后已有的历史数据会在你套餐的保留窗口内自然过期。关闭账户目前还没有自助删除按钮。如需彻底关闭账户从账户注册邮箱发送邮件到amirdozzle.dev请求删除如果你处于付费套餐请先从设置中取消订阅以免继续计费。在发送邮件之前或作为替代方案上文的两步操作已经能让你自行移除绝大部分数据删除 API 密钥即可停止全部采集已存储的数据会随保留期过期而清除。延伸阅读Dozzle Cloud 接入指南如何将实例关联到云端套餐与限制各套餐的存储量、保留窗口、实例数上限通知渠道告警投递的配置认证为自托管实例配置登录容器操作DOZZLE_ENABLE_ACTIONS与容器控制【免费下载链接】dozzleRealtime log viewer for containers. Supports Docker, Swarm and K8s.项目地址: https://gitcode.com/GitHub_Trending/do/dozzle创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表