kubernetes上でprometheusとgrafanaとsnmp-exporterを動かす part2

スポンサーリンク

はじめに

以前prometheusのexporterであるsnmp-exporterを動かしました。

今回は同じことをやるのですが設定方法を変えてみます。

前回の問題点

実は前回の設定ではsnmp-exporterの監視対象が増えるたびにprometheus.ymlに設定を追加しないといけません。prometheus.ymlの設定変更は影響が大きく、k8sのpod再作成などすると正常に起動するまで監視が止まります。

snmp-exporterだけが影響を受けるならまだしも、他のexporterを使っていた場合、そのexporterまで影響を受ける可能性があります。

そこで今回はsnmp監視の対象が増えてもsnmp-exporter.ymlにのみ設定が追加になるようにしたいと思います。しかもこちらの方法なら監視対象の増減時にはsnmp-exporterすらpodの再作成が不要で少し待つと自動的に設定が反映されます。

はじめからこっちだけ載せればよかったような・・・

まああっちはあっちで設定楽だから・・・

内容としてはfile_sd_configs使うだけです。

参考サイト

以前と同様です。

各種ファイルについて

grafanaは前回と同様です。

prometheus.ymlとsnmp-exporter.ymlの一部を変更しています。

変更したところだけ補足します。

prometheus.yml

●kind: Deployment

volumeMounts箇所にname: snmp-exporter-volumeを追加してます。

mountPathはどこでもいいのですが、他と同じような感じで/mnt/snmp-exporter/にしました。prometheus podの中のprometheusコンテナ内に/mnt/snmp-exporter/が出来てここにvolumes:で設定しているsnmp-targetというconfigMapが作成されます。

snmp-targetは後述するsnmp-exporter.ymlの中に出てきます。

snmp-targetというconfigMapでsnmp-target.ymlを作成するため、prometheus podの中のprometheusコンテナ内に/mnt/snmp-exporter/snmp-target.ymlが作成されることになります。

●kind: ConfigMap

前回はstatic_configsを使いましたが、今回はfile_sd_configsを使っています。file_sd_configsで先ほど出てきた/mnt/snmp-exporter/snmp-target.ymlを読み込んでいます。

snmp-exporter.yml

●kind: ConfigMapのname: snmp-targetについて
先ほども触れましたが、ここでsnmp-target.ymlを作成しています。
中身の設定は前回と同様です。

k8sへ適応(デプロイ)、動作確認などは前回とまったく変わり映えがないので省略します。

Githubについて

一式こちらに残しておきます。

最後に

ということでsnmp-exporter part2でした。

もっと機器がいっぱいあると見栄えもするんですけどね。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする