OpenTelemetry 指标将成为监控的未来基础,并将在 GitHub Enterprise Server 3.18 及更高版本中提供。 与旧收集的系统相比,这种新的监视堆栈提供了增强的可观测性和管理功能。
默认情况下,指标将继续被收集,并且在此版本中仍然完全受支持。
注意
OpenTelemetry 指标位于 公共预览版 中,可能会更改。 我们很乐意听取你关于预览版的反馈。 你可以与客户成功团队共享它,或在 社区讨论帖子中留下评论。
先决条件
- GitHub Enterprise Server 3.18 或更高版本
- 对 管理控制台 的管理员访问权限
- 对 GitHub Enterprise Server 设备的 SSH 访问
启用 OpenTelemetry 指标
默认情况下禁用 OpenTelemetry 指标。 可以通过 管理控制台 或命令行来启用它们。
使用 管理控制台
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。1. 在“ 站点管理”边栏中,单击“管理控制台”****。
-
在监视设置中,选择“ 启用 OpenTelemetry”。
-
在“设置”边栏下,单击“保存设置”。
注意
保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。
-
等待配置运行完毕。
使用命令行
-
通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME -
运行以下命令以启用 OpenTelemetry 指标。
ghe-config observability.metrics.next-enabled true -
若要应用配置,请运行以下命令。
注意
在配置运行过程中,你的 GitHub Enterprise Server 实例 上的服务可能会重启,这可能会导致用户短暂停机。
Shell ghe-config-apply
ghe-config-apply -
等待配置运行完毕。
性能注意事项
配置 OpenTelemetry 指标时,请考虑以下性能因素:
- 收集频率:更频繁的收集会增加系统负载
- 数据保留期:更长的保留期需要更多存储
- 自定义导出程序:其他导出程序可能会增加 CPU 和内存使用率
- 网络带宽:外部指标传送会影响网络使用情况
配置指标集合
启用 OpenTelemetry 指标后,可以自定义指标收集过程的各个方面。
设置收集间隔
默认指标收集间隔为 30 秒。 可以根据监视需求对此进行调整。
重要
设置较短的间隔会增加指标的精度,但也会增加存储要求和系统负载。 在调整此设置之前,请考虑系统资源和监视要求。
使用管理控制台来设置时间间隔
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。1. 在“ 站点管理”边栏中,单击“管理控制台”****。
-
在监控设置的 指标采集间隔中,输入所需的间隔时间(以秒为单位,例如,
60)。 -
在“设置”边栏下,单击“保存设置”。
注意
保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。
-
等待配置运行完毕。
使用命令行设置间隔
使用 SSH 连接到GitHub Enterprise Server服务器设备并运行以下命令:
# Set scrape interval to 60 seconds
ghe-config observability.metrics.interval 60
ghe-config-apply
配置数据保留策略
默认情况下,指标数据将保留 30 天。 可以使用管理控制台或命令行修改此设置。
使用 管理控制台 管理保留策略
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。1. 在“ 站点管理”边栏中,单击“管理控制台”****。
-
在监视设置中的 Metrics retention 下,输入所需的保留期(以天为单位)(例如,
15)。 -
在“设置”边栏下,单击“保存设置”。
注意
保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。
-
等待配置运行完毕。
使用命令行配置保留
使用 SSH 连接到GitHub Enterprise Server服务器设备并运行以下命令:
# Set retention to 15 days
ghe-config observability.metrics.retention 15
ghe-config-apply
为内部遥测配置详细级别
OpenTelemetry 收集器生成自己的内部遥测数据,用于监视收集器本身的运行状况和性能。 可以使用命令行配置此内部遥测的详细级别。
可用的遥测级别为:
none:禁用内部遥测basic:提供基本遥测数据(默认值)normal:提供标准遥测数据detailed:提供用于调试的详细遥测数据
使用 SSH 连接到GitHub Enterprise Server服务器设备并运行以下命令:
# Set internal telemetry level to normal
ghe-config observability.metrics.internal-otel-telemetry-level normal
ghe-config-apply
注意
更高的遥测级别提供有关收集器内部操作的更多详细信息,但也会增加资源使用量。 建议将 basic 级别用于生产环境,除非需要排查收集器问题。
排查配置问题
如果遇到 OpenTelemetry 配置问题,以下信息可帮助你识别和解决常见问题。
常见配置问题
- 服务启动失败:检查系统日志中是否有错误消息
- 资源约束:调整收集间隔时监视系统资源
查看本地日志
通过 SSH 连接到要调试的节点并运行以下命令:
查看 OpenTelemetry 收集器日志:
sudo journalctl -u otelcol-contrib -f
查看 VictoriaMetrics 日志:
sudo journalctl -u victoriametrics -f
后续步骤
- 若要启用高级监视仪表板,请参阅 OpenTelemetry 高级指标仪表板
- 浏览 OpenTelemetry 指标,请参阅 使用 Grafana 分析 OpenTelemetry 指标。
- 若要设置外部监视,请参阅 使用 OpenTelemetry 设置外部监视。