معماری مانیتورینگ
برای مانیتورینگ زیرساخت، ابتدا هدف پایش را مشخص کنید: سلامت سرور، مصرف منابع، latency سرویسها، وضعیت disk و هشدارهای عملیاتی. Prometheus دادهها را جمعآوری میکند و Grafana لایه مشاهده و تحلیل را فراهم میکند.
نصب node exporter
روی هر سرور Linux یک exporter سبک نصب کنید تا metricهای سیستم در دسترس Prometheus قرار بگیرد.
sudo useradd --no-create-home --shell /usr/sbin/nologin node_exporter
sudo systemctl enable --now node_exporter
curl http://127.0.0.1:9100/metrics | headتنظیم scrape target
در فایل prometheus.yml، سرورها را با labelهای قابل فهم تعریف کنید تا در dashboard و alertها خوانا باشند.
scrape_configs:
- job_name: linux_servers
static_configs:
- targets:
- "10.10.10.21:9100"
- "10.10.10.22:9100"
labels:
environment: production
team: infrastructureساخت dashboard در Grafana
برای شروع، پنلهای CPU، memory، disk I/O، filesystem usage و network throughput را کنار هم قرار دهید. dashboard باید برای incident خوانا باشد، نه فقط برای نمایش زیبا.
هشدارهای پایه
هشدارهای خوب باید actionable باشند. هشدار برای هر spike کوتاه باعث خستگی تیم میشود؛ اما disk نزدیک به پر شدن یا down بودن exporter باید سریع دیده شود.
نکته: برای سرویسهای Production، alert را با runbook کوتاه همراه کنید تا نفر on-call بداند بعد از دریافت هشدار دقیقا چه چیزی را بررسی کند.
groups:
- name: node.rules
rules:
- alert: HostDiskAlmostFull
expr: (node_filesystem_avail_bytes / node_filesystem_size_bytes) * 100 < 12
for: 10m
labels:
severity: warning
annotations:
summary: "Disk space is low"چکلیست پایانی
- node exporter روی سرورها فعال است.
- targetها در Prometheus با label درست دیده میشوند.
- dashboardهای Grafana برای عملیات روزمره قابل خواندن هستند.
- alertها آستانه منطقی و
forمناسب دارند. - هر alert مهم به runbook کوتاه وصل شده است.
