Grafana Cloud
Created: 2023/08/31
概要
PrometheusとかGrafanaとか自前で構築しようかと思ったけど途端にめんどくさくなったのでGrafana Cloudで楽できないか検討してみます。
参考
https://blog.geeko.jp/ftake/2866
Prometheus/Grafanaの参考
Ubuntu20.04でPrometheusを用いてリソースモニタリング(環境構築編) - Qiita
やったこと
Ubuntu (VM)
手順に従ってGrafana Agentのインストールと/etc/grafana-agent.yaml
の設定ファイル書き換えを行う。最後にサービスをリスタートして完了。
https://kokshi.grafana.net/connections/add-new-connection/linux-node
TrueNAS
Graphiteでデータを吐けるとのことなので、TrueNAS -> Graphite -> Grafana Cloudでイケないか試す。
訂正 TrueNAS -> graphite-expoter -> Grafana Agent -> Grafana Cloud
https://github.com/prometheus/graphite_exporter/
$ sudo docker pull prom/graphite-exporter
$ sudo docker run -d -p 9108:9108 -p 2003:9109 -p 2003:9109/udp -v ${PWD}/graphite_mapping.conf:/tmp/graphite_mapping.conf --restart=always --name graphite-exporter prom/graphite-exporter --graphite.mapping-config=/tmp/graphite_mapping.conf --graphite.mapping-strict-match
graphite_mapping.conf
は空でも動きます。
Grafana Agentの設定に次の設定を追加する。ターゲットに graphite-expoterのホスト名+ポートを書けばOKです。
metrics:
configs:
- name: integrations
remote_write:
- basic_auth:
password: any
username: any
url: https://prometheus-prod-37-prod-ap-southeast-1.grafana.net/api/prom/push
scrape_configs:
# Add here any snippet that belongs to the `metrics.configs.scrape_configs` section.
# For a correct indentation, paste snippets copied from Grafana Cloud at the beginning of the line.
- job_name: 'graphite'
static_configs:
- targets: ['localhost:9108']
もしかしたら変換したほうがやりやすいのかもしれません。
https://kokshi.grafana.net/a/cloud-home-app
多分タグ付けとかができるので頑張って書く。
下記のコマンドでテスト受信できる。
$ nc -lk 2003
graphite-expoter マッピングの設定
match
は基本Globで書けるが.cpu-*.
のように、ワイルドカードに.
以外が隣接する場合エラーになるので注意する。TrueNASはReports Configの"Graphite Separate Instances"を有効にするとマッピングが思い通りに行く。
prometheus/statsd_exporter - マッピングファイルの記法
# graphite_mapping.conf
mappings:
- match: servers.truenas_local.cpu.*.cpu.*
name: truenas_cpu
labels:
cpu: $1
mode: $2
- match: servers.truenas_local.disk.*.disk_time.*
name: "truenas_disk_time_${2}"
labels:
disk: $1
- match: "servers.truenas_local.interface.*.*.*"
name: "truenas_${2}_${3}"
labels:
interface: $1
- match: "servers.truenas_local.memory.memory.*"
name: "truenas_memory_${1}"
文献
https://www.truenas.com/docs/scale/scaleuireference/reportingscreensscale/
https://www.truenas.com/community/threads/truenas-scale-reporting-to-graphite-change-port.101052/
TrueNASはGraphiteサーバーへのアクセスポート(2003らしい)を変えられないみたい