Как контролировать приложение Fastify с помощью Prometheus и Grafana? - PullRequest
0 голосов
/ 22 марта 2020

Я учусь контролировать приложение Fastify с помощью Prometheus и Grafana. Сначала я установил пакет fastify-metrics и зарегистрировался в приложении Fastify.

// app.ts

import metrics from 'fastify-metrics'

...
app.register(metrics, {
  endpoint: '/metrics',
})

Затем я настроил Прометей и Графану в docker-compose.yml:

version: "3.7"
services:

  prometheus:
    image: prom/prometheus:latest
    volumes:
      - prometheus_data:/prometheus
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
    network_mode: host
    ports:
      - '9090:9090'

  grafana:
    image: grafana/grafana:latest
    volumes:
      - grafana_data:/var/lib/grafana
      # - ./grafana/provisioning:/etc/grafana/provisioning
      # - ./grafana/config.ini:/etc/grafana/config.ini
      # - ./grafana/dashboards:/var/lib/grafana/dashboards
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=ohno
    depends_on:
      - prometheus
    network_mode: host
    ports:
      - '3000:3000'

volumes:
  prometheus_data: {}
  grafana_data: {}

Я добавил network_mode=host, потому что Fastfy приложение будет работать на localhost:8081.

Вот конфигурация Prometheus:

# prometheus.yml

global:
  scrape_interval: 15s
  scrape_timeout: 10s
  evaluation_interval: 1m
scrape_configs:
  - job_name: 'prometheus'
    # metrics_path: /metrics
    static_configs:
      - targets: [
        'app:8081',
      ]
  - job_name: 'node_exporter'
    static_configs:
      - targets: [
        'localhost:8081',
      ]

После docker-compose up и npm run dev приложение Fastify запущено и работает, а цель localhost:8081 - UP в инструментальной панели Prometheus, localhost:9090, я попытался выполнить некоторые метрики.

Я импортировал Node Exporter Full и Node Exporter Server Metrics инструментальные панели. И добавленный источник данных Prometheus localhost:9090 с именем Fastify, успешно сохраненный, показал Data source is working.

Однако, когда я go на панели инструментов Noder Exporter Full , он показывает нет данных. Я выбрал Fastify в источнике данных, но он показывает None в других выборках в верхнем левом углу.

Пожалуйста, помогите, что я делаю не так?

...