Установка Prometheus + node-exporter + Grafana в docker-compose
Установить Prometheus + node-exporter + Grafana в docker-compose
docker-compose.yml:
version: '3.3' services: node_exporter: image: quay.io/prometheus/node-exporter:v1.3.1 container_name: core2-sb-mongo-lt-n1 command: - '--path.rootfs=/host' pid: host restart: unless-stopped volumes: - '/:/host:ro,rslave' ports: - "9100:9100" prometheus: image: prom/prometheus:v2.37.0 container_name: prometheus volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml - ./prometheus-data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' ports: - '9090:9090' # extra_hosts: # - "core2-sb-mongo-lt-n2:188.165.25.103" # - "core2-sb-mongo-lt-n3:188.165.137.10" # - "core2-prototype-mongodb-bs-lt:10.77.7.51" grafana: image: grafana/grafana:8.5.10 container_name: grafana volumes: - "./grafana-data:/var/lib/grafana" environment: - GF_SECURITY_ADMIN_PASSWORD=<PASSWORD> links: - prometheus ports: - "3000:3000" networks: default:
prometheus.yml
global: scrape_interval: 10s external_labels: monitor: 'lambda-monitor' scrape_configs: - job_name: node static_configs: - targets: ['core2-sb-mongo-lt-n1:9100', 'core2-sb-mongo-lt-n2:9100', 'core2-sb-mongo-lt-n3:9100','core2-prototype-mongodb-bs-lt:9100']
node-exporter.service
[Unit] Description=node-exporter Requires=docker.service After=docker.service [Service] WorkingDirectory=/srv/docker/node_exporter #ExecStartPre=/usr/bin/docker-compose pull ExecStart=/usr/bin/docker compose up ExecStop=/usr/bin/docker compose down TimeoutStartSec=30 TimeoutStopSec=10 Restart=on-failure StartLimitBurst=3 TimeoutStartSec=120 TimeoutStopSec=30 [Install] WantedBy=multi-user.target
Дашборд для Grafana:
Установить node-exporter на другой сервер linux:
Скачать и установить:
curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest| grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi - tar -xvf node_exporter*.tar.gz cd node_exporter*/ sudo cp node_exporter /usr/local/bin
Создать юнит-файл для systemd /etc/systemd/system/node_exporter.service:
[Unit] Description=Node Exporter Wants=network-online.target After=network-online.target useradd -rs /bin/false node_exporter [Service] User=node_exporter Group=node_exporter ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=default.target
Настроить автозапуск:
systemctl daemon-reload systemctl enable node_exporter systemctl start node_exporter
Проверить:
curl http://localhost:9100/metrics