Prometheus 设置

远程读/写

Prometheus 支持读取和写入远程服务。

要配置远程读取或写入服务,您可以在 gitlab.rb 中包含以下内容。

prometheus['remote_write'] = [
  {
    url: 'https://some-remote-write-service.example.com',
    basic_auth: {
      password: 'remote write secret password'
    }
  }
]
prometheus['remote_read'] = [
  {
    url: 'https://some-remote-write-service.example.com'
  }
]

有关可用选项的更多文档,请参阅远程写入远程读取部分的官方文档。

规则文件

Prometheus 允许记录警报规则。

Omnibus 包括一些存储在 /var/opt/gitlab/prometheus/rules/ 中的默认规则文件

要覆盖默认规则,您可以更改gitlab.rb. 中的默认列表。

无规则:

prometheus['rules_files'] = []

自定义列表:

prometheus['rules_files'] = ['/path/to/rules/*.rules', '/path/to/single/file.rules']

外部标记

设置外部标记

prometheus['external_labels'] = {
    'region' => 'us-west-2',
    'source' => 'omnibus',
}

默认情况下没有设置外部标记。

node_exporter

node_exporter 提供系统级指标。

默认情况下启用其他指标收集器。例如,mountstats 用于收集有关 NFS 挂载的指标。

要禁用 mountstats 收集器,请使用以下设置调整 gitlab.rb 并运行 gitlab-ctl reconfigure

node_exporter['flags'] = {
  'collector.mountstats' => false,
}

有关可用收集器的更多信息,请参阅 上游文档

Grafana 面板

Grafana 是一款功能强大的仪表板软件,用于呈现 Prometheus 指标数据。 Omnibus GitLab 11.9 及更高版本包括一个嵌入式副本。

有关更多信息,请参阅 嵌入式 Grafana 文档

Alertmanager 全局选项

您可以为 Alertmanager 设置全局选项

例如,下面的 gitlab.rb 配置,覆盖了 Alertmanager 用来向 SMTP 服务器标识自己的主机名:

alertmanager['global'] = {
  'smtp_hello' => 'example.org'
}