GitHub Enterprise can gather data with collectd and send it to an external collectd server. Among other metrics, we gather a standard set of data such as CPU utilization, memory and disk consumption, network interface traffic and errors, and the VM's overall load.
Enabling collectd forwarding
By default, collectd forwarding is disabled. It can be enabled on the Management Console settings page available at
http(s)://hostname/setup/settings
Exporting collectd data
The command-line tool ghe-export-graphs
is provided to export the data that collectd stores in RRD databases. The command turns the data into XML and exports it into a single tarball (.tgz). It's primary use is to provide the Enterprise support team with data about a VM's performance, without the need to download a full support bundle. It shouldn't be included in your regular backup exports and there is no import counterpart. If you open a support ticket, Enterprise support may ask for this data to help in troubleshooting the issue.
Usage:
ssh admin@enterprise-server -- 'ghe-export-graphs' && scp admin@enterprise-server:~/graphs.tgz .
Setting up an external collectd server
Setting up an external collectd server is straightforward. At the very least you would have to create or edit the collectd configuration file, located at /etc/collectd/collectd.conf
in most distributions, to load the network plugin and populate the server and port directives with proper values.
An example collectd.conf to run a collectd server:
LoadPlugin network
...
...
<Plugin network>
Listen "0.0.0.0" "25826"
</Plugin>
Troubleshooting
Central collectd server receives no data
GitHub Enterprise ships with collectd version 5.1.0. Sending data to a collectd server running on version 4.x won't work, since collectd 5.x is not backwards compatible with the 4.x release series. Your central collectd server needs to be at least version 5.x to be able to accept data sent from the GitHub Enterprise appliance.
If you're having problems, contact support for help.