PostgreSQL Exporter - Обеспечивает мониторинг и сбор параметров PostreSQL для передачи в Prometheus.
Продолжение статей
Установка postgres_exporter
Берем актуальную версию postgres_exporter
Скачиваем ее
1 | wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.10.1/postgres_exporter-0.10.1.linux-amd64.tar.gz |
и распаковываем в opt
1 | tar xzf postgres_exporter-0.10.1.linux-amd64.tar.gz -C /opt/ |
назначаем необходимые для работы права
1 | chown -R postgres:postgres /opt/postgres_exporter-0.10.1.linux-amd64 |
За счет использования при запуске указания конкретной версии, можно обеспечить обновление до новой версии путем изменения одного файла и перезапуска сервиса. Так же при необходимости можно будет вернутся на предыдущую версию.
Создаем файл конфигурации сервиса /etc/systemd/system/postgres_exporter.service со следующим содержимым
1 | nano /etc/systemd/system/postgres_exporter.service |
1 2 3 4 5 6 7 8 9 10 11 12 13 | [Unit] Description=Prometheus PostgreSQL Exporter After=network.target [Service] Type=simple Restart=always User=postgres Group=postgres Environment=DATA_SOURCE_NAME="user=postgres host=/var/run/postgresql/ sslmode=disable" ExecStart=/opt/postgres_exporter-0.10.1.linux-amd64/postgres_exporter [Install] WantedBy=multi-user.target |
Устанавливаем и запускаем сервис
1 2 3 | systemctl daemon-reload systemctl enable postgres_exporter.service systemctl restart postgres_exporter.service |
При необходимости открываем порт на межсетевом экране
1 | ufw allow 9187/tcp |
Настройка Prometheus для получения данных postgres_exporter
Открываем на редактирование файл конфигурации prometheus
nano /opt/configs/prometheus.yml
в секции scrape_configs добавляем
Обязательно два проблема в начале, файлы конфигурации yml к этому чувствительны
1 2 3 4 5 6 7 8 9 | - job_name: postgresql honor_labels: true scrape_interval: 20s scrape_timeout: 10s metrics_path: /metrics static_configs: - targets: - server_ip:9187 |
Перезапускаем prometheus
1 | service prometheus restart |
Настройка Grafana
Скачиваем идин из дашбордов в формате json
В веб-консоли Grafana переходим в Dashboards - Browse и нажимаем Import
В данном окне нажимаем "Upload JSON file" и выбираем скачанный ранее файл. Выбираем prometheus - ранее подключенный сервер prometheus и нажимаем Import
После импорта дашборд становится доступен в системе для использования