Prometheus は、HTTP /metrics エンドポイントを公開できるあらゆるものから運用テレメトリを収集、ラベル付け、クエリするための、ベンダー中立の単一の方法を提供します。 そのプルモデルとPromQLにより、生のカウンターを簡単にレート、パーセンタイル、SLOに変換でき、Alertmanagerはそれらのシグナルを正確でノイズの少ないアラートに変換します。これにより、企業は独自のネットワーク監視システム(NMS)やスキーマに縛られることなく、ホスト、コンテナ、アプリケーション、ネットワーク機器(エクスポーター経由)全体で単一の時系列エンジンに標準化することができます。
Netskope Private Access (NPA) の導入において、Prometheus は、自社所有のインフラストラクチャ側の問題を的確にカバーします。Publisher は、Netskopeクラウドへのブローカーユーザーとアプリ間の接続をホストします。Ubuntu またはクラウド/仮想プラットフォームにデプロイできる各Netskope Publisherからホスト (node_exporter) とコンテナ (cAdvisor) のメトリックをスクレイピングすることで、ZTNA の信頼性と容量に直接影響する CPU、メモリ、ディスク、NIC エラー/ドロップ、コンテナの状態をリアルタイムで把握できます。
カスタム変数
- Netskope Publisher (this host) IP:
$PUBLISHER_IP。(例:10.0.0.21) - Prometheus NMS IP:
$NMS_IP。(例:10.0.0.10)
使用するポート:
- node_exporter:
9100/tcp - cAdvisor:
8080/tcp
node_exporter(ホストメトリクス)をインストールします
オプションA:Ubuntuパッケージ(最速)
sudo apt update sudo apt install -y prometheus-node-exporter # Listens on :9100
オプション B: 公式バイナリ (新しい、製品によくある)
VER="1.9.1"
cd /tmp
curl -LO https://github.com/prometheus/node_exporter/releases/download/v${VER}/node_exporter-${VER}.linux-amd64.tar.gz
tar xzf node_exporter-${VER}.linux-amd64.tar.gz
sudo mv node_exporter-${VER}.linux-amd64/node_exporter /usr/local/bin/
sudo useradd --no-create-home --shell /usr/sbin/nologin nodeexp || true
sudo tee /etc/systemd/system/node_exporter.service >/dev/null <<'EOF'
[Unit]
Description=Prometheus Node Exporter (Netskope Publisher)
Wants=network-online.target
After=network-online.target
[Service]
User=nodeexp
Group=nodeexp
ExecStart=/usr/local/bin/node_exporter \
--web.listen-address=":9100" \
--collector.systemd \
--collector.processes
# hardening
ProtectSystem=strict
ProtectHome=true
NoNewPrivileges=true
PrivateTmp=true
PrivateDevices=true
CapabilityBoundingSet=
LockPersonality=true
MemoryDenyWriteExecute=true
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter
これら2つのコレクターフラグにより、追加の有用なホストメトリクス(systemd + プロセス)が有効になります。
(オプション)発行者のIPアドレスにバインドする
すべてのインターフェースで:9100無効にしたい場合は、次のようにバインドしてください。
- パッケージのインストール:
sudo systemctl edit prometheus-node-exporter
- Paste:
[Service]
ExecStart=
ExecStart=/usr/bin/prometheus-node-exporter --web.listen-address="$PUBLISHER_IP:9100" --collector.systemd --collector.processes - それから:
sudo systemctl daemon-reload
sudo systemctl restart prometheus-node-exporter - バイナリインストール: ユニット内の
--web.listen-address=":9100"
"${PUBLISHER_IP}:9100"に変更して再起動します。
cAdvisorをインストールしてください(Dockerのメトリクス用)。
cAdvisorは、コンテナごとのCPU、メモリ、ファイルシステム、およびネットワークI/Oを公開します。:8080 でリッスンし、 /metricsでメトリクスを提供します。
sudo docker run -d --name=cadvisor --restart=always -p 8080:8080 \ -v /:/rootfs:ro \ -v /var/run:/var/run:ro \ -v /sys:/sys:ro \ -v /var/lib/docker/:/var/lib/docker:ro \ gcr.io/cadvisor/cadvisor:latest
オプション:systemd(Docker)経由で管理する
sudo tee /etc/systemd/system/cadvisor-docker.service >/dev/null <<'EOF' [Unit] Description=cAdvisor (Docker) - Netskope Publisher After=docker.service Requires=docker.service [Service] Restart=always ExecStartPre=-/usr/bin/docker rm -f cadvisor ExecStart=/usr/bin/docker run --name=cadvisor -p 8080:8080 \ -v /:/rootfs:ro -v /var/run:/var/run:ro -v /sys:/sys:ro \ -v /var/lib/docker/:/var/lib/docker:ro \ gcr.io/cadvisor/cadvisor:latest ExecStop=/usr/bin/docker rm -f cadvisor [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable --now cadvisor-docker
ファイアウォールを保護する
Prometheus Network Monitoring System (NMS) のみが9100と8080をスクレイピングできるようにします。
sudo apt -y install ufw sudo ufw allow from $NMS_IP to any port 9100 proto tcp sudo ufw allow from $NMS_IP to any port 8080 proto tcp sudo ufw enable sudo ufw status
Netskope Publisherで検証する
# Host metrics curl -s http://$PUBLISHER_IP:9100/metrics | head # Container metrics curl -s http://$PUBLISHER_IP:8080/metrics | head
node_cpu_seconds_totalやcontainer_cpu_usage_seconds_totalのようなメトリック名が表示されるはずです。
サービスを確認する:
systemctl status prometheus-node-exporter || systemctl status node_exporter systemctl status cadvisor-docker
このパブリッシャーをスクレイピングするように Prometheus NMS を設定します。
NMS上で/etc/prometheus/prometheus.ymlを編集し、以下のジョブを追加します。
scrape_configs:
job_name: 'node'
static_configs:
targets: ['${PUBLISHER_IP}:9100'] # Netskope Publisher host metrics
job_name: 'cadvisor'
metrics_path: /metrics
static_configs:
targets: ['${PUBLISHER_IP}:8080'] # Netskope Publisher container metrics
NMSでPrometheusを再ロードする:
sudo systemctl reload prometheus || sudo systemctl restart prometheus
NMS でクイック チェックを行います (Prometheus ウェブ > Status > Targetsには両方のジョブが UP と表示されるはずです)。 Explore/Graphで、挑戦します:
node_cpu_seconds_total{instance="${PUBLISHER_IP}:9100"}
container_memory_usage_bytes{instance="${PUBLISHER_IP}:8080"}
検討すべきアラート(NMSで定義)
アラートルールを作成する対象:
- Node down:
up{job="node"} == 0 - High CPU (持続的)
- メモリ使用量が少ない
- Filesystem usage or inodes high
- Container restarts / OOM (cAdvisor経由)
- Network errors/discards ホストNIC上
ルールは/etc/prometheus/rules/*.ymlの下に配置し、NMS設定のrule_files:からロードしてください。
トラブルシューティングのヒント
- Prometheusでターゲットがダウンしました
NMSから:curl -s http://$PUBLISHER_IP:9100/metrics | head
curl -s http://$PUBLISHER_IP:8080/metrics | head - これらが失敗した場合は、UFW、サービスステータス、およびバインドアドレスを確認してください。
- cAdvisorにはコンテナが表示されません。Docker マウント セットを正しく使用していることを確認してください。
- cAdvisorによるCPU/IO比が高い
- スクレイピング間隔は最初は15秒に設定してください。より高い解像度が本当に必要な場合にのみ、間隔を短くしてください。
- 下流クエリでコンテナレベルのラベル爆発を有効にしないようにする

