Skip to content

Commit adf1158

Browse files
rachaelrenkpallsamaandrbaheiskrsophietheking
authored
GitHub Enterprise Server 3.16 release candidate (#54227)
Co-authored-by: Pallavi <[email protected]> Co-authored-by: Andrey Bazhutkin <[email protected]> Co-authored-by: Kevin Heis <[email protected]> Co-authored-by: Sophie <[email protected]> Co-authored-by: Roniece Ricardo <[email protected]> Co-authored-by: docs-bot <[email protected]> Co-authored-by: Vanessa <[email protected]> Co-authored-by: Isaac Brown <[email protected]> Co-authored-by: Courtney Claessens <[email protected]> Co-authored-by: isaacmbrown <[email protected]>
1 parent 4b00ac4 commit adf1158

File tree

27 files changed

+956182
-9
lines changed

27 files changed

+956182
-9
lines changed

content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ $ ghe-config app.github.rate-limiting-exempt-users "hubot github-actions[bot]"
134134

135135
### ghe-config-apply
136136

137-
This utility applies {% data variables.enterprise.management_console %} settings, reloads system services, prepares a storage device, reloads application services, and runs any pending database migrations. It is equivalent to clicking **Save settings** in the {% data variables.enterprise.management_console %}'s web UI or to sending a POST request to {% ifversion management-console-manage-ghes-parity %}[the `/manage/v1/config/apply` endpoint](/rest/enterprise-admin/manage-ghes#trigger-a-ghe-config-apply-run){% else %}[the `/setup/api/configure` endpoint](/rest/enterprise-admin/management-console){% endif %}.
137+
This utility applies {% data variables.enterprise.management_console %} settings, reloads system services, prepares a storage device, reloads application services, and runs any pending database migrations. It is equivalent to clicking **Save settings** in the {% data variables.enterprise.management_console %}'s web UI or to sending a POST request to {% ifversion management-console-manage-ghes-parity %}[the `/manage/v1/config/apply` endpoint](/rest/enterprise-admin/manage-ghes#trigger-a-ghe-config-apply-run){% else %}[the `/setup/api/configure` endpoint](/rest/enterprise-admin/management-console){% endif %}. {% ifversion ghes > 3.15 %} Starting in version 3.16, this utility applies configuration changes conditionally to relevant settings. You can force it to run unconditionally by using `-f` flag. {% endif %}
138138

139139
```shell
140140
ghe-config-apply

content/admin/all-releases.md

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ For instances with {% data variables.product.prodname_actions %} enabled, self-h
6969

7070
| {% data variables.product.prodname_ghe_server %} version | Minimum Runner version |
7171
| ------------------------------------------------- | ---------------------- |
72+
| 3.16 | 2.321.0 ([release notes](https://github.com/actions/runner/releases/tag/v2.321.0)) |
7273
| 3.15 | 2.319.1 ([release notes](https://github.com/actions/runner/releases/tag/v2.319.1)) |
7374
| 3.14 | 2.317.0 ([release notes](https://github.com/actions/runner/releases/tag/v2.317.0)) |
7475
| 3.13 | 2.314.1 ([release notes](https://github.com/actions/runner/releases/tag/v2.314.1)) |

content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/configuring-collectd-for-your-instance.md

+6
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ Your instance uses metrics from `collectd` to display graphs in the {% data vari
3030

3131
You can review a list of the metrics that `collectd` gathers on {% data variables.location.product_location %}. For more information, see [AUTOTITLE](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/collectd-metrics-for-github-enterprise-server).
3232

33+
{% ifversion prometheus-metrics-exporter %}
34+
35+
> [!TIP] In {% data variables.product.prodname_ghe_server %} 3.16, support was added for exporting `collectd` metrics in Prometheus format. This update does not change the existing metrics stack in the appliance but provides an easier way to ingest metrics into an observability platform by supporting the Prometheus protocol. An additional option is available to expose collectd metrics in Prometheus format with an endpoint. See [AUTOTITLE](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/exporting-and-scraping-prometheus-metrics).
36+
37+
{% endif %}
38+
3339
## Set up an external `collectd` server
3440

3541
If you haven't already set up an external `collectd` server, you will need to do so before enabling `collectd` forwarding on {% data variables.location.product_location %}. Your `collectd` server must be running `collectd` version 5.x or higher.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
title: Exporting and scraping Prometheus metrics
3+
shortTitle: Export and scrape Prometheus metrics
4+
intro: "{% data variables.product.prodname_ghe_server %} provides Prometheus-compatible metrics by transforming `collectd` data. These metrics can be scraped from a dedicated endpoint, allowing integration with observability and monitoring tools for performance insights."
5+
versions:
6+
feature: prometheus-metrics-exporter
7+
type: how_to
8+
topics:
9+
- Enterprise
10+
- Fundamentals
11+
- Infrastructure
12+
- Monitoring
13+
- Performance
14+
---
15+
16+
{% data variables.product.prodname_ghe_server %} includes a Prometheus metrics exporter to simplify observability and monitoring. This feature allows metrics to be scraped directly from the appliance, eliminating the need to forward `collectd` metrics to an external `collectd` server for transformation before sending them to a Prometheus system. By supporting Prometheus-compatible metrics natively, the exporter enables seamless integration with external monitoring dashboards and alerting systems.
17+
18+
## Enabling Prometheus metrics exporter and scraping metrics
19+
20+
By default, the Prometheus metrics exporter and scraping are disabled. Enabling the exporter for `collectd` metrics opens the metrics endpoint (also knows as `scrape endpoint`) at `http(s)://HOSTNAME:9103`. Ensure that firewall rules allow traffic on port 9103.
21+
22+
You can enable the Prometheus metrics exporter using the {% data variables.enterprise.management_console %}, the command line interface within the appliance, or the API.
23+
24+
### Enabling using the {% data variables.enterprise.management_console %}
25+
26+
{% data reusables.enterprise_site_admin_settings.access-settings %}
27+
{% data reusables.enterprise_site_admin_settings.management-console %}
28+
1. In the monitoring settings, select **Enable prometheus**.
29+
1. In the **Trusted IPv4/IPv6 addresses or CIDR blocks in a comma-separated list** field, type the comma-separated list of ip addresses or CIDR blocks. An example: `10.0.0.1, 192.168.1.0/8`. If this field is left empty, then scraping requests from any source IP will be accepted.
30+
{% data reusables.enterprise_management_console.save-settings %}
31+
32+
### Enabling via the command line interface
33+
34+
To enable the Prometheus metrics exporter, SSH into the {% data variables.product.prodname_ghe_server %} appliance and run the following commands:
35+
36+
```shell
37+
ghe-config app.prometheus.enabled true
38+
# Specify a comma-separated list of trusted IPv4/IPv6 addresses or CIDR blocks.
39+
ghe-config app.prometheus.trusted-ips "10.0.0.1, 192.168.1.0/8"
40+
ghe-config-apply
41+
```
42+
43+
### Enabling using the API
44+
45+
You can enable the Prometheus metrics exporter using the API by sending a `PUT` request to update the configuration settings.
46+
47+
```shell
48+
curl -L -H "Content-Type: application/json" -X PUT -u "api_key:xxxxxxx" https://<hostname>/manage/v1/config/settings -d '{"prometheus": {"enabled": true, "trusted_ips": "10.0.0.1, 192.168.1.0/8"}}'
49+
```
50+
51+
## Verifying the Prometheus metrics exporter is enabled
52+
53+
To verify that the Prometheus metrics exporter is enabled, use `curl` to query the `/metrics` endpoint on port 9103. For more information about the administrative ports, see [AUTOTITLE](/admin/configuring-settings/configuring-network-settings/network-ports#administrative-ports).
54+
55+
```shell
56+
curl localhost:9103/metrics
57+
```
58+
59+
If successful, the response will include metrics with the `collectd_` prefix.
60+
61+
## Configuring your external Prometheus server
62+
63+
To scrape exported metrics from {% data variables.product.prodname_ghe_server %}, add a scraping configuration to the `prometheus.yaml` file on your external Prometheus server.
64+
65+
```yaml
66+
- job_name: "ghes-prom-agent"
67+
scrape_interval: 10s
68+
static_configs:
69+
- targets: ["http(s)://HOSTNAME:9103/metrics"]
70+
```
71+
72+
## Support for the darkshipped Prometheus metrics exporter
73+
74+
If you have been using the Prometheus metrics exporter since it was darkshipped in {% data variables.product.prodname_ghe_server %} 3.12, it will continue to work after upgrading to 3.16. In this version, you now have the option to specify trusted IPs for scraping requests.
75+
76+
## Sharing feedback
77+
78+
You can share your feedback on the Prometheus metrics exporter and scraping functionality with {% data variables.product.company_short %}. For help with questions or issues, visit {% data variables.contact.contact_ent_support %}.

content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@ children:
2323
- /about-system-logs
2424
- /troubleshooting-resource-allocation-problems
2525
- /generating-a-health-check-for-your-enterprise
26+
- /exporting-and-scraping-prometheus-metrics
2627
shortTitle: Monitor your instance
2728
---
28-

content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/setting-up-external-monitoring.md

+10
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,13 @@ Simple Network Management Protocol (SNMP) is a widely supported method of monito
2727
collectd is an open source statistics collection and reporting daemon with built-in support for writing to RRD files. Statistics on CPU utilization, memory and disk consumption, network interface traffic and errors, and system load can be forwarded to an external collectd server where graphs, analysis, and alerting may be configured using a wide range of available tools and plugins. To configure `collectd` forwarding, see [AUTOTITLE](/admin/enterprise-management/monitoring-your-appliance/configuring-collectd).
2828

2929
Additionally, the monitoring tools built into underlying virtualization platforms may also be used for basic monitoring and alerting of system resources. For more information, see [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) and [VMware vSphere](https://docs.vmware.com/en/VMware-vSphere/index.html) documentation.
30+
31+
{% ifversion prometheus-metrics-exporter %}
32+
33+
## About the Prometheus metrics exporter
34+
35+
The Prometheus metrics exporter allows you to integrate {% data variables.product.prodname_ghe_server %} metrics into your observability pipeline and tooling. You can scrape metrics in a Prometheus-compatible format via the `/metrics` API at regular intervals and feed them into your observability system.
36+
37+
To configure the Prometheus metrics exporter and scraping, see [AUTOTITLE](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/exporting-and-scraping-prometheus-metrics).
38+
39+
{% endif %}

content/rest/private-registries/index.md

+1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ children:
99
versions:
1010
fpt: '*'
1111
ghec: '*'
12+
ghes: '>=3.16'
1213
---
1314

content/rest/private-registries/organization-configurations.md

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ intro: Use the REST API to manage private registry configurations for organizati
55
versions: # DO NOT MANUALLY EDIT. CHANGES WILL BE OVERWRITTEN BY A 🤖
66
fpt: '*'
77
ghec: '*'
8+
ghes: '>=3.16'
89
topics:
910
- API
1011
autogenerated: rest
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# In GHES 3.16, ability to scrape prometheus-compatible metrics is introduced
2+
versions:
3+
ghes: '>=3.16'

data/release-notes/PLACEHOLDER-TEMPLATE.yml

+6
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ sections:
4040
- |
4141
...
4242
43+
- heading: APIs
44+
notes:
45+
# LINK TO RELEASE ISSUE
46+
- |
47+
...
48+
4349
- heading: Migrations
4450
notes:
4551
# LINK TO RELEASE ISSUE

0 commit comments

Comments
 (0)