prometheusのsnmp.ymlを作ってくれるgeneratorを動かす

スポンサーリンク

はじめに

前回書いたとおり、prometheusを使ってネットワーク機器を監視するときにsnmp_exporterを使います。が、動かすにはsnmp.ymlという設定ファイルが必要になります。

このsnmp.ymlを自動で作成してくれるのが今回のgeneratorというものです。

このgeneratorはgo言語で動くのですが、go言語のインストールは大変面倒です(個人の感想です)ありがたいことにdockerで動かす方法も公式に載っており、dockerだとgo言語をインストールしなくて済むのでとても楽です(個人の感想です)

この投稿はgo言語のインストールにびっくりするほどハマった男がdockerだったら簡単だったことに感動して勢いで書いたものです。

参考サイト

インストールと動かし方まで

generater.ymlの作り方はこちらのサイト様がわかりやすかったです。

使用した環境について

各versionはこちら

Ubuntu 16.04.4 LTS

docker:17.03.2-ce

※generator動かすだけならprometheusもsnmp exporterもいりません。

generatorの動かし方

Dockerfileを用意します

まず適当なディレクトリに「Dockerfile」を用意します。中身はこちらのまんまです。

ビルドします

docker build -t snmp-generator .

※最後のドットを忘れずに。

ビルドしたらdocker imagesで確認します。

ビルド時のログは長いので割愛しますが、うまくいったあとのdocker imagesはこンな感じでした。

MIBファイルを用意します

今回はsnmp exporter公式の一番下にある「Where to get MIBs」のURLからciscoのMIBを取得しました。

wget ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz

解凍して作成されたMIBファイルを$HOME/.snmp/mibsに保存します。

※MIBファイルを置くだけなのでapt-get install snmp snmpd snmp-mibs-downloaderとか不要です。

generator.ymlの作成

実際のgenerater.ymlの書き方などはこちら様が大変わかりやすく書かれており、
この通りにやればできる(できた)ので割愛。

実際前回使用したgenerater.ymlはこんな感じでした。

コンテナを起動します

docker run -ti \
-v $HOME/.snmp/mibs:/root/.snmp/mibs \
-v $PWD/generator.yml:/opt/generator.yml:ro \
-v $PWD/out/:/opt/ \
snmp-generator generate

長いコマンドですが1つのコマンドです。これを一気に流し込みます。

これで~/test_generator/outにsnmp.ymlが作成されます。

出来たsnmp.ymlはこちら。実際前回で使ったのもこちらです。

このsnmp.ymlを手書きで書くのは大変ですね・・・

最後に

結局公式サイトに書いてある通りにやってるだけなんですよね・・・

それでも私みたいにgo言語を触ったことがない人でも簡単に使えるのでぜひ使ってみてください。

スポンサーリンク

シェアする

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

フォローする