Skip to main content

此版本的 GitHub Enterprise 已停止服务 2022-06-03. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

使用 SNMP 进行监视

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

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

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

配置 SNMP v2c

  1. 从 GitHub Enterprise Server 上的管理帐户中,在任何页面的右上角,单击

    用于访问站点管理员设置的火箭飞船图� �的屏幕截图

  2. 如果您尚未进入“站点管理员”页面,请在左上角单击 Site admin(站点管理员)

    "站点管理员" 链接的屏幕截图

  3. 在左侧边� �中,单击 管理控制台左侧边� �中的 管理控制台 选项卡

  4. 在左侧边� �中,单击 Monitoring(监控)监控选项卡

  5. 在“Monitoring(监控)”下,选择Enable SNMP(启用 SNMP)启用 SNMP 的按钮

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

  7. 在左侧边� �下,单击 Save settings(保存设置)

    管理控制台 中保存设置按钮的屏幕截图

    注意: 管理控制台 中的保存设置将重新启动系统服务,这可能会导致用户可见的停机时间。

  8. 等待配置运行完毕。

    配置实例

  9. 要测试 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 实例 主机上的系统时间。

基于用户的安全性

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

  • noAuthNoPriv: 此安全等级不提供任何身份验证和隐私保护。
  • authNoPriv: 此安全等级提供身份验证,但不提供隐私保护。 要查询设备,您需要用户名和密� �(长度必须至少为八个字符)。 与 SNMPv2 相似,发送的信息不会进行� 密。 身份验证协议可以是 MD5 或 SHA,默认为 SHA。
  • authPriv: 这个安全等级提供身份验证和隐私保护。 要求进行身份验证(包含一个长度至少为八个字符的身份验证密� �),并且会对响应进行� 密。 不需要隐私密� �,但如果提供隐私密� �,其长度必须至少为八个字符。 如果不提供隐私密� �,将使用身份验证密� �。 隐私协议可以是 DES 或 AES,默认为 AES。

配置 SNMP v3 的用户

  1. 从 GitHub Enterprise Server 上的管理帐户中,在任何页面的右上角,单击

    用于访问站点管理员设置的火箭飞船图� �的屏幕截图

  2. 如果您尚未进入“站点管理员”页面,请在左上角单击 Site admin(站点管理员)

    "站点管理员" 链接的屏幕截图

  3. 在左侧边� �中,单击 管理控制台左侧边� �中的 管理控制台 选项卡

  4. 在左侧边� �中,单击 Monitoring(监控)监控选项卡

  5. 在“Monitoring(监控)”下,选择Enable SNMP(启用 SNMP)启用 SNMP 的按钮

  6. 选择 SNMP v3启用 SNMP v3 的按钮

  7. 在“Username(用户名)”中,输入 SNMP v3 用户的唯一用户名。 SNMP v3 用户名输入字段

  8. Security Level(安全等级)下拉菜单中,单击 SNMP v3 用户的安全等级。 SNMP v3 用户安全等级下拉菜单

  9. 对于拥有 authnopriv 安全等级的 SNMP v3 用户: Authnopriv 安全等级设置

    • 在“Authentication password(身份验证密� �)”中,键入身份验证密� �。
    • 在“Authentication password(身份验证密� �)”的右侧,单击 Protocol(协议)下拉菜单中要使用的身份验证协议。
  10. 对于拥有 authpriv 安全等级的 SNMP v3 用户: Authpriv 安全等级设置

    • 在“Authentication password(身份验证密� �)”中,键入身份验证密� �。
    • 在“Authentication password(身份验证密� �)”的右侧,单击 Protocol(协议)下拉菜单中要使用的身份验证协议。
    • (可选)在“Privacy password(隐私密� �)”中输入隐私保护密� �。
    • 在“Privacy password(隐私密� �)”右侧,在 Protocol(协议) 下拉菜单中,单击您要使用的隐私协议方法。
  11. 单击 Add user(添� 用户)用于添�  SNMP v3 用户的按钮

  12. 在左侧边� �下,单击 Save settings(保存设置)

    管理控制台 中保存设置按钮的屏幕截图

    注意: 管理控制台 中的保存设置将重新启动系统服务,这可能会导致用户可见的停机时间。

  13. 等待配置运行完毕。

    配置实例

查询 SNMP 数据

关于您的设备的硬件和软件级信息都适用于 SNMP v3。 由于 noAuthNoPrivauthNoPriv 安全等级缺乏� 密和隐私,� 此我们的结果 SNMP 报告中不包括 hrSWRun 表 (1.3.6.1.2.1.25.4.)。 如果您使用的是 authPriv 安全等级,我们将包括此表。 更多信息请参阅“OID 参考文档

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

# 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.21.3.6.1.2.1.25.1.2本地日期和时间的主机� �记。
hrSystemUptime.01.3.6.1.2.1.25.1.1.0自主机上次初始化以来的时间。
hrMemorySize.01.3.6.1.2.1.25.2.2.0主机上 RAM 的大小。
hrSystemProcesses.01.3.6.1.2.1.25.1.6.0主机上当前� 载或运行的进程上下文数。
hrStorageUsed.11.3.6.1.2.1.25.2.3.1.6.1主机上已� 用的存储空间大小(单位为 hrStorageAllocationUnits)。
hrStorageAllocationUnits.11.3.6.1.2.1.25.2.3.1.4.1hrStorageAllocationUnit 的大小(单位为字节)

例如,要通过 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.3.6.1.2.1.25.4) 从生成的 SNMP 报告中排除,除非您对 SNMP v3 使用的是 authPriv 安全级别。 如果您使用的安全级别为 authPriv,我们将包含 hrSWRun 表。

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