Docs » Integrations Guide » Use the Smart Agent » Monitors » gitlab-unicorn

gitlab-unicorn ๐Ÿ”—

Monitor Type: gitlab-unicorn (Source)

Accepts Endpoints: Yes

Multiple Instances Allowed: Yes

Overview ๐Ÿ”—

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 SignalFx Smart Agent container or host, needs to be allowed as described here in order for the agent to access the endpoint.

To monitor GitLabโ€™s Unicorn server using its Prometheus exporter, use a monitor configuration similar to:

  - type: gitlab-unicorn
    discoveryRule: port == 8080  # && <other expressions to avoid false-positives on port alone>
    metricPath: /-/metrics

The available metrics are documented by GitLab.

See the Gitlab monitor for more information.

Configuration ๐Ÿ”—

To activate this monitor in the Smart Agent, add the following to your agent config:

monitors:  # All monitor config goes under this key
 - type: gitlab-unicorn
   ...  # Additional config

For a list of monitor options that are common to all monitors, see Common Configuration.

Config 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 (default: 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. (default: 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. (default: false)
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. (default: false)
metricPath no string Path to the metrics endpoint on the exporter server, usually /metrics (the default). (default: /metrics)
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. (default: false)

Metrics ๐Ÿ”—

These are the metrics available for this monitor. Metrics that are categorized as container/host (default) are in bold and italics in the list below.

  • gitlab_auth_user_authenticated_total (cumulative)
  • gitlab_auth_user_unauthenticated_total (cumulative)
  • gitlab_banzai_cacheless_render_real_duration_seconds (cumulative)
  • gitlab_banzai_cacheless_render_real_duration_seconds_bucket (cumulative)
  • gitlab_banzai_cacheless_render_real_duration_seconds_count (cumulative)
  • gitlab_cache_misses_total (cumulative)
  • gitlab_cache_operation_duration_seconds (cumulative)
  • gitlab_cache_operation_duration_seconds_bucket (cumulative)
  • gitlab_cache_operation_duration_seconds_count (cumulative)
  • gitlab_rails_queue_duration_seconds (cumulative)
  • gitlab_rails_queue_duration_seconds_bucket (cumulative)
  • gitlab_rails_queue_duration_seconds_count (cumulative)
  • gitlab_sql_duration_seconds (cumulative)
  • gitlab_sql_duration_seconds_bucket (cumulative)
  • gitlab_sql_duration_seconds_count (cumulative)
  • gitlab_transaction_cache_read_hit_count_total (cumulative)
  • gitlab_transaction_cache_read_miss_count_total (cumulative)
  • gitlab_transaction_duration_seconds (cumulative)
  • gitlab_transaction_duration_seconds_bucket (cumulative)
  • gitlab_transaction_duration_seconds_count (cumulative)
  • gitlab_transaction_new_redis_connections_total (cumulative)
  • gitlab_transaction_rails_queue_duration_total (gauge)
  • gitlab_transaction_sidekiq_queue_duration_total (gauge)
  • gitlab_transaction_view_duration_total (cumulative)
  • http_requests_total (cumulative)
  • job_register_attempts_failed_total (cumulative)
  • job_register_attempts_total (cumulative)
  • unicorn_active_connections (gauge)
  • unicorn_queued_connections (gauge)
  • user_session_logins_total (cumulative)

Non-default metrics (version 4.7.0+) ๐Ÿ”—

To emit metrics that are not default, you can add those metrics in the generic monitor-level extraMetrics config option. Metrics that are derived from specific configuration options that do not appear in the above list of metrics do not need to be added to extraMetrics.

To see a list of metrics that will be emitted you can run agent-status monitors after configuring this monitor in a running agent instance.