This version of GitHub Enterprise was discontinued on 2020-11-12. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Configuring collectd

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.

In this article

Set up an external collectd server

If you haven't already set up an external collectd server, you will need to do so before enabling collectd forwarding on your GitHub Enterprise Server instance. Your collectd server must be running collectd version 5.x or higher.

  1. Log into your collectd server.
  2. Create or edit the collectd configuration file to load the network plugin and populate the server and port directives with the proper values. On most distributions, this is located at /etc/collectd/collectd.conf

An example collectd.conf to run a collectd server:

LoadPlugin network
...
...
<Plugin network>
    Listen "0.0.0.0" "25826"
</Plugin>

Enable collectd forwarding on GitHub Enterprise

By default, collectd forwarding is disabled on GitHub Enterprise. Follow the steps below to enable and configure collectd forwarding:

  1. From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page.
    Rocketship icon for accessing site admin settings
  2. In the left sidebar, click Management Console.
    Management Console tab in the left sidebar
  3. Below the log forwarding settings, select Enable collectd forwarding.
  4. In the Server address field, type the address of the collectd server to which you'd like to forward GitHub Enterprise appliance statistics.
  5. In the Port field, type the port used to connect to the collectd server. (Defaults to 25826)
  6. In the Cryptographic setup dropdown menu, select the security level of communications with the collectd server. (None, signed packets, or encrypted packets.)
  7. Under the left sidebar, click Save settings.
    The Save settings button in the Management Console
  8. Wait for the configuration run to complete.

Exporting collectd data with ghe-export-graphs

The command-line tool ghe-export-graphs will export the data that collectd stores in RRD databases. This command turns the data into XML and exports it into a single tarball (.tgz).

Its primary use is to provide the GitHub Enterprise Support or GitHub Premium Support team with data about a VM's performance, without the need for downloading a full Support Bundle. It shouldn't be included in your regular backup exports and there is no import counterpart. If you contact GitHub Enterprise Support or GitHub Premium Support, we may ask for this data to assist with troubleshooting.

Usage

ssh -p 122 admin@[hostname] -- 'ghe-export-graphs' && scp -P 122 admin@[hostname]:~/graphs.tar.gz .

Troubleshooting

Central collectd server receives no data

GitHub Enterprise ships with collectd version 5.x. 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 accept data sent from your GitHub Enterprise Server instance.

For help with further questions or issues, contact GitHub Enterprise Support or GitHub Premium Support.