【2026年版】Linuxサーバー監視ツール完全ガイド:Prometheus・Grafana・Netdataの導入と活用

Tech Trends AI
- 3 minutes read - 466 wordsはじめに
サーバーの安定運用において、監視(モニタリング)は不可欠な要素です。障害の早期検知、パフォーマンスの可視化、キャパシティプランニングなど、適切な監視体制がサービスの信頼性を支えます。
本記事では、2026年現在で主流のLinuxサーバー監視ツールを比較し、VPSや小〜中規模サーバーでの実践的な導入方法を解説します。
主要監視ツールの比較
| 項目 | Prometheus + Grafana | Netdata | Zabbix |
|---|---|---|---|
| 種別 | メトリクス収集 + 可視化 | リアルタイム監視 | 統合監視 |
| 導入難易度 | 中 | 低 | 高 |
| リソース消費 | 中 | 低 | 中〜高 |
| スケーラビリティ | ◎ | ○ | ◎ |
| ダッシュボード | ◎(Grafana) | ○(内蔵) | ○ |
| アラート | ◎(Alertmanager) | ○ | ◎ |
| コスト | 無料(OSS) | 無料(OSS) | 無料(OSS) |
| VPS向き | ○ | ◎ | △ |
Netdata:軽量リアルタイム監視
Netdataとは
Netdataは、インストールするだけでサーバーの詳細なメトリクスをリアルタイムで可視化できる軽量監視ツールです。VPSや個人サーバーに最適です。
インストール
# ワンライナーインストール
curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh
sh /tmp/netdata-kickstart.sh --stable-channel
基本設定
# 設定ファイルの編集
sudo nano /etc/netdata/netdata.conf
[global]
hostname = my-server
history = 3996
update every = 1
[web]
bind to = 127.0.0.1
default port = 19999
[plugins]
proc = yes
diskspace = yes
cgroups = yes
Nginxリバースプロキシ設定
server {
listen 443 ssl;
server_name monitor.example.com;
ssl_certificate /etc/letsencrypt/live/monitor.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monitor.example.com/privkey.pem;
auth_basic "Monitoring";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_pass http://127.0.0.1:19999;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
アラート設定
# /etc/netdata/health.d/custom.conf
alarm: cpu_high_usage
on: system.cpu
lookup: average -5m unaligned of user,system
units: %
every: 1m
warn: $this > 80
crit: $this > 95
info: CPU使用率が高くなっています
to: sysadmin
Prometheus + Grafana:本格的な監視基盤
アーキテクチャ
[Node Exporter] → [Prometheus] → [Grafana]
↓
[Alertmanager] → 通知(Slack/メール)
Prometheusのインストール
# ユーザー作成
sudo useradd --no-create-home --shell /bin/false prometheus
# ダウンロードと配置
wget https://github.com/prometheus/prometheus/releases/download/v2.51.0/prometheus-2.51.0.linux-amd64.tar.gz
tar xzf prometheus-2.51.0.linux-amd64.tar.gz
sudo cp prometheus-2.51.0.linux-amd64/prometheus /usr/local/bin/
sudo cp prometheus-2.51.0.linux-amd64/promtool /usr/local/bin/
Prometheus設定
# /etc/prometheus/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
- localhost:9093
rule_files:
- "alerts.yml"
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
- job_name: 'nginx'
static_configs:
- targets: ['localhost:9113']
Node Exporterのインストール
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.0/node_exporter-1.8.0.linux-amd64.tar.gz
tar xzf node_exporter-1.8.0.linux-amd64.tar.gz
sudo cp node_exporter-1.8.0.linux-amd64/node_exporter /usr/local/bin/
systemdサービスファイル
# /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus/ \
--storage.tsdb.retention.time=30d
[Install]
WantedBy=multi-user.target
Grafanaのインストールと設定
sudo apt-get install -y apt-transport-https software-properties-common
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana
sudo systemctl enable --now grafana-server
アラートルールの定義
# /etc/prometheus/alerts.yml
groups:
- name: server_alerts
rules:
- alert: HighCPUUsage
expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 85
for: 5m
labels:
severity: warning
annotations:
summary: "CPU使用率が高い ({{ $labels.instance }})"
description: "CPU使用率が85%を超えています: {{ $value }}%"
- alert: HighMemoryUsage
expr: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100 > 85
for: 5m
labels:
severity: warning
annotations:
summary: "メモリ使用率が高い ({{ $labels.instance }})"
- alert: DiskSpaceLow
expr: (1 - (node_filesystem_avail_bytes{fstype!="tmpfs"} / node_filesystem_size_bytes{fstype!="tmpfs"})) * 100 > 85
for: 10m
labels:
severity: critical
annotations:
summary: "ディスク容量が残り少ない ({{ $labels.instance }})"
監視すべき主要メトリクス
| カテゴリ | メトリクス | 警告閾値 | 危険閾値 |
|---|---|---|---|
| CPU | 使用率 | >80% | >95% |
| メモリ | 使用率 | >80% | >90% |
| ディスク | 使用率 | >80% | >90% |
| ディスク | I/O待ち | >20ms | >50ms |
| ネットワーク | 帯域使用率 | >70% | >90% |
| プロセス | ゾンビプロセス数 | >5 | >10 |
| HTTP | 5xxエラー率 | >1% | >5% |
| HTTP | レスポンス時間 | >500ms | >2s |
VPS向け推奨構成
小規模(1台のVPS)
推奨: Netdata単体
理由: 導入が簡単、リソース消費が少ない
中規模(2-5台)
推奨: Prometheus + Grafana + Node Exporter
理由: 集中管理、柔軟なダッシュボード
大規模(5台以上)
推奨: Prometheus + Grafana + Alertmanager + Loki(ログ)
理由: スケーラビリティ、ログ統合
まとめ
Linuxサーバーの監視体制構築のポイント:
- ツール選択: サーバー規模に合ったツールを選ぶ(VPS 1台ならNetdata推奨)
- メトリクス: CPU・メモリ・ディスク・ネットワークの4大指標を最低限監視
- アラート: 閾値を設定し、問題発生時に即座に通知
- 可視化: ダッシュボードで傾向を把握し、予防的な対応を行う
監視は「入れて終わり」ではなく、運用しながら閾値やアラートを調整していくことが重要です。