Docs » Configure application receivers » Configure application receivers for GitLab » GitLab Unicorn

GitLab Unicorn 🔗

Description 🔗

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

This is a monitor for GitLab’s Unicorn server. The Unicorn server comes with a Prometheus exporter that runs by default on port 8080 at the path /-/metrics. The IP address of the container or host needs to be allowed for the collector to access the endpoint. See the IP allowlist documentation on GitLab Docs for more information.

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

Benefits 🔗

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

  • View metrics using the built-in dashboard. 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 Metric Finder and search for metrics sent by the monitor. For information about Metric Finder, 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 🔗

This monitor type is available in the Smart Agent Receiver, which is part of the Splunk Distribution of OpenTelemetry Collector. You can use existing Smart Agent monitors as OpenTelemetry Collector metric receivers with the Smart Agent Receiver.

This monitor type requires a properly configured environment on your system in which you’ve installed a functional Smart Agent release bundle. The Collector provides this bundle in the installation paths for x86_64/amd64.

To activate this monitor type in the Collector, add the following lines to your configuration (YAML) file:

    type: gitlab-unicorn
    ... # Additional config

To monitor GitLab’s Unicorn server using its Prometheus exporter, use a monitor configuration similar to the following:

    type: gitlab-unicorn
    discoveryRule: port == 8080  
    # Other expressions to avoid false positives on the port alone.
    metricPath: /-/metrics

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:

      receivers: [smartagent/gitlab-unicorn]

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:

See Unicorn Metrics for the Unicorn specific metrics, when Unicorn is used.

Troubleshooting 🔗

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.