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
SNMP is disabled by default. To enable and configure SNMP, follow steps below:
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
. At the bottom of the Management Console configuration page, click Save settings.
-
Test your SNMP configuration by running the following command on a separate workstation with SNMP support in your network:
# 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
This should return the system time on your GitHub Enterprise instance host.
Querying SNMP data
Only hardware-level information about your appliance is available via SNMP. 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:
# 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
Of the available MIBs, the most useful is HOST-RESOURCES-MIB
(.1.3.6.1.2.1.25). See the table below for some important objects in this MIB:
Name | OID | Description |
---|---|---|
hrSystemUptime.0 | .1.3.6.1.2.1.25.1.1.0 | How long it's been since the host was last initialized. |
hrMemorySize.0 | .1.3.6.1.2.1.25.2.2.0 | The amount of RAM on the host. |
hrSystemProcesses.0 | .1.3.6.1.2.1.25.1.6.0 | The number of process contexts currently loaded or running on the host. |
hrStorageUsed.1 | .1.3.6.1.2.1.25.2.3.1.6.1 | The amount of storage space consumed on the host, in hrStorageAllocationUnits. |
hrStorageAllocationUnits.1 | .1.3.6.1.2.1.25.2.3.1.4.1 | The size, in bytes, of an hrStorageAllocationUnit |
For example, to query for hrMemorySize
, run the following command on a separate workstation with SNMP support in your network:
# 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
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.
For more information on OID mappings for common system attributes in SNMP, see "Linux SNMP OIDs".