Skip to main content

This version of GitHub Enterprise was discontinued on 2022-06-03. 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.

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, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  2. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  3. In the left sidebar, click Management Console. Management Console tab in the left sidebar

  4. Below the log forwarding settings, select Enable collectd forwarding.

  5. In the Server address field, type the address of the collectd server to which you'd like to forward GitHub Enterprise appliance statistics.

  6. In the Port field, type the port used to connect to the collectd server. (Defaults to 25826)

  7. In the Cryptographic setup dropdown menu, select the security level of communications with the collectd server. (None, signed packets, or encrypted packets.)

  8. Under the left sidebar, click Save settings.

    Screenshot of the save settings button in the Management Console

    Note: Saving settings in the Management Console restarts system services, which could result in user-visible downtime.

  9. Wait for the configuration run to complete.

    Configuring your instance

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 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, 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.