Docs » Available host and application monitors » Configure application receivers for GitLab » GitLab Workhorse

GitLab Workhorse πŸ”—

Description πŸ”—

The Splunk Distribution of OpenTelemetry Collector provides this integration as the gitlab-workhorse monitor type by using the Smart Agent Receiver.

This is a monitor for GitLab Workhorse, which is the GitLab service that handles slow HTTP requests. Workhorse includes a built-in Prometheus exporter that this monitor hits to gather metrics. By default, the exporter runs on port 9229.

This monitor is available on Kubernetes, Linux, and Windows.

Benefits πŸ”—

After you configure the integration, you can access these features:

  • View metrics. You can create your own custom dashboards, and most monitors provide built-in dashboards as well. For information about dashboards, see View dashboards in Observability Cloud.

  • View a data-driven visualization of the physical servers, virtual machines, AWS instances, and other resources in your environment that are visible to Infrastructure Monitoring. For information about navigators, see Splunk Infrastructure Monitoring navigators.

  • Access the Metric Finder and search for metrics sent by the monitor. For information, see Use the Metric Finder.

Installation πŸ”—

Follow these steps to deploy this integration:

  1. Deploy the Splunk Distribution of OpenTelemetry Collector to your host or container platform:

  2. Configure the monitor, as described in the Configuration section.

  3. Restart the Splunk Distribution of OpenTelemetry Collector.

Configuration πŸ”—

To use this Smart Agent monitor with the Collector, include the smartagent receiver and service pipeline in your configuration file. The Smart Agent receiver is fully supported only on x86_64/amd64 platforms.

See the examples below for more details.

receivers:
  smartagent/gitlab-workhorse: 
    type: gitlab-workhorse
    ... # Additional config

To monitor Workhorse using the Prometheus exporter, use a configuration similar to the following:

receivers:
  smartagent/gitlab-workhorse: 
    type: gitlab-workhorse
    discoveryRule: port == 9229  
    # Other expressions to avoid false positives on the port alone.

To complete the integration, include the Smart Agent receiver using this monitor in a metrics pipeline. To do this, add the receiver to the service > pipelines > metrics  > receivers section of your configuration file. For example:

service:
  pipelines:
    metrics:
      receivers: [smartagent/gitlab-workhorse]

Configuration settings πŸ”—

The following table shows the configuration options for this monitor:

Option

Required

Type

Description

httpTimeout

no

int64

HTTP timeout duration for both read and writes. This should be a duration string that is accepted by ParseDuration. The default value is 10s.

username

no

string

Basic Auth username to use on each request, if any.

password

no

string

Basic Auth password to use on each request, if any.

useHTTPS

no

bool

If true, the agent will connect to the server using HTTPS instead of plain HTTP. The default value is false.

httpHeaders

no

map of strings

A map of HTTP header names to values. Comma-separated multiple values for the same message-header is supported.

skipVerify

no

bool

If useHTTPS is true and this option is also true, the exporter’s TLS cert will not be verified. The default value is false.

sniServerName

no

string

If useHTTPS is true and skipVerify is true, the sniServerName is used to verify the hostname on the returned certificates. It is also included in the client’s handshake to support virtual hosting unless it is an IP address.

caCertPath

no

string

Path to the CA cert that has signed the TLS cert, unnecessary if skipVerify is set to false.

clientCertPath

no

string

Path to the client TLS cert to use for TLS required connections

clientKeyPath

no

string

Path to the client TLS key to use for TLS required connections

host

yes

string

Host of the exporter

port

yes

integer

Port of the exporter

useServiceAccount

no

bool

Use pod service account to authenticate. The default value is false.

metricPath

no

string

Path to the metrics endpoint on the exporter server, usually /metrics, which is the default value.

sendAllMetrics

no

bool

Send all the metrics that come out of the Prometheus exporter without any filtering. This option has no effect when using the Prometheus exporter monitor directly since there is no built-in filtering, only when embedding it in other monitors. The default value is false.

Metrics πŸ”—

These are the metrics available for this integration:

Get help πŸ”—

If you are not able to see your data in Splunk Observability Cloud, try these tips:

To learn about even more support options, see Splunk Customer Success.