我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
文章版本: Enterprise Server 2.14

此版本的 GitHub Enterprise 将停止服务 此版本的 GitHub Enterprise 已停止服务 2019-07-12. 即使出现严重安全问题,也不会发布补丁。要获得更好的性能、更高的安全性和全新功能,请升级到 GitHub Enterprise 的最新版本。 要获取有关升级的帮助,请联系 GitHub Enterprise 支持部门

使用 SNMP 进行监视

GitHub Enterprise 通过 SNMP 提供关于磁盘使用情况、CPU 利用率和内存使用情况等方面的数据。

SNMP 是一种用于通过网络监视设备的公共标准。 强烈建议启用 SNMP,以便监视 您的 GitHub Enterprise Server 实例 的健康状态并了解何时向主机增加更多内存、存储空间或处理器能力。

GitHub Enterprise 采用标准 SNMP 安装,因此您可以充分利用 Nagios 或其他任何监视系统可用的多种插件

配置 SNMP v2c

  1. 在任意页面的右上角,单击

    用于访问站点管理设置的火箭船图标

  2. 在左侧边栏中,单击 管理控制台

    在左侧边栏中的 管理控制台 选项卡

  3. 在左侧边栏中,单击 Monitoring(监控)

    Monitoring(监控)选项卡

  4. 在“Monitoring(监控)”下,选择 Enable SNMP(启用 SNMP)

    Enable SNMP(启用 SNMP)按钮

  5. Community string 字段中,输入新的社区字符串。 如果留空,此字段将默认为 public

    用于添加社区字符串的字段

  6. 在左侧边栏中,单击 Save settings(保存设置)

    Save settings(保存设置)按钮

  7. 要测试 SNMP 配置,请在网络中支持 SNMP 的单独工作站上运行以下命令:

# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
$ snmpget -v 2c -c community-string -O e hostname hrSystemDate.0

此命令应返回 您的 GitHub Enterprise Server 实例 主机上的系统时间。

User-based security

如果您启用 SNMP v3,则可以通过用户安全模型 (USM) 充分利用提升的基于用户的安全性。 您可以为每个唯一的用户指定安全级别:

配置 SNMP v3 用户

  1. 在任意页面的右上角,单击

    用于访问站点管理设置的火箭船图标

  2. 在左侧边栏中,单击 管理控制台

    在左侧边栏中的 管理控制台 选项卡

  3. 在左侧边栏中,单击 Monitoring(监控)

    Monitoring(监控)选项卡

  4. 在“Monitoring(监控)”下,选择 Enable SNMP(启用 SNMP)

    Enable SNMP(启用 SNMP)按钮

  5. 选择 SNMP v3

    用于启用 SNMP v3 的按钮

  6. 在“Username”中,输入您的 SNMP v3 用户的唯一用户名。

    用于输入 SNMP v3 用户名的字段

  7. Security Level 下拉菜单中,单击您的 SNMP v3 用户的安全级别。

    包含 SNMP v3 用户安全级别的下拉菜单

  8. 对于安全级别为 authnopriv 的 SNMP v3 用户:

    authnopriv 安全级别的设置

    • 在“Authentication password(身份验证密码)”中,键入身份验证密码。

    • 在“Authentication password(身份验证密码)”的右侧,单击 Protocol(协议)下拉菜单中要使用的身份验证协议。

  9. 对于安全级别为 authpriv 的 SNMP v3 用户:

    authpriv 安全级别的设置

    • 在“Authentication password(身份验证密码)”中,键入身份验证密码。

    • 在“Authentication password(身份验证密码)”的右侧,单击 Protocol(协议)下拉菜单中要使用的身份验证协议。

    • 或者,在“Privacy password”中输入隐私密码。

    • 在“Privacy password”右侧的 Protocol 下拉菜单中,单击您要使用的隐私协议方法。

  10. 单击 Add user

    用于添加 SNMP v3 用户的按钮

  11. 在左侧边栏中,单击 Save settings(保存设置)

    Save settings(保存设置)按钮

查询 SNMP 数据

SNMP v3 可以提供关于您的设备的硬件和软件级信息。 由于 noAuthNoPrivauthNoPriv 安全级别缺少加密和隐私,我们会将 hrSWRun 表 (1.1.3.6.1.2.1.25.41) 从生成的 SNMP 记录中排除。 如果您使用的安全级别为 authPriv,则会包含此表。

如果使用 SNMP v2c,则仅会提供关于您的设备的硬件级信息。 GitHub Enterprise 中的应用程序和服务未配置 OID 来报告指标。 提供多个 MIB,在网络中支持 SNMP 的单独工作站上运行 snmpwalk 可以查看这些 MIB:

# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
$ snmpwalk -v 2c -c community-string -O e hostname

在 SNMP 的可用 MIB 中,最有用的是 HOST-RESOURCES-MIB (.1.3.6.1.2.1.25)。 请参见下表,了解此 MIB 中的一些重要对象:

名称 OID 说明
hrSystemDate.2 .1.3.6.1.2.1.25.1.2 本地日期和时间的主机标记。
hrSystemUptime.0 .1.3.6.1.2.1.25.1.1.0 自主机上次初始化以来的时间。
hrMemorySize.0 .1.3.6.1.2.1.25.2.2.0 主机上 RAM 的大小。
hrSystemProcesses.0 .1.3.6.1.2.1.25.1.6.0 主机上当前加载或运行的进程上下文数。
hrStorageUsed.1 .1.3.6.1.2.1.25.2.3.1.6.1 主机上已占用的存储空间大小(单位为 hrStorageAllocationUnits)。
hrStorageAllocationUnits.1 .1.3.6.1.2.1.25.2.3.1.4.1 hrStorageAllocationUnit 的大小(单位为字节)

例如,要通过 SNMP v3 查询 hrMemorySize,请在您的网络中支持 SNMP 的单独工作站上运行以下命令:

# username is the unique username of your SNMP v3 user
# auth password is the authentication password
# privacy password is the privacy password
# hostname is the IP or domain of your Enterprise instance
$ snmpget -v 3 -u username -l authPriv \
  -A "auth password" -a SHA \
  -X "privacy password" -x AES \
  -O e hostname HOST-RESOURCES-MIB::hrMemorySize.0

如果使用 SNMP v2c,要查询 hrMemorySize,请在您的网络中支持 SNMP 的单独工作站上运行以下命令:

# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
snmpget -v 2c -c community-string hostname HOST-RESOURCES-MIB::hrMemorySize.0

:为避免泄漏关于设备上所运行服务的信息,我们会将 hrSWRun 表 (1.1.3.6.1.2.1.25.41) 从生成的 SNMP 报告中排除,除非您对 SNMP v3 使用的是 authPriv 安全级别。 如果您使用的安全级别为 authPriv,我们将包含 hrSWRun 表。

更多关于 SNMP 中常用系统属性的 OID 映射的信息,请参阅“CPU、内存和磁盘统计信息的 Linux SNMP OID”。

问问别人

找不到要找的内容?

联系我们