こんにちは。先日購入したIX2215のメトリクスをGrafanaで確認したくなったので、やってみました。
PrometheusとGrafanaについてはDockerコンテナで動かしています。
事前準備
PrometheusとGrafanaの構築は事前に行っておいてください。
手順
今回は以下の手順を行います。
- IXのSNMPを有効化
- snmp_exporterを利用してsnmpwalkの情報をPrometheusに投げる
- Prometheusの設定
- Grafanaダッシュボードの作成
IX2215のSNMPを有効にする
コンソールケーブルなどでIXに接続して、コンフィグモードから以下のようにコマンドを発行します。
|
|
一行目でsnmpとsnmptrapの両方を有効化しています。
二行目ではpublicという読み取り専用のコミュニティを設定しました。
IXで行う設定はこれだけです。
snmp_exporterを用意する
snmp_exporterはGitHubで公開されているため、手元にクローンします。
generatorというディレクトリに移動してmibをダウンロードします。
|
|
もしmakeで失敗する場合は、以下のパッケージをインストールします。
1 2
$ sudo apt update -y $ sudo apt install unzip build-essential libsnmp-dev
mibのダウンロードに失敗する場合は、makefileを編集していらないものはDLしないようにしてください。
snmp.ymlを生成する
先ほどのディレクトリのまま、以下のコマンドでsnmp.ymlを生成します。
|
|
実行するとディレクトリにsnmp.ymlが生成されていると思います。
Docker Composeでsnmp-exporterを構築する
以下のようなdocker-compose.ymlを用意します。
先ほど作成したsnmp.ymlをコンテナ内で利用できるようにマウントしておいてください。
今回の例ではdocker-compose.ymlと同じディレクトリに移動しておきました。
|
|
prometheus.ymlを編集する
prometheus.ymlに以下のようなjobを追加します。
IXのIPアドレスやexporterのIPアドレスを指定するところは環境に合わせて変更してください。
前項ではPrometheusとexporterを同一のdocker-compose.ymlで起動しました。そのため、exporterのIPアドレスにcomposeのサービス名を指定します。
それ以外の場合はexporterが起動しているマシンのIPアドレスを指定しましょう。
|
|
編集後はdocker compose up -d
などで起動しておいてください。
Grafanaのダッシュボードを編集する
Grafanaのdashboardsを検索したところ、NEC IXシリーズ向けに公開しているテンプレートはなさそうなので自分で作ります。
|
|
こんな感じでjobを指定すれば値がたくさん表示されるので、ほしい情報を抜き取って好きなダッシュボードを作成してください。
おわりに
NetMeisterなどで情報を確認するのも良いですが、やはり自分でカスタマイズできたほうが便利ですね。
なによりかっこいい😎