Установка и настройка Dashboard JVM Micrometer в Prometheus/Grafana
Установка
-
Создайте папки.
mkdir -p /opt/exporter/grafana/data mkdir -p /opt/exporter/prometheus/
-
Создайте конфигурационные файлы.
touch /opt/exporter/prometheus/prometheus.yml touch /opt/exporter/docker-compose.yml
-
Добавьте в конфигурационный файл prometheus.yml следующий фрагмент:
global: scrape_interval: 15s scrape_timeout: 10s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: [] scheme: http timeout: 10s api_version: v1 scrape_configs: - job_name: java scrape_interval: 15s metrics_path: /hub/rest/observation/metrics static_configs: - targets: ['appsec-hub.com']
В конфигурационном файле необходимо указать следующие значения параметров:
job_name: java
metrics_path: /hub/rest/observation/metrics
targets: URL AppSec.Hub
Ниже приведен пример конфигурационного файла при использовании HTTPS. При использовании самоподписанного сертификата в нем необходимо раскомментировать две строки:
# tls_config:
# insecure_skip_verify: true
global: scrape_interval: 15s scrape_timeout: 10s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: [] scheme: http timeout: 10s api_version: v1 scrape_configs: - job_name: JVM-Micrometer scrape_interval: 15s scheme: https metrics_path: /hub/rest/observation/metrics # tls_config: # insecure_skip_verify: true static_configs: - targets: ['appsec-hub.com']
-
Добавьте в конфигурационный файл /opt/exporter/docker-compose.yml следующий фрагмент:
version: '3.7' services: grafana: image: grafana/grafana-enterprise container_name: grafana restart: unless-stopped # if you are running as root then set it to 0 # else find the right id with the id -u command user: '0' ports: - '3000:3000' volumes: - '$PWD/grafana/data:/var/lib/grafana' prometheus: image: prom/prometheus:latest volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml - ./prometheus:/etc/prometheus/ container_name: prometheus hostname: prometheus ports: - 9090:9090 restart: always environment: TZ: "Europe/Moscow" networks: - net-hub networks: net-hub: driver: "bridge" ipam: driver: default config: - subnet: 10.30.0.0/23
-
Запустите Docker-compose.
cd /opt/exporter/ sudo docker-compose up -d
-
Чтобы проверить установку, необходимо открыть Prometheus, используя URL Prometheus с портом 9090: http://url_prometheus:9090. В пользовательском интерфейсе сверху в меню Status выберите пункт Targets. Состояние
job Java
в столбце State должно иметь значение UP.
Настройка
-
Откройте Grafana, используя URL Grafana с портом 3000: http://url_grafana:3000, логин и пароль по умолчанию имеют значение
admin
. -
Установите иcточник данных в пункте меню Data sources в разделе Connections. Выберите Prometheus и добавьте URL Prometheus с портом 9090 в поле Connection.
Подтвердите настройку иcточника данных, нажав на кнопку Save & Test.
-
Для добавления новой информационной панели (дашборда) выберите пункт меню Dashboards. Нажмите на кнопку New и в выпадающем меню выберите пункт New dashboard.
-
Импортируйте дашборд, загрузив JSON-файл дашборда в разделе Import dashboard. Пример JSON-файла.
-
Задайте имя дашборда в поле Name, либо оставьте текущее и выберите источник данных, который настроили ранее.
-
Выберите дашборд, выберите необходимый сервис.