Monitoring using SNMP

SNMP is a common standard for monitoring devices over a network. GitHub Enterprise provides data on disk usage, CPU utilization, memory usage, and more over SNMP. We strongly recommend enabling SNMP so you can monitor the health of your GitHub Enterprise instance and know when to add more memory, storage, or processor power to the host machine.

GitHub Enterprise has a standard SNMP installation, so you can take advantage of the many plugins available for Nagios or for any other monitoring system of your choice.

Configuring SNMP v2c

In the upper-right corner of any page, click .

In the left sidebar, click Management Console.

In the left sidebar, click Monitoring.

Under "Monitoring", select Enable SNMP.

In the Community string field, enter a new community string. If left blank, this defaults to public.

Under the left sidebar, click Save settings.

Test your SNMP configuration by running the following command on a separate workstation with SNMP support in your network:

This should return the system time on your GitHub Enterprise instance host.

User based security

If you enable SNMP v3, you can take advantage of increased user based security through the User Security Model (USM). For each unique user, you can specify a security level:

noAuthNoPriv: This security level provides no authentication and no privacy.

authNoPriv: This security level provides authentication but no privacy. To query the appliance you'll need a username and password (that must be at least eight characters long). Information is sent without encryption, similar to SNMPv2. The authentication protocol can be either MD5 or SHA and defaults to SHA.

authPriv: This security level provides authentication with privacy. Authentication, including a minimum eight-character authentication password, is required and responses are encrypted. A privacy password is not required, but if provided it must be at least eight characters long. If a privacy password isn't provided, the authentication password is used. The privacy protocol can be either DES or AES and defaults to AES.

On the right side of "Authentication password", in the Protocol dropdown menu, click the authentication protocol you want to use.

For SNMP v3 users with the authpriv security level:

In "Authentication password", type the authentication password.

On the right side of "Authentication password", in the Protocol dropdown menu, click the authentication protocol you want to use.

Optionally, in "Privacy password", type the privacy password.

On the right side of "Privacy password", in the Protocol dropdown menu, click the privacy protocol method you want to use.

Click Add user.

Under the left sidebar, click Save settings.

Querying SNMP data

Both hardware and software-level information about your appliance is available with SNMP v3. Due to the lack of encryption and privacy for the noAuthNoPriv and authNoPriv security levels, we exclude the hrSWRun table (1.1.3.6.1.2.1.25.41) from the resulting SNMP reports. We include this table if you're using the authPriv security level.

With SNMP v2c, only hardware-level information about your appliance is available. The applications and services within GitHub Enterprise do not have OIDs configured to report metrics. Several MIBs are available, which you can see by running snmpwalk on a separate workstation with SNMP support in your network:

Note: To prevent leaking information about services running on your appliance, we exclude the hrSWRun table (1.1.3.6.1.2.1.25.41) from the resulting SNMP reports unless you're using the authPriv security level with SNMP v3. If you're using the authPriv security level, we include the hrSWRun table.