ラズベリーパイのグラファナ監視
5559 ワード
あなたが私の最後の数つのポストから見たかもしれないように、私は私のラズベリーパイの上でかなりたくさん走っています.
私は現在ラズベリーパイ2 Bを使用していますが、大きなデバイスであるが、1 GBのRAMと900 MHzのCPUしか持っていません.それで、時々私は私がそれを実行しているすべてのDockerサービスでそれを過負荷するつもりであることを少し心配しています.
私は仕事でGrafanaを大いに使います、そして、私はそれが私のラズベリーパイをモニターするためにそれを使うのが良いと思いました.
任意のモニタリングでは、あなたが目を維持したいものを知ることが重要です.
私の場合は次のことに興味があります. CPU - CPUが100 %多くの時間で実行を終了するなら、私はそれを実行しているサービスを縮小する必要があるかもしれません メモリ- 1 GBのメモリだけで、私はそれをどれだけ動かすかについて注意を払う必要があります. ハードディスクスペース-私は私のパイで32ギガバイトのSDカードを持っているが、私は1つ前にいっぱいになっているすべてのものは反応しない. コンテナデータ-どのコンテナが高いCPUとメモリ使用を引き起こしているか知りたいです.
Grafanaを使って監視するサービスはおそらくいくつかあります.しかし、私は以下を使います.グラファナ-明らかに! プロメテウス-時系列データを収集するため. CAdvisor -コンテナによって使用されるリソースを監視するためにGoogleからのコンテナモニター. ハードウェアとOSメトリックのためのノード輸出者-プロメテウス輸出者 Docker -明らかに Traefik -私は、あなたが私の前のポスト(Traefik vs Nginx for Reverse Proxy with Docker on a Raspberry Piに続くことができる)をセットアップする逆のプロキシを持っていないならば、私は私の逆プロキシとしてこれを使用します.
あなたが必要とするDockerの作成ファイルにまっすぐに行き、セットアップに変更する必要があるものを説明します.
これは私が使っているprometheus設定ファイルです.
これは私のGrafanaダッシュボードのようです.あなたが類似した何かを望むならば、あなたはcopy my dashboard jsonでありえます.
他のメトリックはnode-exporterとcAdvisorから入手できます.何か役に立つものを見つけるならば、コメントで知らせてください.
私は現在ラズベリーパイ2 Bを使用していますが、大きなデバイスであるが、1 GBのRAMと900 MHzのCPUしか持っていません.それで、時々私は私がそれを実行しているすべてのDockerサービスでそれを過負荷するつもりであることを少し心配しています.
私は仕事でGrafanaを大いに使います、そして、私はそれが私のラズベリーパイをモニターするためにそれを使うのが良いと思いました.
モニタリング目標
任意のモニタリングでは、あなたが目を維持したいものを知ることが重要です.
私の場合は次のことに興味があります.
何が必要
Grafanaを使って監視するサービスはおそらくいくつかあります.しかし、私は以下を使います.
ドッキング構成
あなたが必要とするDockerの作成ファイルにまっすぐに行き、セットアップに変更する必要があるものを説明します.
version: '3.4'
services:
prometheus:
image: prom/prometheus:latest
container_name: monitoring_prometheus
restart: unless-stopped
volumes:
- ./data/prometheus/config:/etc/prometheus/
- ./data/prometheus/data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
expose:
- 9090
links:
- cadvisor:cadvisor
- node-exporter:node-exporter
networks:
- pi
node-exporter:
image: prom/node-exporter:latest
container_name: monitoring_node_exporter
restart: unless-stopped
expose:
- 9100
networks:
- pi
cadvisor:
image: braingamer/cadvisor-arm:latest
container_name: monitoring_cadvisor
privileged: true
restart: unless-stopped
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
devices:
- /dev/kmsg
expose:
- 8080
networks:
- pi
grafana:
image: grafana/grafana:latest
container_name: monitoring_grafana
restart: unless-stopped
links:
- prometheus:prometheus
volumes:
- ./data/grafana:/var/lib/grafana
environment:
- GF_USERS_ALLOW_SIGN_UP=false
- GF_SERVER_DOMAIN=yourdomain.com
- GF_SERVER_ROOT_URL=https://yourdomain.com/grafana/
- GF_SERVER_SERVE_FROM_SUB_PATH=true
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.grafana.rule=PathPrefix(`/grafana{regex:$$|/.*}`)'
- 'traefik.http.services.grafana.loadbalancer.server.port=3000'
- 'traefik.frontend.headers.customRequestHeaders=Authorization:-'
networks:
- pi
networks:
pi:
external: true
次の環境変数を変更して、raspberry piのドメインと一致させる必要があります.ローカルで走っているなら、localhost
とhttp://localhost/grafana
を使うことができます.- GF_SERVER_DOMAIN=yourdomain.com
- GF_SERVER_ROOT_URL=https://yourdomain.com/grafana/
あなたは、私がCAdapsorのためにbraingamer/cadvisor-arm:latest
を使っているのに気付きます.これは公式GoogleイメージがARMをサポートしていないため、推奨されないマークされます.もちろん、あなたがしたい場合は、独自のDocker画像を構築することができます.これは私が使っているprometheus設定ファイルです.
# my global config
global:
scrape_interval: 120s # By default, scrape targets every 15 seconds.
evaluation_interval: 120s # By default, scrape targets every 15 seconds.
# scrape_timeout is set to the global default (10s).
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: 'my-project'
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
rule_files:
# - "alert.rules"
# - "first.rules"
# - "second.rules"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 120s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090', 'cadvisor:8080', 'node-exporter:9100']
ダッシュボードセット
これは私のGrafanaダッシュボードのようです.あなたが類似した何かを望むならば、あなたはcopy my dashboard jsonでありえます.
他のメトリックはnode-exporterとcAdvisorから入手できます.何か役に立つものを見つけるならば、コメントで知らせてください.
Reference
この問題について(ラズベリーパイのグラファナ監視), 我々は、より多くの情報をここで見つけました https://dev.to/alexhyettdev/grafana-monitoring-on-a-raspberry-pi-42ghテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol