используя плагин метрики-репортер-прометей для мониторинга внутренних органов Геррита с помощью Прометея - PullRequest
0 голосов
/ 06 мая 2018

Я хочу контролировать Геррит демон с Прометей .

Как настроить плагин Геррита metrics-reporter-prometheus и Prometheus для мониторинга белого ящика?

Отказ от ответственности: Этот экспортер в основном предоставляет внутренние метрики демона Gerrit, сгенерированные из Метрики Dropwizard . Количество проектов, ожидающих рассмотрения ... не сообщается

Примечание 2: меня не интересует использование универсальных экспортеров (JMX exporter, Javamelody ...)

Это типичные показатели экспортеров выглядит так:

# HELP caches_disk_cached_git_tags Generated from Dropwizard metric import (metric=caches/disk_cached/git_tags, type=com.google.gerrit.metrics.dropwizard.BucketedCallback$ValueGauge)
# TYPE caches_disk_cached_git_tags gauge
caches_disk_cached_git_tags 0.0
# HELP http_server_rest_api_response_bytes_project_ListProjects Generated from Dropwizard metric import (metric=http/server/rest_api/response_bytes/project.ListProjects, type=com.codahale.metrics.Histogram)
# TYPE http_server_rest_api_response_bytes_project_ListProjects summary
http_server_rest_api_response_bytes_project_ListProjects{quantile="0.5",} 216.0
http_server_rest_api_response_bytes_project_ListProjects{quantile="0.75",} 216.0
http_server_rest_api_response_bytes_project_ListProjects{quantile="0.95",} 216.0
http_server_rest_api_response_bytes_project_ListProjects{quantile="0.98",} 216.0
http_server_rest_api_response_bytes_project_ListProjects{quantile="0.99",} 216.0
http_server_rest_api_response_bytes_project_ListProjects{quantile="0.999",} 216.0
http_server_rest_api_response_bytes_project_ListProjects_count 3.0
# HELP http_server_rest_api_response_bytes_query_change_QueryChanges Generated from Dropwizard metric import (metric=http/server/rest_api/response_bytes/query.change.QueryChanges, type=com.codahale.metrics.Histogram)
# TYPE http_server_rest_api_response_bytes_query_change_QueryChanges summary
http_server_rest_api_response_bytes_query_change_QueryChanges{quantile="0.5",} 16.0
http_server_rest_api_response_bytes_query_change_QueryChanges{quantile="0.75",} 16.0
http_server_rest_api_response_bytes_query_change_QueryChanges{quantile="0.95",} 16.0
http_server_rest_api_response_bytes_query_change_QueryChanges{quantile="0.98",} 16.0
http_server_rest_api_response_bytes_query_change_QueryChanges{quantile="0.99",} 16.0
http_server_rest_api_response_bytes_query_change_QueryChanges{quantile="0.999",} 16.0
http_server_rest_api_response_bytes_query_change_QueryChanges_count 17.0
[..]
[..]

и некоторые обычные, такие как

# HELP proc_jvm_memory_heap_committed Generated from Dropwizard metric import (metric=proc/jvm/memory/heap_committed, type=com.google.gerrit.metrics.dropwizard.CallbackMetricImpl0$1)
# TYPE proc_jvm_memory_heap_committed gauge
proc_jvm_memory_heap_committed 5.77241088E8
# HELP proc_birth_timestamp Generated from Dropwizard metric import (metric=proc/birth_timestamp, type=com.google.gerrit.metrics.dropwizard.CallbackMetricImpl0$1)
# TYPE proc_birth_timestamp gauge
proc_birth_timestamp 1.525600508281E15
# HELP proc_cpu_usage Generated from Dropwizard metric import (metric=proc/cpu/usage, type=com.google.gerrit.metrics.dropwizard.CallbackMetricImpl0$1)
# TYPE proc_cpu_usage gauge
proc_cpu_usage 93.24
# HELP proc_num_open_fds Generated from Dropwizard metric import (metric=proc/num_open_fds, type=com.google.gerrit.metrics.dropwizard.CallbackMetricImpl0$1)
# TYPE proc_num_open_fds gauge

1 Ответ

0 голосов
/ 06 мая 2018

Отвечаю сам ...

Как это работает: Прометей соскребет

Конфигурация Gerrit

Предположения:

  • Gerrit установлен в каталог ~/gerrit
  • Версия Gerrit>> = 2.14 (примеры основаны на 2.14)
  • Gerrit SSH настроен с ключом SSH ( doc ), эта команда работает ssh -p 29418 admin@gerrit.example.com gerrit version

Установить плагин

Установите плагин экспортера Gerrit. Чем проще скачать JAR от gerritforge. Просмотрите https://gerrit -ci.gerritforge.com / view / Plugins-stable-2.14 / job / pluin-metrics-reporter-prometheus-bazel-stable-2.14 / и загрузите metrics-reporter-prometheus.jar или выполните команду Команды Unix:

cd ~/gerrit/plugins/
wget -O metrics-reporter-prometheus.jar 'https://gerrit-ci.gerritforge.com/view/Plugins-stable-2.14/job/plugin-metrics-reporter-prometheus-bazel-stable-2.14/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/metrics-reporter-prometheus/metrics-reporter-prometheus.jar'

Затем перезапустите Gerrit

Подключитесь как администратор в веб-интерфейсе Gerrit, перейдите в раздел Плагины> Установлено, чтобы убедиться, что metrics-reporter-prometheus указан и включен, или выполните команду:

ssh -p 29418 admin@gerrit.example.com gerrit plugin ls

Авторизовать учетную запись и группу

Далее необходимо создать группу и учетную запись в Gerrit, а затем предоставить возможность View Metrics.

Эта процедура должна быть адаптирована к тому, как вы управляете своей учетной записью в Gerrit (LDAP ...). Для локальной учетной записи (управляемой SSH):

ssh -p 29418 admin@gerrit.example.com 'gerrit create-group "Prometheus Metrics" '

ssh -p 29418 admin@gerrit.example.com 'gerrit create-account prometheus  --full-name "Prometheus Monitoring" --email prometheus@gerrit.example.com '

ssh -p 29418 admin@gerrit.example.com 'gerrit set-members "Prometheus Metrics" --add "prometheus" '

ssh -p 29418 admin@gerrit.example.com 'gerrit set-account prometheus --http-password ChangeThisInsecurePassword '

Предоставление разрешений «Метрики Прометея» в Gerrit

  • Войдите в веб-интерфейс Gerrit с учетной записью с правами администратора, перейдите в раздел Проекты> Список> Все проекты
  • Нажмите на вкладку «Доступ»
  • Нажмите на кнопку [РЕДАКТИРОВАТЬ]
  • В блоке Global Capabilities нажмите Add Permission (обычно это 4-е выпадающее меню)
    • Выберите разрешение View Metrics в раскрывающемся списке
    • Выберите группу «Метрики Прометея», которую мы создали выше.
    • Нажмите на кнопку [Добавить]
    • Перейдите в конец страницы и нажмите кнопку [Сохранить изменения]

Тест!

Проверка аутентификации и авторизации, есть две опции: * Войдите в веб-интерфейс с помощью учетной записи создания (которая должна быть успешной!), Затем измените путь URL (http://gerrit.example.com:8080/a/plugins/metrics-reporter-prometheus/metrics), вы должны получить метрики Prometheus! * или используйте wget (или curl или что-то еще):

wget -O - --user prometheus --password ChangeThisInsecurePassword  http://gerrit.example.com:8080/a/plugins/metrics-reporter-prometheus/metrics

ВАЖНО Возможно, вам придется добавить префикс Gerrit URL к /a/ для принудительной аутентификации HTTP ( прочитать документ )

Если вы получили ошибку ERROR 403: Forbidden access., дважды проверьте описанную выше процедуру (пользователь существует? Группа существует? Предоставлены разрешения?)!

Конфигурация Прометея

Редактировать файл /etc/prometheus/prometheus.yml, добавить работу:

  - job_name: gerrit
    metrics_path: '/a/plugins/metrics-reporter-prometheus/metrics'
    static_configs:
      - targets: ['slxhmhs1:8080']
    basic_auth:
      username: prometheus
      password: ChangeThisInsecurePassword

Проверьте файл конфигурации promethsu:

promtool  check-config /etc/prometheus/prometheus.yml

Пусть Прометей перезагрузит свою конфигурацию, используя одно из:

systemctl reload prometheus
killall -HUP prometheus
docker exec -ti graphite-exporter killall -HUP prometheus

Тест:

Посетите страницу статуса Прометея (http://prom.example.com:9090/targets#job-gerrit), затем проверьте статус задания / цели.

Используйте

Перейдите в браузер выражений prometheus (http://prom.example.com:9090), затем введите:

{job="gerrit"}

И наслаждайтесь в Графане: -)

...