−25%

kwa Windows ya mwaka, hadi 31 Okt. Tazama mipango

EQVPS
Anza

VPS kwa ufuatiliaji wa seva kwa Grafana na Prometheus

Kusanya vipimo vya CPU, RAM, disk na huduma kutoka kwa seva zako zote mahali pamoja: Prometheus, node_exporter na Grafana kwenye VPS, nyuma ya HTTPS.

«Seva ni polepole» ni ripoti ya hitilafu isiyo na maana, isipokuwa unaweza kufungua grafu na kuona kwamba kumbukumbu ilipanda kwa siku tatu kabla ya kuanguka. Hicho ndicho Prometheus na Grafana zinakupa: CPU, RAM, disk na mtandao wa kila seva, vikirekodiwa kila sekunde 15 na kuchorwa kama chati unazoweza kurudi nyuma ndani yake. Ziweke kwenye VPS yao ndogo na zinaendelea kutazama hata mashine ya production ikianguka.

Vipande

Unachohitaji

1. node_exporter kwenye kila lengo

apt install -y prometheus-node-exporter
# allow only the monitoring server to scrape it
ufw allow from 203.0.113.10 to any port 9100 proto tcp

Badilisha 203.0.113.10 kwa anwani ya VPS yako ya ufuatiliaji. Usiache 9100 wazi kwa ulimwengu kamwe; inavujisha mengi kuhusu seva yako.

2. Prometheus na Grafana kwenye VPS ya ufuatiliaji

apt update && apt install -y docker.io docker-compose-v2 caddy
mkdir -p /opt/monitoring && cd /opt/monitoring

cat > prometheus.yml <<'EOF'
global:
  scrape_interval: 15s
scrape_configs:
  - job_name: nodes
    static_configs:
      - targets: ['198.51.100.21:9100', '198.51.100.22:9100']
EOF

cat > compose.yml <<'EOF'
services:
  prometheus:
    image: prom/prometheus
    volumes: [ "./prometheus.yml:/etc/prometheus/prometheus.yml:ro", "prom:/prometheus" ]
    command: [ "--config.file=/etc/prometheus/prometheus.yml", "--storage.tsdb.retention.time=15d", "--web.enable-remote-write-receiver" ]
    ports: [ "127.0.0.1:9090:9090" ]
    restart: unless-stopped
  grafana:
    image: grafana/grafana
    volumes: [ "grafana:/var/lib/grafana" ]
    ports: [ "127.0.0.1:3000:3000" ]
    restart: unless-stopped
volumes: { prom: {}, grafana: {} }
EOF

docker compose up -d

HTTPS mbele ya Grafana:

echo 'grafana.example.com {
    reverse_proxy 127.0.0.1:3000
}' > /etc/caddy/Caddyfile && systemctl reload caddy

Ingia (admin / admin, kisha ibadilishe), ongeza Prometheus kama chanzo cha data kwenye http://prometheus:9090, na ingiza dashibodi ya jamii «Node Exporter Full» (ID 1860). Unapata dashibodi kamili ya mfumo ndani ya takriban dakika moja.

Seva kwenye mipango ya NAT

Seva ya NAT inakubali muunganisho unaoingia kwenye bandari yake binafsi ya SSH pekee, kwa hivyo Prometheus haiwezi ku-scrape exporter yake. Geuza mwelekeo: endesha Prometheus katika agent mode kwenye mashine ya NAT na usukume kwenye seva ya ufuatiliaji, ambayo tayari inakubali remote writes (flag ya --web.enable-remote-write-receiver hapo juu).

# /etc/prometheus/agent.yml on the NAT server
scrape_configs:
  - job_name: self
    static_configs: [ { targets: ['127.0.0.1:9100'] } ]
remote_write:
  - url: https://prom-push.example.com/api/v1/write

Onyesha endpoint hiyo ya push kupitia Caddy kwa basic auth badala ya kufungua bandari 9090 moja kwa moja.

Maelezo ya uwazi

Prometheus inavuta (pull); hiyo ni nzuri kwa kundi la seva unazozidhibiti na ngumu kwa chochote kilicho nyuma ya NAT, ndiyo sababu ya mbinu ya agent. Hifadhi yake ya ndani haikukusudiwa kwa miaka ya historia; kwa uhifadhi mrefu utaongeza hifadhi ya mbali baadaye. Na dashibodi ni nusu tu ya thamani: weka angalau arifa tatu siku ya kwanza (disk juu ya 85%, shinikizo la kumbukumbu, lengo halipatikani), la sivyo utaangalia grafu tu baada ya kitu kuwa kimeshavunjika.

Inayohusiana

Uko tayari kusambaza? Lipa kwa crypto, bila KYC — hai kwa takriban dakika moja.

Sambaza sasa →

Maswali

Hii ni tofauti vipi na Uptime Kuma?

Uptime Kuma inajibu «je iko hewani?». Prometheus na Grafana zinajibu «kwa nini ni polepole, na ilianza lini?»: vipimo vya CPU, kumbukumbu, disk, mtandao na programu kwa muda. Watu wengi wanaendesha vyote viwili: Kuma kwa arifa za kukatika, Grafana kwa mienendo na upangaji wa uwezo.

Prometheus inatumia disk kiasi gani?

Takriban baiti 1–2 kwa kila sampuli baada ya kubanwa. Seva kumi kila moja ikitoa mfululizo elfu moja, zikisomwa kila sekunde 15, zinafikia takriban sampuli milioni 60 kwa siku, yaani karibu 100 MB. Kwa uhifadhi wa chaguo-msingi wa siku 15 hiyo ni gigabaiti chache.

Je naweza kufuatilia seva zilizo kwenye mipango ya NAT?

Ndiyo, lakini si kwa scraping: seva ya NAT haikubali muunganisho unaoingia kwenye exporter yake. Endesha Prometheus katika agent mode kwenye mashine ya NAT na usukume vipimo kwenye seva yako ya ufuatiliaji kwa remote_write. Seva ya ufuatiliaji yenyewe inapaswa kuwa kwenye mpango wenye dedicated IP.

Seva ya ufuatiliaji iwe kwenye mpango gani?

Micro-IP (2 GB RAM, $10/mwezi) inashughulikia hosts kumi hadi ishirini kwa starehe. Ukiongeza vipimo vya programu vyenye cardinality kubwa au ukihifadhi data ya miezi, hamia Small-IP. Dedicated IP inakupa HTTPS kwa Grafana na anwani thabiti ya kuweka kwenye orodha ya ruhusa ya malengo yako.

Je seva ya ufuatiliaji iwe tofauti na kile inachofuatilia?

Ndiyo. Ikiwa Grafana inaendeshwa kwenye seva ambayo kumbukumbu yake imeisha hivi punde, unapoteza mwonekano wa tatizo wakati ule ule unaouhitaji. VPS ndogo tofauti inaendelea kufanya kazi mashine ya production isipofanya.

Maoni

Bado hakuna maoni. Kuwa wa kwanza.

Acha maoni

Maoni yanakaguliwa kabla ya kuonekana.