Skip to main content

This version of GitHub Enterprise Server was discontinued on 2023-09-25. 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 Server. For help with the upgrade, contact GitHub Enterprise support.

Configuring collectd for your instance

To gain insight into GitHub Enterprise Server's performance, you can review data from collectd on your instance, or optionally send the data to an external collectd server.

About collectd for GitHub Enterprise Server

collectd is a service that runs on your GitHub Enterprise Server instance to gather and provide metrics about the system's performance. Common metrics that collectd gathers includes CPU utilization, memory and disk consumption, network interface traffic and errors, and a system's overall load. You can also forward the data to another collectd server. For more information see the collectd wiki.

Your instance uses metrics from collectd to display graphs in the Management Console's monitor dashboard. For more information, see "Accessing the monitor dashboard."

You can review a list of the metrics that collectd gathers on your GitHub Enterprise Server instance. For more information, see "collectd metrics for GitHub Enterprise Server."

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>

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

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

  3. In the " Site admin" sidebar, click Management Console.

  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 "Settings" sidebar, click Save settings.

    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.

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 us through 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, visit GitHub Enterprise Support.