amegonの雑なブログ

日常的なものから技術的なものまでメモの雑記

SnmpB 使い方

目的

SNMP 機器の監視を行うための項目を作成するにあたり、MIB ファイルを確認してあーだこーだとやっていました。
しかし、MIB ファイルというのは製品によって固有の MIB (Private MIB)が提供されていたり、そもそも数が多い上にファイルとファイルがリンクしていて、この情報を取得するためにはこのMIBファイルが必要で、、、なんてことをテキストベースのファイルだけでやっていくのは非常に面倒です。
そこで、もっと視覚的に理解を助けてくれるツールがあったらなー、というところで出会ったのがこの SnmpB というツールです。
一部使い方がわかっていない機能もありますが、自分自身の使用メモとして残しておきたい思いで記載しています。
他の方の役にも立てば幸いです。

SnmpB とは

SnmpB はメインの機能を一言でいうと MIBブラウザです。
SNMP(Simple Network Management Protocol)を用いて、対象となる機器の情報を MIB(Management Information Base)を元に取得、設定することができます。

個人的に重宝するのが、MIB ファイルがあれば対象の機器がなくとも MIB のツリーを表示することができるところです。
対象機器によっては複数の Private MIB が提供されていて、構成を把握するのに四苦八苦しますが、SnmpB の機能を使用して MIB ファイルからツリーを作成すれば MIB の構造を理解しやすくなります。(と思っている。)

後述しますが、MIB ブラウザの基本的な機能だけではなく、SNMP Trap の受信など多くの機能を有しており、対象機器の SNMP 動作確認だけではなく監視ツールとしても利用できる可能性があると思います。

できること

基本的な機能と応用的な機能(個人的見解)に分けて、以下のことが実現されています。

基本的な機能

  • MIB の定義内容の確認
    • MIB をツリーで描画し、MIB 内に定義されている内容を GUI で確認できる
  • MIB ブラウザ機能
    • 特定の機器に対して、指定した MIB の情報を SNMP を使用して情報取得することができる
    • MIB の指定は前述の MIB ツリーで行う
  • MIB ファイルの追加
    • 新たに取得した MIB ファイルを SnmpB に追加することで、ツリーの描画に加えることができる

応用的な機能

  • MIB の編集
  • ディスカバリ
  • SNMP Trap の受信
  • グラフ
  • ログ

今回紹介するバージョンと使用環境

SnmpB とそれを動作させる環境は以下で試しました。

  • SnmpB
    • Version 0.8
  • 使用環境
    • PC
    • ネットワーク機器

ダウンロードとインストール

ダウンロードサイト

以下の URL からダウンロードしてください。
執筆時点での最新版は 0.8 でした。

https://sourceforge.net/projects/snmpb/

※ サイトの Files を確認すると、0.9 というフォルダはあるのですが、中身がなく、、、今後できるのかな?

インストール

ダウンロードした snmpb-0.8.exe をダブルクリックなりしてインストールしてください。
インストール時に特に設定変更する必要はないと思いますので、サクサクっとインストールしてみましょう。
今回はすべてデフォルト設定でインストールしました。

ちなみに、アンインストールはメニューの中にありました。
(設定のアプリ内には SnmpB が表示されておらず、アンインストールはメニューからのみ実行できるようです。)

ざっくりやってみる

対象のネットワーク機器を追加して SNMP で情報取得

以下順に操作していきます。

  • Options の Manager Agent Profiles... を選択
  • 表示されたダイアログの左側の四角内で 右クリック → New agent profile を選択
  • 左側の四角内に newagent が表示され、右側のパラメータが入力された状態が表示される
  • 必要なパラメータを入力
    • ここでは以下のパラメータを入力してOKを押す。
      • Name:AR260SV2
      • Agent Address/Name:192.168.1.254
  • メインダイアログに戻り、Remote SNMP Agent に AR260SV2 が表示された状態になる
  • MIB Tree> MIB Tree 上で 右クリック → Walk を選択する
  • ダイアログ右側の Query Results に Walk の実行結果が表示される

今回のケースでは、SNMP で情報が取得することができた。

対象のネットワーク機器の Private MIB を登録

次に、AR260SV2 の Private MIB を登録してみる。
登録した結果が反映されていることを確認するために、まず現在の状態で Walk を実施し、Private MIB を登録したのち再度 Walk を実施して結果の違いを確認する。

事前確認

  • Remote SNMP Agent に AR260SV2 が選択されている状態で MIB Tree を展開し、system を 右クリック → Walk を実行する
    • MIB Tree → iso → org → dod → internet → mgmt → mib-2 → system
  • Query Results に表示された内容で、2. sysObjectID.0enterprise.207.1.23.1.1 と表示されていることを確認する

Private MIB の登録

  • AR260SV2 の Private MIB である ateatos.mib を C:\work\snmp\add_mib というフォルダを作成して保存しておく。
    • Private MIB を保存するフォルダの場所は任意
  • Options → Preferences を選択する
  • 左側四角内の Modules を選択した状態で右下の Add ボタンを押し、type new path here と表示されたところに C:\work\snmp\add_mib を入力してOKボタンを押す。
  • メイン画面で Modules を選択し、Available MIB modules に ateatos.mib が追加されていることを確認する
  • ateatos.mib を選択した状態で、画面中央の -> を選択し、Load MIB modules に EATOS-SMI が追加されたことを確認する
    • EATOS-SMI は ateatos.mib に定義されている モジュール名(DEFINITIONS) である。MIB ファイル名が表示されるわけではないことに注意。
    • このとき RFC-1215 も Loaded MIB modules に移動する。関連するモジュールがある場合には一緒に実施してくれるようである。

結果確認

  • Tree に戻って system を 右クリック → Walk を実行する
  • Query Results に表示された内容で、2. sysObjectID.0ar260sv2 と表示されていることを確認する
    • ここで表示された ar260sv2 は、ateatos.mib に定義されている製品名であり、Private MIB を登録したことで表示が変わったことがこれで確認できた。
    • ateatos.mib 内の記載
        --
        -- sysObjectID of AR260 Series
        --
           ar260sv2      OBJECT IDENTIFIER ::= { ar260series 1 }
      

ちなみに

Private MIB を追加したことで、MIB Tree に以下のツリーが追加で描画されている。

追加する Private MIB によって、Tree のどこに情報が追加されるのかは変わるので、確認場所は注意すること。

各部の名称と役割

全部の機能を把握しているわけではないので、個人的に有用なところから紹介していきます。
また、機能的にも ??? のところがあるかもしれませんが、ご容赦ください。

メニュー

File

このメニューは、SnmpB の Editor 機能で MIB ファイルの作成、編集を行う際に使用する。
そのため、他の機能の使用時にはメニューが有効にならない。

  • New MIB
    • 新しい MIB を作成する。編集していたファイルの情報はクリアされる。
  • Open MIB...
    • 既存の MIB ファイルを開き、その内容を表示する。
  • Save MIB
    • 編集した MIB を上書き保存する。
  • Save MIB As...
    • 編集した MIB をファイル名を変えて保存する。

Tools

このメニューは、SnmpB の Tree 機能と Editor 機能で使用するメニューがある。

  • GoTo Line...
    • 指定した行数にカーソルを移動する
  • Find...
    • 指定した文字が含まれる(表示される)箇所に移動する
  • Replace...
    • 文字の置換を行う
  • Find next
    • Find で指定した文字が次に一致する箇所に移動する
  • Multiple Varbinds...
    • Tree で MIB のノードを選択した際に使用可能。
    • (使い方がわかっていない)
  • Stop Walk
    • 開始した walk の停止 (たぶん)
  • Verify MIB syntax
    • Editor 機能で編集している MIB の構造を検証する。結果は Verification log に表示される。
  • Extract MIB from RFC...
    • (使い方がわかっていない)

Options

  • Manage Agent Profiles...
    • SnmpB がアクセスする対象の設定
  • Manage SNMPv3 USM Profiles...
    • SNMPv3 の設定をす場所。ここで設定しておいた Profile を Manage Agent Profiles 内の Agent に設定して使用する。
  • Preferences...
    • Tree の表示形式や MIB ファイルの保存場所パスの設定、SNMP Trap の受信ポート番号の設定などができる。

Help

  • About SnmpB
    • バージョン情報等の AboutBox

メイン画面

主な機能を以下に記載します。

  • Tree
    • 対象となる機器の設定
    • MIB Tree の表示
    • MIB Tree で選択した Node の情報表示
    • 取得した結果の表示
  • Modules
    • SnmpB に登録する MIB モジュールの設定
  • Editor
    • MIB の作成、編集に使用
    • MIB の構文チェック結果を表示
  • Discovery
    • 指定した情報でネットワーク内を探索して情報が取得できた機器の情報を表示する
  • Traps
    • 機器から送信された SNMP Trap の情報を表示する
  • Graphs
    • 指定した MIB OID の取得値をグラフで表示する
  • Log
    • (おそらく)SnmpBのシステムに関するログを表示する。

参考

最後に

Martin Jolicoeur へ素敵なツールを提供してくれたことと、このツールの紹介に許可をくれたことに心から感謝します。

Dear Martin Jolicoeur,
Thank you very much for providing a best tool and for allowing me to introduce this tool.

Zabbix で発生したトリガー情報を Slack に通知する

目次

  • やりたいこと
  • 参考にした設定
  • 設定追加、変更したところ
    • Zabbixの設定
    • Slackの設定
  • 通知テスト
  • できあがり

今回やりたいこと

Zabbixを使用して監視した結果をSlackに通知したい。
そうすれば外でも何があったか把握できる。
メールでもいいかなとも思ったが、せっかくだから Slack を使ってみる、といった感じ。

参考にした情報

https://qiita.com/Higemal/items/f0bc18bf66e54628b22a
↑ とても参考になりました。ありがとうございました ペコリ

設定追加、変更したところ

私の環境では、参考にさせていただいた手順だけでは期待した動作ができず、少し調べて設定を追加、変更しました。

Zabbixの設定

メディアタイプでテストを実行したところエラー発生。
エラーの内容は SyntaxError: unterminated statement (line 116) と表示されている。

ググってみたところ、このエラー自体は既知のものらしく、以下の手順で修正できた。

  • Zabbix の 管理 → メディアタイプ で Slack を選択
  • 画面下方の スクリプト のボックスを選択
  • Java Script の編集画面になるので、以下修正 ※ 計2か所
    • 修正前文字:Can't
    • 修正後文字:Can\'t
    • ZabbixのメディアタイプでJS編集画面
  • 適用 を押して Java Script の編集終了
  • 更新 を押して メディアタイプ Slack の編集終了

これでいけると思いテストを再実行。
今度は違うエラーが表示された。
次項へ続く。

Slackの設定

次に表示されたエラーは "missing_scope"。
調べたところ Slack 側で作成した App に権限が不足しているとのこと。
以下の手順で設定変更実施。

  • https://api.slack.com/apps にアクセス
  • 先だって作成したアプリを選択
  • 画面左の Features → OAuth & Permissions を選択
  • Scopes 内で以下の設定がなければ追加する (※ これがあればできた、という程度で精査はしていません。。。)
    • channels:read
    • chat:write
    • files:read
    • files:write
  • Scopes 内の設定を変更すると、ブラウザの画面上部に You’ve changed the permission scopes your app uses. Please reinstall your app for these changes to take effect (and if your app is listed in the Slack App Directory, you’ll need to resubmit it as well). と表示される。
    • reinstall your app がリンクになっているので選択する
  • 設定完了

これでいけると思いテストを再実行する。

通知テスト

メディアタイプ → Slack でテスト実行。
今度は成功。Slackにもテスト情が通知された。

できあがり

Zabbix から Slack に通知を上げることができた。
これで監視データから通知ができる仕組みが準備できたので、必要 or 有用な通知を上げるようにしてみる。

Zabbix のデータが記録されるテーブルのカラムを確認して保存されるデータ型をチェック

確認環境

Zabbix

Zabbix Server 5.0.17

[root@zbx-svr-5 ~]# zabbix_server -V
zabbix_server (Zabbix) 5.0.17
Revision 0a4ac3dabc 18 October 2021, compilation time: Oct 18 2021 13:38:05

Copyright (C) 2021 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.

This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).

Compiled with OpenSSL 1.0.1e-fips 11 Feb 2013
Running with OpenSSL 1.0.1e-fips 11 Feb 2013
[root@zbx-svr-5 ~]#

DB

MariaDB 10.1.48

[root@zbx-svr-5 ~]# mysql -V
mysql  Ver 15.1 Distrib 10.1.48-MariaDB, for Linux (x86_64) using readline 5.1
[root@zbx-svr-5 ~]#

テーブルごとのカラム確認

history

  • カラムに設定されている value のデータ型:double (浮動小数点型)
  • このテーブルの保存される Zabbix のアイテムのデータ型:数値(浮動小数)
MariaDB [zabbix]> show columns from history;
+--------+---------------------+------+-----+---------+-------+
| Field  | Type                | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| itemid | bigint(20) unsigned | NO   | MUL | NULL    |       |
| clock  | int(11)             | NO   |     | 0       |       |
| value  | double              | NO   |     | 0       |       |
| ns     | int(11)             | NO   |     | 0       |       |
+--------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

MariaDB [zabbix]>

他のテーブルに history_uint とか history_str とかあるので、history浮動小数の値を扱っているのは個人的に以外だった。
Zabbix を実装したとき、はじめに扱ったデータが浮動小数のデータだったのかも。(個人の意見です。)

history_uint

  • カラムに設定されている value のデータ型: bigint(20) unsigned (符号なし整数 → 整数だけで 8 バイト(=64ビット)使用可能)
  • このテーブルの保存される Zabbix のアイテムのデータ型:数値(整数)
MariaDB [zabbix]> show columns from history_uint;
+--------+---------------------+------+-----+---------+-------+
| Field  | Type                | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| itemid | bigint(20) unsigned | NO   | MUL | NULL    |       |
| clock  | int(11)             | NO   |     | 0       |       |
| value  | bigint(20) unsigned | NO   |     | 0       |       |
| ns     | int(11)             | NO   |     | 0       |       |
+--------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

MariaDB [zabbix]>

符号なしなので 0 ~ 18446744073709551615 まで使える。大きい。

history_str

  • カラムに設定されている value のデータ型: varchar(255) (最大 255 バイトを格納できる可変長文字列)
  • このテーブルの保存される Zabbix のアイテムのデータ型:文字列
MariaDB [zabbix]> show columns from history_str;
+--------+---------------------+------+-----+---------+-------+
| Field  | Type                | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| itemid | bigint(20) unsigned | NO   | MUL | NULL    |       |
| clock  | int(11)             | NO   |     | 0       |       |
| value  | varchar(255)        | NO   |     |         |       |
| ns     | int(11)             | NO   |     | 0       |       |
+--------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

MariaDB [zabbix]>

余談ですが、varchar(255)varchar(256) のどちらにするかで論争があるとかないとか。

history_text

  • カラムに設定されている value のデータ型: text (16ビット → 65535文字)
  • このテーブルの保存される Zabbix のアイテムのデータ型:テキスト
MariaDB [zabbix]> show columns from history_text;
+--------+---------------------+------+-----+---------+-------+
| Field  | Type                | Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| itemid | bigint(20) unsigned | NO   | MUL | NULL    |       |
| clock  | int(11)             | NO   |     | 0       |       |
| value  | text                | NO   |     | NULL    |       |
| ns     | int(11)             | NO   |     | 0       |       |
+--------+---------------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

MariaDB [zabbix]>

文字列よりも大きい文字を扱う際に使用。
テーブルの内容を確認したところ、私の環境では Template Module Linux generic by Zabbix agentSoftware installed というアイテムのデータだけが書き込まれていた。

history_log

  • カラムに設定されている value のデータ型: text (16ビット → 65535文字)
  • このテーブルの保存される Zabbix のアイテムのデータ型:ログ
MariaDB [zabbix]> show columns from history_log;
+------------+---------------------+------+-----+---------+-------+
| Field      | Type                | Null | Key | Default | Extra |
+------------+---------------------+------+-----+---------+-------+
| itemid     | bigint(20) unsigned | NO   | MUL | NULL    |       |
| clock      | int(11)             | NO   |     | 0       |       |
| timestamp  | int(11)             | NO   |     | 0       |       |
| source     | varchar(64)         | NO   |     |         |       |
| severity   | int(11)             | NO   |     | 0       |       |
| value      | text                | NO   |     | NULL    |       |
| logeventid | int(11)             | NO   |     | 0       |       |
| ns         | int(11)             | NO   |     | 0       |       |
+------------+---------------------+------+-----+---------+-------+
8 rows in set (0.00 sec)

MariaDB [zabbix]>

value は text だが、timestamp や source、severity などログの保存に必要な情報を同時に記録できるようになっている。
ログはどれだけの文字数書かれているかわからないから、text 型になっているのかな。

  • カラムに設定されている value のデータ型:double (浮動小数点型)
  • このテーブルの保存される Zabbix のアイテムのデータ型:数値(浮動小数)
MariaDB [zabbix]> show columns from trends;
+-----------+---------------------+------+-----+---------+-------+
| Field     | Type                | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+-------+
| itemid    | bigint(20) unsigned | NO   | PRI | NULL    |       |
| clock     | int(11)             | NO   | PRI | 0       |       |
| num       | int(11)             | NO   |     | 0       |       |
| value_min | double              | NO   |     | 0       |       |
| value_avg | double              | NO   |     | 0       |       |
| value_max | double              | NO   |     | 0       |       |
+-----------+---------------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

MariaDB [zabbix]>

history テーブルに記録されたデータのトレンド用テーブル。
最大値、最小値、平均値にまとめる。

以下、Zabbix の公式より。

ヒストリが各収集値を保存するのに対して、トレンドでは1時間に1回、平均化された情報を保つため、リソースを節約することができます。

収集したデータを1時間分の最大値、最小値、平均値としてトレンド用のテーブルに記録し、ヒストリのテーブルからはデータを削除する、と理解。

  • カラムに設定されている value のデータ型: bigint(20) unsigned (符号なし整数 → 整数だけで 8 バイト(=64ビット)使用可能)
  • このテーブルの保存される Zabbix のアイテムのデータ型:数値(整数)
MariaDB [zabbix]> show columns from trends_uint;
+-----------+---------------------+------+-----+---------+-------+
| Field     | Type                | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+-------+
| itemid    | bigint(20) unsigned | NO   | PRI | NULL    |       |
| clock     | int(11)             | NO   | PRI | 0       |       |
| num       | int(11)             | NO   |     | 0       |       |
| value_min | bigint(20) unsigned | NO   |     | 0       |       |
| value_avg | bigint(20) unsigned | NO   |     | 0       |       |
| value_max | bigint(20) unsigned | NO   |     | 0       |       |
+-----------+---------------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

MariaDB [zabbix]>

history_int テーブルに記録されたデータのトレンド用テーブル。
最大値、最小値、平均値にまとめる。
Zabbix のデータのまとめ方は trends テーブルに記載した内容と同じと理解。

MySQL、MariaDB でよく使うコマンドメモ

パーティション

パーティション化したテーブルの情報を見たい

  • コマンド
SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, PARTITION_ORDINAL_POSITION, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME =  '<テーブル名>';
  • 実行例
MariaDB [zabbix]> SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, PARTITION_ORDINAL_POSITION, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME =  'history';
+--------------+------------+----------------+----------------------------+------------+
| TABLE_SCHEMA | TABLE_NAME | PARTITION_NAME | PARTITION_ORDINAL_POSITION | TABLE_ROWS |
+--------------+------------+----------------+----------------------------+------------+
| zabbix       | history    | NULL           |                       NULL |    2029405 |
+--------------+------------+----------------+----------------------------+------------+
1 row in set (0.00 sec)

MariaDB [zabbix]>

↑ パーティショニングしていないテーブルだった。。。
手元にパーティションしたテーブル情報がなかったので、どこかで更新します。

断片化(フラグメント)系

断片化されているサイズ確認

  • コマンド
select table_schema, table_name, data_free, table_rows from information_schema.tables where table_name='<テーブル名>';
  • 実行例
MariaDB [zabbix]> select table_schema, table_name, data_free, table_rows from information_schema.tables where table_name='history';
+--------------+------------+-----------+------------+
| table_schema | table_name | data_free | table_rows |
+--------------+------------+-----------+------------+
| zabbix       | history    |   4194304 |    2036794 |
+--------------+------------+-----------+------------+
1 row in set (0.00 sec)

MariaDB [zabbix]>

上記のコマンド結果の data_free に表示されている数値が断片化しているサイズを示す。
断片化のサイズが大きいと、使用している実サイズの中に利用できていない無駄な領域がたくさんあることを示している。

断片化を解消したい

  • コマンド
alter table <テーブル名> engine innodb, LOCK=NONE;

LOCK=NONEDDL中にロックせずに並列DMLを可能にすることを指定する。
このオプションをつけてコマンド実行し、LOCK しないことができない場合(LOCKしないといけない場合)にはエラーになる(らしい)。

  • 実行例
MariaDB [zabbix]> select table_schema, table_name, data_free, table_rows from information_schema.tables where table_name='history';
+--------------+------------+-----------+------------+
| table_schema | table_name | data_free | table_rows |
+--------------+------------+-----------+------------+
| zabbix       | history    |   4194304 |    2028627 |
+--------------+------------+-----------+------------+
1 row in set (0.00 sec)

MariaDB [zabbix]>
MariaDB [zabbix]> alter table history engine innodb, LOCK=NONE;
Query OK, 0 rows affected (2 min 25.59 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [zabbix]>
MariaDB [zabbix]>
MariaDB [zabbix]> select table_schema, table_name, data_free, table_rows from information_schema.tables where table_name='history';
+--------------+------------+-----------+------------+
| table_schema | table_name | data_free | table_rows |
+--------------+------------+-----------+------------+
| zabbix       | history    |         0 |    2029270 |
+--------------+------------+-----------+------------+
1 row in set (0.00 sec)

MariaDB [zabbix]>

用語

InnoDB

いくつかの情報から、以下のことがわかった。

  • InnoDB は、高い信頼性と高いパフォーマンスとのバランスをとる汎用のストレージエンジン
  • MySQL5.5からデフォルトのストレージエンジンとなっており、MyISAM と違いトランザクションが利用可能
  • MySQLMariaDBのためのデータベースエンジン

MySQLMariaDB を利用する上では標準のエンジンと理解。

DDL (Data Definition Language)

DDL はデータ定義言語と呼ばれ、データベース内の表、ビューやインデックスなどの各種オブジェクトの作成や変更をするためのSQL文のこと。

snmposterを使ってみる

snmposterとは

特徴として以下の点が挙げられる。

  • オープンソースで開発されているSNMPエージェントのシミュレータ
  • python-pip上で稼働する
  • 1ホスト上での実行で複数ホストのエージェントシミュレータを動作させることができる
    • 1ホスト1エージェントではなく、1ホスト多エージェントができるので、リソースコストが少なくて済む
  • net-snmpのsnmpwalkコマンドの取得値を使用してシミュレートできる
    • しかし、シミュレートはsnmpwalkコマンドの取得値を静的に返すのみなので、値の変化は得られない

静的なデータしか返せなくても、どのMIBをサポートしているのかはわかるので、それだけでも十分利用できるツールだと思う。

動作概要

ざっと以下の感じ。

  • snmpwalk の結果情報を準備
    • SNMP をサポートしている機器に対して snmpwalk を実行して結果をファイルにしておく(or 完全手動でファイルを作成してもいい??)
  • snmposter を起動
  • SNMPクライアントから仮想 IP にアクセス (snmp-get or snmpwalk)
    • 事前に準備した snpwalk の結果情報が取得できる
      • 逆に言うと、準備していない情報は取得できない

snmposterのインストール

CentOS7 にインストールしてみる。

公式の手順に沿ってインストール実施。 (https://pypi.org/project/snmposter/)

Python development tools のインストール

yum -y install python-devel gcc

実行ログ

[root@test-01 ~]# yum -y install python-devel gcc
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
base                                                                                                | 3.6 kB  00:00:00
docker-ce-stable                                                                                    | 3.5 kB  00:00:00
extras                                                                                              | 2.9 kB  00:00:00
updates                                                                                             | 2.9 kB  00:00:00
(1/5): docker-ce-stable/x86_64/updateinfo                                                           |   55 B  00:00:05
(2/5): extras/7/x86_64/primary_db                                                                   | 222 kB  00:00:05
(3/5): docker-ce-stable/x86_64/primary_db                                                           |  52 kB  00:00:05
(4/5): updates/7/x86_64/primary_db                                                                  | 4.7 MB  00:00:06
(5/5): base/7/x86_64/primary_db                                                                     | 6.1 MB  00:00:07
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ gcc.x86_64 0:4.8.5-44.el7 を インストール
--> 依存性の処理をしています: libgomp = 4.8.5-44.el7 のパッケージ: gcc-4.8.5-44.el7.x86_64
--> 依存性の処理をしています: cpp = 4.8.5-44.el7 のパッケージ: gcc-4.8.5-44.el7.x86_64
--> 依存性の処理をしています: libgcc >= 4.8.5-44.el7 のパッケージ: gcc-4.8.5-44.el7.x86_64
--> 依存性の処理をしています: glibc-devel >= 2.2.90-12 のパッケージ: gcc-4.8.5-44.el7.x86_64
--> 依存性の処理をしています: libmpfr.so.4()(64bit) のパッケージ: gcc-4.8.5-44.el7.x86_64
--> 依存性の処理をしています: libmpc.so.3()(64bit) のパッケージ: gcc-4.8.5-44.el7.x86_64
---> パッケージ python-devel.x86_64 0:2.7.5-90.el7 を インストール
--> 依存性の処理をしています: python(x86-64) = 2.7.5-90.el7 のパッケージ: python-devel-2.7.5-90.el7.x86_64
--> 依存性の処理をしています: python2-rpm-macros > 3-30 のパッケージ: python-devel-2.7.5-90.el7.x86_64
--> 依存性の処理をしています: python-rpm-macros > 3-30 のパッケージ: python-devel-2.7.5-90.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ cpp.x86_64 0:4.8.5-44.el7 を インストール
---> パッケージ glibc-devel.x86_64 0:2.17-317.el7 を インストール
--> 依存性の処理をしています: glibc-headers = 2.17-317.el7 のパッケージ: glibc-devel-2.17-317.el7.x86_64
--> 依存性の処理をしています: glibc = 2.17-317.el7 のパッケージ: glibc-devel-2.17-317.el7.x86_64
--> 依存性の処理をしています: glibc-headers のパッケージ: glibc-devel-2.17-317.el7.x86_64
---> パッケージ libgcc.x86_64 0:4.8.5-28.el7 を 更新
---> パッケージ libgcc.x86_64 0:4.8.5-44.el7 を アップデート
---> パッケージ libgomp.x86_64 0:4.8.5-28.el7 を 更新
---> パッケージ libgomp.x86_64 0:4.8.5-44.el7 を アップデート
---> パッケージ libmpc.x86_64 0:1.0.1-3.el7 を インストール
---> パッケージ mpfr.x86_64 0:3.1.1-4.el7 を インストール
---> パッケージ python.x86_64 0:2.7.5-68.el7 を 更新
---> パッケージ python.x86_64 0:2.7.5-90.el7 を アップデート
--> 依存性の処理をしています: python-libs(x86-64) = 2.7.5-90.el7 のパッケージ: python-2.7.5-90.el7.x86_64
---> パッケージ python-rpm-macros.noarch 0:3-34.el7 を インストール
--> 依存性の処理をしています: python-srpm-macros のパッケージ: python-rpm-macros-3-34.el7.noarch
---> パッケージ python2-rpm-macros.noarch 0:3-34.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ glibc.x86_64 0:2.17-222.el7 を 更新
--> 依存性の処理をしています: glibc = 2.17-222.el7 のパッケージ: glibc-common-2.17-222.el7.x86_64
---> パッケージ glibc.x86_64 0:2.17-317.el7 を アップデート
---> パッケージ glibc-headers.x86_64 0:2.17-317.el7 を インストール
--> 依存性の処理をしています: kernel-headers >= 2.2.1 のパッケージ: glibc-headers-2.17-317.el7.x86_64
--> 依存性の処理をしています: kernel-headers のパッケージ: glibc-headers-2.17-317.el7.x86_64
---> パッケージ python-libs.x86_64 0:2.7.5-68.el7 を 更新
---> パッケージ python-libs.x86_64 0:2.7.5-90.el7 を アップデート
---> パッケージ python-srpm-macros.noarch 0:3-34.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ glibc-common.x86_64 0:2.17-222.el7 を 更新
---> パッケージ glibc-common.x86_64 0:2.17-317.el7 を アップデート
---> パッケージ kernel-headers.x86_64 0:3.10.0-1160.11.1.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

===========================================================================================================================
 Package                           アーキテクチャー      バージョン                           リポジトリー            容量
===========================================================================================================================
インストール中:
 gcc                               x86_64                4.8.5-44.el7                         base                    16 M
 python-devel                      x86_64                2.7.5-90.el7                         updates                399 k
依存性関連でのインストールをします:
 cpp                               x86_64                4.8.5-44.el7                         base                   5.9 M
 glibc-devel                       x86_64                2.17-317.el7                         base                   1.1 M
 glibc-headers                     x86_64                2.17-317.el7                         base                   690 k
 kernel-headers                    x86_64                3.10.0-1160.11.1.el7                 updates                9.0 M
 libmpc                            x86_64                1.0.1-3.el7                          base                    51 k
 mpfr                              x86_64                3.1.1-4.el7                          base                   203 k
 python-rpm-macros                 noarch                3-34.el7                             base                   9.1 k
 python-srpm-macros                noarch                3-34.el7                             base                   8.8 k
 python2-rpm-macros                noarch                3-34.el7                             base                   8.1 k
依存性関連での更新をします:
 glibc                             x86_64                2.17-317.el7                         base                   3.6 M
 glibc-common                      x86_64                2.17-317.el7                         base                    11 M
 libgcc                            x86_64                4.8.5-44.el7                         base                   103 k
 libgomp                           x86_64                4.8.5-44.el7                         base                   159 k
 python                            x86_64                2.7.5-90.el7                         updates                 96 k
 python-libs                       x86_64                2.7.5-90.el7                         updates                5.6 M

トランザクションの要約
===========================================================================================================================
インストール  2 パッケージ (+9 個の依存関係のパッケージ)
更新                       ( 6 個の依存関係のパッケージ)

総ダウンロード容量: 55 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/17): cpp-4.8.5-44.el7.x86_64.rpm                                                                 | 5.9 MB  00:00:06
(2/17): glibc-2.17-317.el7.x86_64.rpm                                                               | 3.6 MB  00:00:00
(3/17): gcc-4.8.5-44.el7.x86_64.rpm                                                                 |  16 MB  00:00:08
(4/17): glibc-devel-2.17-317.el7.x86_64.rpm                                                         | 1.1 MB  00:00:00
(5/17): glibc-headers-2.17-317.el7.x86_64.rpm                                                       | 690 kB  00:00:00
(6/17): libgcc-4.8.5-44.el7.x86_64.rpm                                                              | 103 kB  00:00:00
(7/17): libgomp-4.8.5-44.el7.x86_64.rpm                                                             | 159 kB  00:00:00
(8/17): libmpc-1.0.1-3.el7.x86_64.rpm                                                               |  51 kB  00:00:00
(9/17): mpfr-3.1.1-4.el7.x86_64.rpm                                                                 | 203 kB  00:00:00
(10/17): glibc-common-2.17-317.el7.x86_64.rpm                                                       |  11 MB  00:00:02
(11/17): python-2.7.5-90.el7.x86_64.rpm                                                             |  96 kB  00:00:05
(12/17): python-devel-2.7.5-90.el7.x86_64.rpm                                                       | 399 kB  00:00:00
(13/17): kernel-headers-3.10.0-1160.11.1.el7.x86_64.rpm                                             | 9.0 MB  00:00:07
(14/17): python-libs-2.7.5-90.el7.x86_64.rpm                                                        | 5.6 MB  00:00:01
(15/17): python-rpm-macros-3-34.el7.noarch.rpm                                                      | 9.1 kB  00:00:05
(16/17): python-srpm-macros-3-34.el7.noarch.rpm                                                     | 8.8 kB  00:00:05
(17/17): python2-rpm-macros-3-34.el7.noarch.rpm                                                     | 8.1 kB  00:00:00
---------------------------------------------------------------------------------------------------------------------------
合計                                                                                       2.5 MB/s |  55 MB  00:00:21
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  更新します              : libgcc-4.8.5-44.el7.x86_64                                                                1/23
  更新します              : glibc-common-2.17-317.el7.x86_64                                                          2/23
  更新します              : glibc-2.17-317.el7.x86_64                                                                 3/23
warning: /etc/nsswitch.conf created as /etc/nsswitch.conf.rpmnew
  インストール中          : mpfr-3.1.1-4.el7.x86_64                                                                   4/23
  インストール中          : libmpc-1.0.1-3.el7.x86_64                                                                 5/23
  更新します              : python-libs-2.7.5-90.el7.x86_64                                                           6/23
  更新します              : python-2.7.5-90.el7.x86_64                                                                7/23
  インストール中          : cpp-4.8.5-44.el7.x86_64                                                                   8/23
  更新します              : libgomp-4.8.5-44.el7.x86_64                                                               9/23
  インストール中          : python-srpm-macros-3-34.el7.noarch                                                       10/23
  インストール中          : python-rpm-macros-3-34.el7.noarch                                                        11/23
  インストール中          : kernel-headers-3.10.0-1160.11.1.el7.x86_64                                               12/23
  インストール中          : glibc-headers-2.17-317.el7.x86_64                                                        13/23
  インストール中          : glibc-devel-2.17-317.el7.x86_64                                                          14/23
  インストール中          : python2-rpm-macros-3-34.el7.noarch                                                       15/23
  インストール中          : python-devel-2.7.5-90.el7.x86_64                                                         16/23
  インストール中          : gcc-4.8.5-44.el7.x86_64                                                                  17/23
  整理中                  : python-2.7.5-68.el7.x86_64                                                               18/23
  整理中                  : python-libs-2.7.5-68.el7.x86_64                                                          19/23
  整理中                  : libgomp-4.8.5-28.el7.x86_64                                                              20/23
  整理中                  : glibc-common-2.17-222.el7.x86_64                                                         21/23
  整理中                  : glibc-2.17-222.el7.x86_64                                                                22/23
  整理中                  : libgcc-4.8.5-28.el7.x86_64                                                               23/23
  検証中                  : glibc-2.17-317.el7.x86_64                                                                 1/23
  検証中                  : python-2.7.5-90.el7.x86_64                                                                2/23
  検証中                  : glibc-devel-2.17-317.el7.x86_64                                                           3/23
  検証中                  : cpp-4.8.5-44.el7.x86_64                                                                   4/23
  検証中                  : python-devel-2.7.5-90.el7.x86_64                                                          5/23
  検証中                  : python-rpm-macros-3-34.el7.noarch                                                         6/23
  検証中                  : glibc-common-2.17-317.el7.x86_64                                                          7/23
  検証中                  : glibc-headers-2.17-317.el7.x86_64                                                         8/23
  検証中                  : gcc-4.8.5-44.el7.x86_64                                                                   9/23
  検証中                  : libmpc-1.0.1-3.el7.x86_64                                                                10/23
  検証中                  : python2-rpm-macros-3-34.el7.noarch                                                       11/23
  検証中                  : python-libs-2.7.5-90.el7.x86_64                                                          12/23
  検証中                  : mpfr-3.1.1-4.el7.x86_64                                                                  13/23
  検証中                  : kernel-headers-3.10.0-1160.11.1.el7.x86_64                                               14/23
  検証中                  : python-srpm-macros-3-34.el7.noarch                                                       15/23
  検証中                  : libgcc-4.8.5-44.el7.x86_64                                                               16/23
  検証中                  : libgomp-4.8.5-44.el7.x86_64                                                              17/23
  検証中                  : python-libs-2.7.5-68.el7.x86_64                                                          18/23
  検証中                  : libgomp-4.8.5-28.el7.x86_64                                                              19/23
  検証中                  : libgcc-4.8.5-28.el7.x86_64                                                               20/23
  検証中                  : glibc-2.17-222.el7.x86_64                                                                21/23
  検証中                  : glibc-common-2.17-222.el7.x86_64                                                         22/23
  検証中                  : python-2.7.5-68.el7.x86_64                                                               23/23

インストール:
  gcc.x86_64 0:4.8.5-44.el7                               python-devel.x86_64 0:2.7.5-90.el7

依存性関連をインストールしました:
  cpp.x86_64 0:4.8.5-44.el7                     glibc-devel.x86_64 0:2.17-317.el7     glibc-headers.x86_64 0:2.17-317.el7
  kernel-headers.x86_64 0:3.10.0-1160.11.1.el7  libmpc.x86_64 0:1.0.1-3.el7           mpfr.x86_64 0:3.1.1-4.el7
  python-rpm-macros.noarch 0:3-34.el7           python-srpm-macros.noarch 0:3-34.el7  python2-rpm-macros.noarch 0:3-34.el7

依存性を更新しました:
  glibc.x86_64 0:2.17-317.el7          glibc-common.x86_64 0:2.17-317.el7        libgcc.x86_64 0:4.8.5-44.el7
  libgomp.x86_64 0:4.8.5-44.el7        python.x86_64 0:2.7.5-90.el7              python-libs.x86_64 0:2.7.5-90.el7

完了しました!
[root@test-01 ~]#

virtualenv のインストールと実行設定

yum -y install python-virtualenv
virtualenv /snmposter
source /snmposter/bin/activate

実行ログ

[root@test-01 ~]# yum -y install python-virtualenv
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ python-virtualenv.noarch 0:15.1.0-4.el7_7 を インストール
--> 依存性の処理をしています: python-setuptools のパッケージ: python-virtualenv-15.1.0-4.el7_7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ python-setuptools.noarch 0:0.9.8-7.el7 を インストール
--> 依存性の処理をしています: python-backports-ssl_match_hostname のパッケージ: python-setuptools-0.9.8-7.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 を インストール
--> 依存性の処理をしています: python-ipaddress のパッケージ: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
--> 依存性の処理をしています: python-backports のパッケージ: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ python-backports.x86_64 0:1.0-8.el7 を インストール
---> パッケージ python-ipaddress.noarch 0:1.0.16-2.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

===========================================================================================================================
 Package                                          アーキテクチャー    バージョン                   リポジトリー       容量
===========================================================================================================================
インストール中:
 python-virtualenv                                noarch              15.1.0-4.el7_7               base              1.7 M
依存性関連でのインストールをします:
 python-backports                                 x86_64              1.0-8.el7                    base              5.8 k
 python-backports-ssl_match_hostname              noarch              3.5.0.1-1.el7                base               13 k
 python-ipaddress                                 noarch              1.0.16-2.el7                 base               34 k
 python-setuptools                                noarch              0.9.8-7.el7                  base              397 k

トランザクションの要約
===========================================================================================================================
インストール  1 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 2.1 M
インストール容量: 4.3 M
Downloading packages:
(1/5): python-backports-1.0-8.el7.x86_64.rpm                                                        | 5.8 kB  00:00:05
(2/5): python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm                                 |  13 kB  00:00:05
(3/5): python-ipaddress-1.0.16-2.el7.noarch.rpm                                                     |  34 kB  00:00:00
(4/5): python-setuptools-0.9.8-7.el7.noarch.rpm                                                     | 397 kB  00:00:00
(5/5): python-virtualenv-15.1.0-4.el7_7.noarch.rpm                                                  | 1.7 MB  00:00:00
---------------------------------------------------------------------------------------------------------------------------
合計                                                                                       357 kB/s | 2.1 MB  00:00:06
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : python-backports-1.0-8.el7.x86_64                                                          1/5
  インストール中          : python-ipaddress-1.0.16-2.el7.noarch                                                       2/5
  インストール中          : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch                                   3/5
  インストール中          : python-setuptools-0.9.8-7.el7.noarch                                                       4/5
  インストール中          : python-virtualenv-15.1.0-4.el7_7.noarch                                                    5/5
  検証中                  : python-ipaddress-1.0.16-2.el7.noarch                                                       1/5
  検証中                  : python-virtualenv-15.1.0-4.el7_7.noarch                                                    2/5
  検証中                  : python-setuptools-0.9.8-7.el7.noarch                                                       3/5
  検証中                  : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch                                   4/5
  検証中                  : python-backports-1.0-8.el7.x86_64                                                          5/5

インストール:
  python-virtualenv.noarch 0:15.1.0-4.el7_7

依存性関連をインストールしました:
  python-backports.x86_64 0:1.0-8.el7                python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7
  python-ipaddress.noarch 0:1.0.16-2.el7             python-setuptools.noarch 0:0.9.8-7.el7

完了しました!
[root@test-01 ~]#
[root@test-01 ~]# virtualenv /snmposter
New python executable in /snmposter/bin/python
Installing setuptools, pip, wheel...done.
[root@test-01 ~]#
[root@test-01 ~]# source /snmposter/bin/activate
(snmposter) [root@test-01 ~]#

TwistedSNMP のインストール

wget http://downloads.sourceforge.net/project/twistedsnmp/twistedsnmp/0.3.13/TwistedSNMP-0.3.13.tar.gz
tar -xzf TwistedSNMP-0.3.13.tar.gz
cd TwistedSNMP-0.3.13
python setup.py install
cd ..

実行ログ

(snmposter) [root@test-01 ~]# wget http://downloads.sourceforge.net/project/twistedsnmp/twistedsnmp/0.3.13/TwistedSNMP-0.3.13.tar.gz
--2021-01-20 17:56:09--  http://downloads.sourceforge.net/project/twistedsnmp/twistedsnmp/0.3.13/TwistedSNMP-0.3.13.tar.gz
downloads.sourceforge.net (downloads.sourceforge.net) をDNSに問いあわせています... 216.105.38.13
downloads.sourceforge.net (downloads.sourceforge.net)|216.105.38.13|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://jaist.dl.sourceforge.net/project/twistedsnmp/twistedsnmp/0.3.13/TwistedSNMP-0.3.13.tar.gz [続く]
--2021-01-20 17:56:15--  https://jaist.dl.sourceforge.net/project/twistedsnmp/twistedsnmp/0.3.13/TwistedSNMP-0.3.13.tar.gz
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net) をDNSに問いあわせています... 2001:df0:2ed:feed::feed, 150.65.7.130
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net)|2001:df0:2ed:feed::feed|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 56256 (55K) [application/x-gzip]
`TwistedSNMP-0.3.13.tar.gz' に保存中

100%[=================================================================================>] 56,256      --.-K/s 時間 0s

2021-01-20 17:56:15 (234 MB/s) - `TwistedSNMP-0.3.13.tar.gz' へ保存完了 [56256/56256]

(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]# tar -xzf TwistedSNMP-0.3.13.tar.gz
(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]# cd TwistedSNMP-0.3.13
(snmposter) [root@test-01 TwistedSNMP-0.3.13]#
(snmposter) [root@test-01 TwistedSNMP-0.3.13]# python setup.py install
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/twistedsnmp
copying ./agent.py -> build/lib/twistedsnmp
copying ./datatypes.py -> build/lib/twistedsnmp
copying ./oidstub.py -> build/lib/twistedsnmp
copying ./bisectoidstore.py -> build/lib/twistedsnmp
copying ./snmpprotocol.py -> build/lib/twistedsnmp
copying ./pysnmpproto.py -> build/lib/twistedsnmp
copying ./bsdoidstore.py -> build/lib/twistedsnmp
copying ./logs.py -> build/lib/twistedsnmp
copying ./massretriever.py -> build/lib/twistedsnmp
copying ./isnmp.py -> build/lib/twistedsnmp
copying ./agentproxy.py -> build/lib/twistedsnmp
copying ./__init__.py -> build/lib/twistedsnmp
copying ./oidstore.py -> build/lib/twistedsnmp
copying ./tableretriever.py -> build/lib/twistedsnmp
copying ./version.py -> build/lib/twistedsnmp
copying ./twinetables.py -> build/lib/twistedsnmp
copying ./agentprotocol.py -> build/lib/twistedsnmp
copying ./errors.py -> build/lib/twistedsnmp
creating build/lib/twistedsnmp/utilities
copying ./utilities/mirroragent.py -> build/lib/twistedsnmp/utilities
copying ./utilities/__init__.py -> build/lib/twistedsnmp/utilities
copying ./utilities/synchronous.py -> build/lib/twistedsnmp/utilities
creating build/lib/twistedsnmp/test
copying ./test/simpleagent.py -> build/lib/twistedsnmp/test
copying ./test/test.py -> build/lib/twistedsnmp/test
copying ./test/test_trap.py -> build/lib/twistedsnmp/test
copying ./test/test_get.py -> build/lib/twistedsnmp/test
copying ./test/test_set.py -> build/lib/twistedsnmp/test
copying ./test/test_storage.py -> build/lib/twistedsnmp/test
copying ./test/__init__.py -> build/lib/twistedsnmp/test
copying ./test/test_basic.py -> build/lib/twistedsnmp/test
copying ./test/basetestcase.py -> build/lib/twistedsnmp/test
creating build/lib/twistedsnmp/v3
copying ./v3/agentproxy.py -> build/lib/twistedsnmp/v3
copying ./v3/__init__.py -> build/lib/twistedsnmp/v3
creating build/lib/twistedsnmp/v4
copying ./v4/agentproxy.py -> build/lib/twistedsnmp/v4
copying ./v4/__init__.py -> build/lib/twistedsnmp/v4
running install_lib
creating /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/agent.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/datatypes.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/oidstub.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/bisectoidstore.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/snmpprotocol.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/pysnmpproto.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/bsdoidstore.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/logs.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/massretriever.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/isnmp.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/agentproxy.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/__init__.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/oidstore.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/tableretriever.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/version.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/twinetables.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/agentprotocol.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
copying build/lib/twistedsnmp/errors.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp
creating /snmposter/lib/python2.7/site-packages/twistedsnmp/utilities
copying build/lib/twistedsnmp/utilities/mirroragent.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/utilities
copying build/lib/twistedsnmp/utilities/__init__.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/utilities
copying build/lib/twistedsnmp/utilities/synchronous.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/utilities
creating /snmposter/lib/python2.7/site-packages/twistedsnmp/test
copying build/lib/twistedsnmp/test/simpleagent.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/test
copying build/lib/twistedsnmp/test/test.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/test
copying build/lib/twistedsnmp/test/test_trap.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/test
copying build/lib/twistedsnmp/test/test_get.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/test
copying build/lib/twistedsnmp/test/test_set.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/test
copying build/lib/twistedsnmp/test/test_storage.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/test
copying build/lib/twistedsnmp/test/__init__.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/test
copying build/lib/twistedsnmp/test/test_basic.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/test
copying build/lib/twistedsnmp/test/basetestcase.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/test
creating /snmposter/lib/python2.7/site-packages/twistedsnmp/v3
copying build/lib/twistedsnmp/v3/agentproxy.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/v3
copying build/lib/twistedsnmp/v3/__init__.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/v3
creating /snmposter/lib/python2.7/site-packages/twistedsnmp/v4
copying build/lib/twistedsnmp/v4/agentproxy.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/v4
copying build/lib/twistedsnmp/v4/__init__.py -> /snmposter/lib/python2.7/site-packages/twistedsnmp/v4
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/agent.py to agent.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/datatypes.py to datatypes.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/oidstub.py to oidstub.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/bisectoidstore.py to bisectoidstore.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/snmpprotocol.py to snmpprotocol.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/pysnmpproto.py to pysnmpproto.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/bsdoidstore.py to bsdoidstore.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/logs.py to logs.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/massretriever.py to massretriever.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/isnmp.py to isnmp.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/agentproxy.py to agentproxy.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/oidstore.py to oidstore.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/tableretriever.py to tableretriever.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/version.py to version.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/twinetables.py to twinetables.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/agentprotocol.py to agentprotocol.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/errors.py to errors.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/utilities/mirroragent.py to mirroragent.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/utilities/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/utilities/synchronous.py to synchronous.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/test/simpleagent.py to simpleagent.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/test/test.py to test.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/test/test_trap.py to test_trap.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/test/test_get.py to test_get.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/test/test_set.py to test_set.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/test/test_storage.py to test_storage.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/test/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/test/test_basic.py to test_basic.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/test/basetestcase.py to basetestcase.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/v3/agentproxy.py to agentproxy.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/v3/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/v4/agentproxy.py to agentproxy.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/twistedsnmp/v4/__init__.py to __init__.pyc
running install_egg_info
Writing /snmposter/lib/python2.7/site-packages/TwistedSNMP-0.3.13-py2.7.egg-info
(snmposter) [root@test-01 TwistedSNMP-0.3.13]#
(snmposter) [root@test-01 TwistedSNMP-0.3.13]# cd ..
(snmposter) [root@test-01 ~]#

PySNMP-SE のインストール

wget http://downloads.sourceforge.net/project/twistedsnmp/pysnmp-se/3.5.2/pysnmp-se-3.5.2.tar.gz
tar -xzf pysnmp-se-3.5.2.tar.gz
cd pysnmp-se-3.5.2
python setup.py install
cd ..

実行ログ

(snmposter) [root@test-01 ~]# wget http://downloads.sourceforge.net/project/twistedsnmp/pysnmp-se/3.5.2/pysnmp-se-3.5.2.tar.gz
--2021-01-20 17:57:33--  http://downloads.sourceforge.net/project/twistedsnmp/pysnmp-se/3.5.2/pysnmp-se-3.5.2.tar.gz
downloads.sourceforge.net (downloads.sourceforge.net) をDNSに問いあわせています... 216.105.38.13
downloads.sourceforge.net (downloads.sourceforge.net)|216.105.38.13|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://jaist.dl.sourceforge.net/project/twistedsnmp/pysnmp-se/3.5.2/pysnmp-se-3.5.2.tar.gz [続く]
--2021-01-20 17:57:38--  https://jaist.dl.sourceforge.net/project/twistedsnmp/pysnmp-se/3.5.2/pysnmp-se-3.5.2.tar.gz
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net) をDNSに問いあわせています... 2001:df0:2ed:feed::feed, 150.65.7.130
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net)|2001:df0:2ed:feed::feed|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 94435 (92K) [application/x-gzip]
`pysnmp-se-3.5.2.tar.gz' に保存中

100%[=================================================================================>] 94,435      --.-K/s 時間 0.06s

2021-01-20 17:57:39 (1.46 MB/s) - `pysnmp-se-3.5.2.tar.gz' へ保存完了 [94435/94435]

(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]# tar -xzf pysnmp-se-3.5.2.tar.gz
(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]# cd pysnmp-se-3.5.2
(snmposter) [root@test-01 pysnmp-se-3.5.2]#
(snmposter) [root@test-01 pysnmp-se-3.5.2]# python setup.py install
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/pysnmp
copying pysnmp/error.py -> build/lib/pysnmp
copying pysnmp/__init__.py -> build/lib/pysnmp
copying pysnmp/version.py -> build/lib/pysnmp
creating build/lib/pysnmp/asn1
copying pysnmp/asn1/error.py -> build/lib/pysnmp/asn1
copying pysnmp/asn1/oidtree.py -> build/lib/pysnmp/asn1
copying pysnmp/asn1/constraints.py -> build/lib/pysnmp/asn1
copying pysnmp/asn1/test_oid.py -> build/lib/pysnmp/asn1
copying pysnmp/asn1/oid.py -> build/lib/pysnmp/asn1
copying pysnmp/asn1/univ.py -> build/lib/pysnmp/asn1
copying pysnmp/asn1/base.py -> build/lib/pysnmp/asn1
copying pysnmp/asn1/__init__.py -> build/lib/pysnmp/asn1
creating build/lib/pysnmp/asn1/encoding
copying pysnmp/asn1/encoding/error.py -> build/lib/pysnmp/asn1/encoding
copying pysnmp/asn1/encoding/__init__.py -> build/lib/pysnmp/asn1/encoding
creating build/lib/pysnmp/asn1/encoding/ber
copying pysnmp/asn1/encoding/ber/error.py -> build/lib/pysnmp/asn1/encoding/ber
copying pysnmp/asn1/encoding/ber/univ.py -> build/lib/pysnmp/asn1/encoding/ber
copying pysnmp/asn1/encoding/ber/base.py -> build/lib/pysnmp/asn1/encoding/ber
copying pysnmp/asn1/encoding/ber/__init__.py -> build/lib/pysnmp/asn1/encoding/ber
creating build/lib/pysnmp/proto
copying pysnmp/proto/rfc1155.py -> build/lib/pysnmp/proto
copying pysnmp/proto/rfc1157.py -> build/lib/pysnmp/proto
copying pysnmp/proto/rfc1902.py -> build/lib/pysnmp/proto
copying pysnmp/proto/rfc1905.py -> build/lib/pysnmp/proto
copying pysnmp/proto/v1.py -> build/lib/pysnmp/proto
copying pysnmp/proto/error.py -> build/lib/pysnmp/proto
copying pysnmp/proto/v2c.py -> build/lib/pysnmp/proto
copying pysnmp/proto/__init__.py -> build/lib/pysnmp/proto
creating build/lib/pysnmp/proto/api
copying pysnmp/proto/api/error.py -> build/lib/pysnmp/proto/api
copying pysnmp/proto/api/__init__.py -> build/lib/pysnmp/proto/api
creating build/lib/pysnmp/proto/api/alpha
copying pysnmp/proto/api/alpha/rfc1155.py -> build/lib/pysnmp/proto/api/alpha
copying pysnmp/proto/api/alpha/rfc1157.py -> build/lib/pysnmp/proto/api/alpha
copying pysnmp/proto/api/alpha/rfc1905.py -> build/lib/pysnmp/proto/api/alpha
copying pysnmp/proto/api/alpha/v1.py -> build/lib/pysnmp/proto/api/alpha
copying pysnmp/proto/api/alpha/pdutypes.py -> build/lib/pysnmp/proto/api/alpha
copying pysnmp/proto/api/alpha/versions.py -> build/lib/pysnmp/proto/api/alpha
copying pysnmp/proto/api/alpha/v2c.py -> build/lib/pysnmp/proto/api/alpha
copying pysnmp/proto/api/alpha/__init__.py -> build/lib/pysnmp/proto/api/alpha
creating build/lib/pysnmp/proto/api/generic
copying pysnmp/proto/api/generic/rfc1157.py -> build/lib/pysnmp/proto/api/generic
copying pysnmp/proto/api/generic/rfc1905.py -> build/lib/pysnmp/proto/api/generic
copying pysnmp/proto/api/generic/__init__.py -> build/lib/pysnmp/proto/api/generic
creating build/lib/pysnmp/test
copying pysnmp/test/trap.py -> build/lib/pysnmp/test
copying pysnmp/test/getset.py -> build/lib/pysnmp/test
copying pysnmp/test/base.py -> build/lib/pysnmp/test
copying pysnmp/test/walk.py -> build/lib/pysnmp/test
copying pysnmp/test/__init__.py -> build/lib/pysnmp/test
copying pysnmp/test/suite.py -> build/lib/pysnmp/test
creating build/lib/pysnmp/mapping
copying pysnmp/mapping/error.py -> build/lib/pysnmp/mapping
copying pysnmp/mapping/__init__.py -> build/lib/pysnmp/mapping
creating build/lib/pysnmp/mapping/udp
copying pysnmp/mapping/udp/error.py -> build/lib/pysnmp/mapping/udp
copying pysnmp/mapping/udp/role.py -> build/lib/pysnmp/mapping/udp
copying pysnmp/mapping/udp/asynrole.py -> build/lib/pysnmp/mapping/udp
copying pysnmp/mapping/udp/__init__.py -> build/lib/pysnmp/mapping/udp
creating build/lib/pysnmp/compat
copying pysnmp/compat/__init__.py -> build/lib/pysnmp/compat
creating build/lib/pysnmp/compat/pysnmp1x
copying pysnmp/compat/pysnmp1x/message.py -> build/lib/pysnmp/compat/pysnmp1x
copying pysnmp/compat/pysnmp1x/error.py -> build/lib/pysnmp/compat/pysnmp1x
copying pysnmp/compat/pysnmp1x/msession.py -> build/lib/pysnmp/compat/pysnmp1x
copying pysnmp/compat/pysnmp1x/ber.py -> build/lib/pysnmp/compat/pysnmp1x
copying pysnmp/compat/pysnmp1x/session.py -> build/lib/pysnmp/compat/pysnmp1x
copying pysnmp/compat/pysnmp1x/__init__.py -> build/lib/pysnmp/compat/pysnmp1x
copying pysnmp/compat/pysnmp1x/asynsnmp.py -> build/lib/pysnmp/compat/pysnmp1x
copying pysnmp/compat/pysnmp1x/wrapexp.py -> build/lib/pysnmp/compat/pysnmp1x
creating build/lib/pysnmp/compat/pysnmp2x
copying pysnmp/compat/pysnmp2x/v1.py -> build/lib/pysnmp/compat/pysnmp2x
copying pysnmp/compat/pysnmp2x/error.py -> build/lib/pysnmp/compat/pysnmp2x
copying pysnmp/compat/pysnmp2x/role.py -> build/lib/pysnmp/compat/pysnmp2x
copying pysnmp/compat/pysnmp2x/v2c.py -> build/lib/pysnmp/compat/pysnmp2x
copying pysnmp/compat/pysnmp2x/asynrole.py -> build/lib/pysnmp/compat/pysnmp2x
copying pysnmp/compat/pysnmp2x/asn1.py -> build/lib/pysnmp/compat/pysnmp2x
copying pysnmp/compat/pysnmp2x/__init__.py -> build/lib/pysnmp/compat/pysnmp2x
creating build/lib/pysnmp/compat/snmpy
copying pysnmp/compat/snmpy/__init__.py -> build/lib/pysnmp/compat/snmpy
copying pysnmp/compat/snmpy/snmpy.py -> build/lib/pysnmp/compat/snmpy
running install_lib
creating /snmposter/lib/python2.7/site-packages/pysnmp
copying build/lib/pysnmp/error.py -> /snmposter/lib/python2.7/site-packages/pysnmp
copying build/lib/pysnmp/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp
copying build/lib/pysnmp/version.py -> /snmposter/lib/python2.7/site-packages/pysnmp
creating /snmposter/lib/python2.7/site-packages/pysnmp/asn1
copying build/lib/pysnmp/asn1/error.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1
copying build/lib/pysnmp/asn1/oidtree.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1
copying build/lib/pysnmp/asn1/constraints.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1
copying build/lib/pysnmp/asn1/test_oid.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1
copying build/lib/pysnmp/asn1/oid.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1
copying build/lib/pysnmp/asn1/univ.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1
copying build/lib/pysnmp/asn1/base.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1
copying build/lib/pysnmp/asn1/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1
creating /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding
copying build/lib/pysnmp/asn1/encoding/error.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding
copying build/lib/pysnmp/asn1/encoding/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding
creating /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/ber
copying build/lib/pysnmp/asn1/encoding/ber/error.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/ber
copying build/lib/pysnmp/asn1/encoding/ber/univ.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/ber
copying build/lib/pysnmp/asn1/encoding/ber/base.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/ber
copying build/lib/pysnmp/asn1/encoding/ber/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/ber
creating /snmposter/lib/python2.7/site-packages/pysnmp/proto
copying build/lib/pysnmp/proto/rfc1155.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto
copying build/lib/pysnmp/proto/rfc1157.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto
copying build/lib/pysnmp/proto/rfc1902.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto
copying build/lib/pysnmp/proto/rfc1905.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto
copying build/lib/pysnmp/proto/v1.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto
copying build/lib/pysnmp/proto/error.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto
copying build/lib/pysnmp/proto/v2c.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto
copying build/lib/pysnmp/proto/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto
creating /snmposter/lib/python2.7/site-packages/pysnmp/proto/api
copying build/lib/pysnmp/proto/api/error.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api
copying build/lib/pysnmp/proto/api/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api
creating /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha
copying build/lib/pysnmp/proto/api/alpha/rfc1155.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha
copying build/lib/pysnmp/proto/api/alpha/rfc1157.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha
copying build/lib/pysnmp/proto/api/alpha/rfc1905.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha
copying build/lib/pysnmp/proto/api/alpha/v1.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha
copying build/lib/pysnmp/proto/api/alpha/pdutypes.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha
copying build/lib/pysnmp/proto/api/alpha/versions.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha
copying build/lib/pysnmp/proto/api/alpha/v2c.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha
copying build/lib/pysnmp/proto/api/alpha/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha
creating /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/generic
copying build/lib/pysnmp/proto/api/generic/rfc1157.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/generic
copying build/lib/pysnmp/proto/api/generic/rfc1905.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/generic
copying build/lib/pysnmp/proto/api/generic/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/generic
creating /snmposter/lib/python2.7/site-packages/pysnmp/test
copying build/lib/pysnmp/test/trap.py -> /snmposter/lib/python2.7/site-packages/pysnmp/test
copying build/lib/pysnmp/test/getset.py -> /snmposter/lib/python2.7/site-packages/pysnmp/test
copying build/lib/pysnmp/test/base.py -> /snmposter/lib/python2.7/site-packages/pysnmp/test
copying build/lib/pysnmp/test/walk.py -> /snmposter/lib/python2.7/site-packages/pysnmp/test
copying build/lib/pysnmp/test/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/test
copying build/lib/pysnmp/test/suite.py -> /snmposter/lib/python2.7/site-packages/pysnmp/test
creating /snmposter/lib/python2.7/site-packages/pysnmp/mapping
copying build/lib/pysnmp/mapping/error.py -> /snmposter/lib/python2.7/site-packages/pysnmp/mapping
copying build/lib/pysnmp/mapping/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/mapping
creating /snmposter/lib/python2.7/site-packages/pysnmp/mapping/udp
copying build/lib/pysnmp/mapping/udp/error.py -> /snmposter/lib/python2.7/site-packages/pysnmp/mapping/udp
copying build/lib/pysnmp/mapping/udp/role.py -> /snmposter/lib/python2.7/site-packages/pysnmp/mapping/udp
copying build/lib/pysnmp/mapping/udp/asynrole.py -> /snmposter/lib/python2.7/site-packages/pysnmp/mapping/udp
copying build/lib/pysnmp/mapping/udp/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/mapping/udp
creating /snmposter/lib/python2.7/site-packages/pysnmp/compat
copying build/lib/pysnmp/compat/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat
creating /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x
copying build/lib/pysnmp/compat/pysnmp1x/message.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x
copying build/lib/pysnmp/compat/pysnmp1x/error.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x
copying build/lib/pysnmp/compat/pysnmp1x/msession.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x
copying build/lib/pysnmp/compat/pysnmp1x/ber.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x
copying build/lib/pysnmp/compat/pysnmp1x/session.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x
copying build/lib/pysnmp/compat/pysnmp1x/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x
copying build/lib/pysnmp/compat/pysnmp1x/asynsnmp.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x
copying build/lib/pysnmp/compat/pysnmp1x/wrapexp.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x
creating /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x
copying build/lib/pysnmp/compat/pysnmp2x/v1.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x
copying build/lib/pysnmp/compat/pysnmp2x/error.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x
copying build/lib/pysnmp/compat/pysnmp2x/role.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x
copying build/lib/pysnmp/compat/pysnmp2x/v2c.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x
copying build/lib/pysnmp/compat/pysnmp2x/asynrole.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x
copying build/lib/pysnmp/compat/pysnmp2x/asn1.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x
copying build/lib/pysnmp/compat/pysnmp2x/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x
creating /snmposter/lib/python2.7/site-packages/pysnmp/compat/snmpy
copying build/lib/pysnmp/compat/snmpy/__init__.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/snmpy
copying build/lib/pysnmp/compat/snmpy/snmpy.py -> /snmposter/lib/python2.7/site-packages/pysnmp/compat/snmpy
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/error.py to error.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/version.py to version.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/error.py to error.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/oidtree.py to oidtree.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/constraints.py to constraints.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/test_oid.py to test_oid.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/oid.py to oid.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/univ.py to univ.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/base.py to base.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/error.py to error.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/ber/error.py to error.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/ber/univ.py to univ.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/ber/base.py to base.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/asn1/encoding/ber/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/rfc1155.py to rfc1155.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/rfc1157.py to rfc1157.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/rfc1902.py to rfc1902.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/rfc1905.py to rfc1905.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/v1.py to v1.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/error.py to error.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/v2c.py to v2c.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/error.py to error.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha/rfc1155.py to rfc1155.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha/rfc1157.py to rfc1157.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha/rfc1905.py to rfc1905.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha/v1.py to v1.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha/pdutypes.py to pdutypes.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha/versions.py to versions.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha/v2c.py to v2c.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/alpha/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/generic/rfc1157.py to rfc1157.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/generic/rfc1905.py to rfc1905.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/proto/api/generic/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/test/trap.py to trap.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/test/getset.py to getset.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/test/base.py to base.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/test/walk.py to walk.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/test/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/test/suite.py to suite.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/mapping/error.py to error.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/mapping/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/mapping/udp/error.py to error.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/mapping/udp/role.py to role.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/mapping/udp/asynrole.py to asynrole.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/mapping/udp/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x/message.py to message.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x/error.py to error.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x/msession.py to msession.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x/ber.py to ber.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x/session.py to session.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x/asynsnmp.py to asynsnmp.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp1x/wrapexp.py to wrapexp.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x/v1.py to v1.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x/error.py to error.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x/role.py to role.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x/v2c.py to v2c.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x/asynrole.py to asynrole.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x/asn1.py to asn1.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/pysnmp2x/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/snmpy/__init__.py to __init__.pyc
byte-compiling /snmposter/lib/python2.7/site-packages/pysnmp/compat/snmpy/snmpy.py to snmpy.pyc
running install_egg_info
Writing /snmposter/lib/python2.7/site-packages/pysnmp_se-3.5.2-py2.7.egg-info
(snmposter) [root@test-01 pysnmp-se-3.5.2]#
(snmposter) [root@test-01 pysnmp-se-3.5.2]# cd ..
(snmposter) [root@test-01 ~]#

snmposter のインストール

pip install snmposter

実行ログ

(snmposter) [root@test-01 ~]# pip install snmposter
Collecting snmposter
  Downloading https://files.pythonhosted.org/packages/d5/bd/81c673b5f69fa620b6ca67ad35ed847e05843c76a5b430f26e15c0981ff6/snmposter-1.0.4.tar.gz
Collecting Twisted (from snmposter)
  Downloading https://files.pythonhosted.org/packages/4d/15/890ba1d83dc29ad71427ce5174d5963b84a25c8cf1973815107709fbb520/Twisted-20.3.0-cp27-cp27mu-manylinux1_x86_64.whl (3.2MB)
    100% |????????????????????????????????| 3.2MB 327kB/s
Collecting constantly>=15.1 (from Twisted->snmposter)
  Downloading https://files.pythonhosted.org/packages/b9/65/48c1909d0c0aeae6c10213340ce682db01b48ea900a7d9fce7a7910ff318/constantly-15.1.0-py2.py3-none-any.whl
Collecting attrs>=19.2.0 (from Twisted->snmposter)
  Downloading https://files.pythonhosted.org/packages/c3/aa/cb45262569fcc047bf070b5de61813724d6726db83259222cd7b4c79821a/attrs-20.3.0-py2.py3-none-any.whl (49kB)
    100% |????????????????????????????????| 51kB 6.7MB/s
Collecting zope.interface>=4.4.2 (from Twisted->snmposter)
  Downloading https://files.pythonhosted.org/packages/64/73/8de66bdab6c4494232339eba8f8864521180c9a76c7c6059b4202adb1e03/zope.interface-5.2.0-cp27-cp27mu-manylinux1_x86_64.whl (232kB)
    100% |????????????????????????????????| 235kB 3.8MB/s
Collecting Automat>=0.3.0 (from Twisted->snmposter)
  Downloading https://files.pythonhosted.org/packages/dd/83/5f6f3c1a562674d65efc320257bdc0873ec53147835aeef7762fe7585273/Automat-20.2.0-py2.py3-none-any.whl
Collecting hyperlink>=17.1.1 (from Twisted->snmposter)
  Downloading https://files.pythonhosted.org/packages/6e/aa/8caf6a0a3e62863cbb9dab27135660acba46903b703e224f14f447e57934/hyperlink-21.0.0-py2.py3-none-any.whl (74kB)
    100% |????????????????????????????????| 81kB 7.6MB/s
Collecting incremental>=16.10.1 (from Twisted->snmposter)
  Downloading https://files.pythonhosted.org/packages/f5/1d/c98a587dc06e107115cf4a58b49de20b19222c83d75335a192052af4c4b7/incremental-17.5.0-py2.py3-none-any.whl
Collecting PyHamcrest!=1.10.0,>=1.9.0 (from Twisted->snmposter)
  Downloading https://files.pythonhosted.org/packages/d9/6b/fb2e701f25303c620149923d98085c6d7b052d112044764cbf00cc07469e/PyHamcrest-1.10.1.tar.gz (43kB)
    100% |????????????????????????????????| 51kB 7.7MB/s
Requirement already satisfied: setuptools in /snmposter/lib/python2.7/site-packages (from zope.interface>=4.4.2->Twisted->snmposter)
Collecting six (from Automat>=0.3.0->Twisted->snmposter)
  Downloading https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
Collecting typing; python_version < "3.5" (from hyperlink>=17.1.1->Twisted->snmposter)
  Downloading https://files.pythonhosted.org/packages/3b/c0/e44213fcb799eac02881e2485724ba5b0914600bc9df6ed922e364fdc059/typing-3.7.4.3-py2-none-any.whl
Collecting idna>=2.5 (from hyperlink>=17.1.1->Twisted->snmposter)
  Downloading https://files.pythonhosted.org/packages/a2/38/928ddce2273eaa564f6f50de919327bf3a00f091b5baba8dfa9460f3a8a8/idna-2.10-py2.py3-none-any.whl (58kB)
    100% |????????????????????????????????| 61kB 6.9MB/s
Building wheels for collected packages: snmposter, PyHamcrest
  Running setup.py bdist_wheel for snmposter ... done
  Stored in directory: /root/.cache/pip/wheels/e4/e4/90/aad4818fe5336aacfec7fdb3650bfba603a74283f806c11517
  Running setup.py bdist_wheel for PyHamcrest ... done
  Stored in directory: /root/.cache/pip/wheels/8f/88/5d/2d12b9e226ee11ce171a603275d8dd6546d93202466b7fe173
Successfully built snmposter PyHamcrest
Installing collected packages: constantly, attrs, zope.interface, six, Automat, typing, idna, hyperlink, incremental, PyHamcrest, Twisted, snmposter
Successfully installed Automat-20.2.0 PyHamcrest-1.10.1 Twisted-20.3.0 attrs-20.3.0 constantly-15.1.0 hyperlink-21.0.0 idna-2.10 incremental-17.5.0 six-1.15.0 snmposter-1.0.4 typing-3.7.4.3 zope.interface-5.2.0
You are using pip version 9.0.1, however version 20.3.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(snmposter) [root@test-01 ~]#

snmposter実行用ファイルの準備

snmposter の実行には以下の2つのファイルが必要。

  • snmpwalkで取得したデータ (テキスト)
  • SNMPエージェントの設定 (csvファイル)

それぞれ準備する。

snmpwalkで取得したデータ(テキスト)

実行に必要なsnmpwalkの実行結果をファイルにしたものを用意する。

今回は以下の取得値を ar260sv2_snmpv2c.txt として保存して使用する。(自前で購入したAR260SV2のsnmpwalkの実行結果)

※ snmpwalkでデータを取得する際には、-ObenU のオプションを指定して、OIDを数値表記にすること。

MIB変数に翻訳されてしまうとsnmposterで読み込み時に解釈できないみたい。

.1.3.6.1.2.1.1.1.0 = STRING: CentreCOM AR260S V2 Version 3.3.2 B03
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.207.1.23.1.1
.1.3.6.1.2.1.1.3.0 = Timeticks: (68576537) 7 days, 22:29:25.37
.1.3.6.1.2.1.1.4.0 = STRING:
.1.3.6.1.2.1.1.5.0 = STRING: AR260SV2
.1.3.6.1.2.1.1.6.0 = STRING: 2F
.1.3.6.1.2.1.1.7.0 = INTEGER: 72
.1.3.6.1.2.1.1.8.0 = Timeticks: (107) 0:00:01.07

↑ その他いっぱい情報はとれる。

SNMPエージェントの設定 (csvファイル)

前項で準備した snmpwalk の取得データが保存されているファイルと、SNMPエージェントとして稼働するために必要な情報を csv 形式のファイルに定義する。

snmposterはこの csv ファイルを読み込んでSNMPエージェントとしてふるまう。

csvファイルの設定は以下の通り。

定義方法

<snmpwalkで取得したデータが記載されているファイルのフルパス>,<IPアドレス>

定義例 (agents.csv として作成)

/root/ar260sv2_snmpv2c.txt,192.168.3.251
/root/ar260sv2_snmpv2c.txt,192.168.3.252

※ このcsvファイルには複数のエージェントの設定ができる

snmposterの起動

ファイルを保存したら、以下のコマンドで snmposter を起動。

source /snmposter/bin/activate
snmposter -f /<path>/agent.csv

実行ログ

[root@test-01 ~]# source /snmposter/bin/activate
(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]# snmposter -f /root/agents.csv
Starting /root/ar260sv2_snmpv2c.txt on 192.168.3.251.
Starting /root/ar260sv2_snmpv2c.txt on 192.168.3.252.
(snmposter) [root@test-01 ~]#

net-snmpによるデータ取得結果

snmpwalkコマンドで情報取得してみる。

今回の対象ホストは 192.168.3.251 と 192.168.3.252 で、どちらも同じ情報が取得できた。

実行例

[root@zbx-svr-5 ~]# snmpwalk -v 2c -c public -ObenU 192.168.3.251 >192_168_3_251.txt
[root@zbx-svr-5 ~]# snmpwalk -v 2c -c public -ObenU 192.168.3.252 >192_168_3_252.txt
[root@zbx-svr-5 ~]# ll
合計 128
-rw-r--r--  1 root root 37606  1月 20 21:22 192_168_3_251.txt
-rw-r--r--  1 root root 37606  1月 20 21:22 192_168_3_252.txt
-rw-------. 1 root root  1545  8月 29 13:44 anaconda-ks.cfg
-rw-r--r--  1 root root 37784  1月 20 16:51 ar260sv2_snmpv2c.txt
drwxr-xr-x  3 root root    22  8月 29 15:55 work
-rw-r--r--  1 root root   141  1月 20 21:15 zbx_send_data.txt
[root@zbx-svr-5 ~]#
[root@zbx-svr-5 ~]# diff 192_168_3_251.txt 192_168_3_252.txt
[root@zbx-svr-5 ~]#
[root@zbx-svr-5 ~]# cat 192_168_3_251.txt
.1.3.6.1.2.1.1.1.0 = STRING: CentreCOM AR260S V2 Version 3.3.2 B03
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.207.1.23.1.1
.1.3.6.1.2.1.1.3.0 = Timeticks: (68576537) 7 days, 22:29:25.37
.1.3.6.1.2.1.1.4.0 = STRING:
.1.3.6.1.2.1.1.5.0 = STRING: AR260SV2
.1.3.6.1.2.1.1.6.0 = STRING: 2F
.1.3.6.1.2.1.1.7.0 = INTEGER: 72
.1.3.6.1.2.1.1.8.0 = Timeticks: (107) 0:00:01.07
(その他、いっぱい情報はとれます。ここでは省略)
End of MIB
[root@zbx-svr-5 ~]#

停止手順

  • ps で pid を調べて kill
  • network を再起動

(snmposter) [root@test-01 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 192.168.3.251/32 scope global lo
       valid_lft forever preferred_lft forever
    inet 192.168.3.252/32 scope global lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:de:01:0a brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.241/24 brd 192.168.3.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 2400:2411:340:b212:4742:b192:29b8:3882/64 scope global noprefixroute dynamic
       valid_lft 1121sec preferred_lft 521sec
    inet6 fe80::a9f0:ee29:9437:a951/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]# ps -aux |grep snmp
root      4936  0.3  0.9 230224 16836 ?        S    21:21   0:03 /snmposter/bin/python /snmposter/bin/snmposter -f /root/agents.csv
root      8072  0.0  0.0 112824   968 pts/0    R+   21:37   0:00 grep --color=auto snmp
(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]# kill 4936
(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]# snmposter -f /root/agents.csv
Starting /root/ar260sv2_snmpv2c.txt on 192.168.3.251.
RTNETLINK answers: File exists
Starting /root/ar260sv2_snmpv2c.txt on 192.168.3.252.
RTNETLINK answers: File exists
(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]# systemctl restart network
(snmposter) [root@test-01 ~]#
(snmposter) [root@test-01 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:de:01:0a brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.241/24 brd 192.168.3.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 2400:2411:340:b212:4742:b192:29b8:3882/64 scope global noprefixroute dynamic
       valid_lft 945sec preferred_lft 345sec
    inet6 fe80::a9f0:ee29:9437:a951/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
(snmposter) [root@test-01 ~]#

注意事項

  • コミュニティ名は public
  • snmpwalkのデータ等設定を変更したい場合には snmposter を再起動する必要がある

  • snmpwalk のパラメータで最後に指定するOIDに数値を設定する場合の動作に違和感がある

    以下の3パターンは実機に対してだとどれも値が返ってくるが、対象が snmposter だと値が取得できないものがある。

    • 何も指定なし → 値が取得できる

      snmpwalk -v 2c -c public -ObenU 192.168.3.251
      
    • ドットのみ、もしくは .1 を指定 → 値が取得できない

      snmpwalk -v 2c -c public -ObenU 192.168.3.251 .
      snmpwalk -v 2c -c public -ObenU 192.168.3.251 .1
      
    • .1.3 を指定 → 値が取得できる

      snmpwalk -v 2c -c public -ObenU 192.168.3.251 .1.3
      

    実行例

  [root@zbx-svr-5 ~]# snmpwalk -v 2c -c public -ObenU 192.168.3.251
  .1.3.6.1.2.1.1.1.0 = STRING: CentreCOM AR260S V2 Version 3.3.2 B03
  .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.207.1.23.1.1
  .1.3.6.1.2.1.1.3.0 = Timeticks: (68576537) 7 days, 22:29:25.37
  .1.3.6.1.2.1.1.4.0 = STRING:
  .1.3.6.1.2.1.1.5.0 = STRING: AR260SV2
  .1.3.6.1.2.1.1.6.0 = STRING: 2F
  .1.3.6.1.2.1.1.7.0 = INTEGER: 72
  .1.3.6.1.2.1.1.8.0 = Timeticks: (107) 0:00:01.07
  (ここでもいっぱい情報はとれる!)
  End of MIB
  [root@zbx-svr-5 ~]#
  [root@zbx-svr-5 ~]# snmpwalk -v 2c -c public -ObenU 192.168.3.251 .
  End of MIB
  [root@zbx-svr-5 ~]# snmpwalk -v 2c -c public -ObenU 192.168.3.251 .1
  End of MIB
  [root@zbx-svr-5 ~]#
  [root@zbx-svr-5 ~]# snmpwalk -v 2c -c public -ObenU 192.168.3.251 .1.3
  .1.3.6.1.2.1.1.1.0 = STRING: CentreCOM AR260S V2 Version 3.3.2 B03
  .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.207.1.23.1.1
  .1.3.6.1.2.1.1.3.0 = Timeticks: (68576537) 7 days, 22:29:25.37
  .1.3.6.1.2.1.1.4.0 = STRING:
  .1.3.6.1.2.1.1.5.0 = STRING: AR260SV2
  .1.3.6.1.2.1.1.6.0 = STRING: 2F
  .1.3.6.1.2.1.1.7.0 = INTEGER: 72
  .1.3.6.1.2.1.1.8.0 = Timeticks: (107) 0:00:01.07
  (ここでもいっぱい情報はとれる!!)
  End of MIB
  [root@zbx-svr-5 ~]#

参考サイト

Grafana のインストール (+zabbix)

目次

  • OSの準備
  • インストールする Grafana バージョンの確認
  • Grafana のインストール
  • zabbix との連携
  • ネタ

OSの準備

CentOS7 を準備。 Vagrant とかで準備してもよかった気がするが、自前でインストールしてたてた。 SELinux は disabled、firewalld は disable にしている。

一応 yum update を実施しておく。

インストールする Grafana バージョンの確認

以下の URL で表示されるページを確認。

https://grafana.com/grafana/download

この時点で利用できる Grafana の最新バージョンは 7.3.7 だった。

上述 URL 内にインストールの仕方が記載されてるのでメモ。

wget https://dl.grafana.com/oss/release/grafana-7.3.7-1.x86_64.rpm
sudo yum install grafana-7.3.7-1.x86_64.rpm

Grafana のインストール

以下の順にインストール。

  • wget のインストール
yum install -y wget

実行例

[root@gui ~]# yum install -y wget
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ wget.x86_64 0:1.14-18.el7_6.1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=================================================================================================
 Package            アーキテクチャー     バージョン                     リポジトリー        容量
=================================================================================================
インストール中:
 wget               x86_64               1.14-18.el7_6.1                base               547 k

トランザクションの要約
=================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 547 k
インストール容量: 2.0 M
Downloading packages:
wget-1.14-18.el7_6.1.x86_64.rpm                                           | 547 kB  00:00:05
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : wget-1.14-18.el7_6.1.x86_64                                      1/1
  検証中                  : wget-1.14-18.el7_6.1.x86_64                                      1/1

インストール:
  wget.x86_64 0:1.14-18.el7_6.1

完了しました!
[root@gui ~]#
  • Grafana のダウンロードとインストール
wget https://dl.grafana.com/oss/release/grafana-7.3.7-1.x86_64.rpm
sudo yum install grafana-7.3.7-1.x86_64.rpm

実行例

[root@gui ~]# wget https://dl.grafana.com/oss/release/grafana-7.3.7-1.x86_64.rpm
--2021-01-27 17:29:19--  https://dl.grafana.com/oss/release/grafana-7.3.7-1.x86_64.rpm
dl.grafana.com (dl.grafana.com) をDNSに問いあわせています... 2a04:4e42:4c::729, 2a04:4e42:4d::729, 199.232.194.217, ...
dl.grafana.com (dl.grafana.com)|2a04:4e42:4c::729|:443 に接続しています... 失敗しました: 接続がタイムアウトしました.
dl.grafana.com (dl.grafana.com)|2a04:4e42:4d::729|:443 に接続しています... 失敗しました: 接続がタイムアウトしました.
dl.grafana.com (dl.grafana.com)|199.232.194.217|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 53729497 (51M) [application/x-redhat-package-manager]
`grafana-7.3.7-1.x86_64.rpm' に保存中

100%[=======================================================>] 53,729,497  4.70MB/s 時間 12s

2021-01-27 17:33:52 (4.24 MB/s) - `grafana-7.3.7-1.x86_64.rpm' へ保存完了 [53729497/53729497]

[root@gui ~]#
[root@gui ~]# sudo yum install grafana-7.3.7-1.x86_64.rpm
読み込んだプラグイン:fastestmirror
grafana-7.3.7-1.x86_64.rpm を調べています: grafana-7.3.7-1.x86_64
grafana-7.3.7-1.x86_64.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ grafana.x86_64 0:7.3.7-1 を インストール
--> 依存性の処理をしています: fontconfig のパッケージ: grafana-7.3.7-1.x86_64
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
--> 依存性の処理をしています: urw-fonts のパッケージ: grafana-7.3.7-1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ fontconfig.x86_64 0:2.13.0-4.3.el7 を インストール
--> 依存性の処理をしています: fontpackages-filesystem のパッケージ: fontconfig-2.13.0-4.3.el7.x86_64
--> 依存性の処理をしています: dejavu-sans-fonts のパッケージ: fontconfig-2.13.0-4.3.el7.x86_64
---> パッケージ urw-base35-fonts.noarch 0:20170801-10.el7 を インストール
--> 依存性の処理をしています: urw-base35-fonts-common = 20170801-10.el7 のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: urw-base35-z003-fonts のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: urw-base35-standard-symbols-ps-fonts のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: urw-base35-p052-fonts のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: urw-base35-nimbus-sans-fonts のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: urw-base35-nimbus-roman-fonts のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: urw-base35-nimbus-mono-ps-fonts のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: urw-base35-gothic-fonts のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: urw-base35-d050000l-fonts のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: urw-base35-c059-fonts のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: urw-base35-bookman-fonts のパッケージ: urw-base35-fonts-20170801-10.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ dejavu-sans-fonts.noarch 0:2.33-6.el7 を インストール
--> 依存性の処理をしています: dejavu-fonts-common = 2.33-6.el7 のパッケージ: dejavu-sans-fonts-2.33-6.el7.noarch
---> パッケージ fontpackages-filesystem.noarch 0:1.44-8.el7 を インストール
---> パッケージ urw-base35-bookman-fonts.noarch 0:20170801-10.el7 を インストール
--> 依存性の処理をしています: xorg-x11-server-utils のパッケージ: urw-base35-bookman-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: xorg-x11-server-utils のパッケージ: urw-base35-bookman-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: xorg-x11-font-utils のパッケージ: urw-base35-bookman-fonts-20170801-10.el7.noarch
--> 依存性の処理をしています: xorg-x11-font-utils のパッケージ: urw-base35-bookman-fonts-20170801-10.el7.noarch
---> パッケージ urw-base35-c059-fonts.noarch 0:20170801-10.el7 を インストール
---> パッケージ urw-base35-d050000l-fonts.noarch 0:20170801-10.el7 を インストール
---> パッケージ urw-base35-fonts-common.noarch 0:20170801-10.el7 を インストール
---> パッケージ urw-base35-gothic-fonts.noarch 0:20170801-10.el7 を インストール
---> パッケージ urw-base35-nimbus-mono-ps-fonts.noarch 0:20170801-10.el7 を インストール
---> パッケージ urw-base35-nimbus-roman-fonts.noarch 0:20170801-10.el7 を インストール
---> パッケージ urw-base35-nimbus-sans-fonts.noarch 0:20170801-10.el7 を インストール
---> パッケージ urw-base35-p052-fonts.noarch 0:20170801-10.el7 を インストール
---> パッケージ urw-base35-standard-symbols-ps-fonts.noarch 0:20170801-10.el7 を インストール
---> パッケージ urw-base35-z003-fonts.noarch 0:20170801-10.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ dejavu-fonts-common.noarch 0:2.33-6.el7 を インストール
---> パッケージ xorg-x11-font-utils.x86_64 1:7.5-21.el7 を インストール
--> 依存性の処理をしています: libfontenc.so.1()(64bit) のパッケージ: 1:xorg-x11-font-utils-7.5-21.el7.x86_64
---> パッケージ xorg-x11-server-utils.x86_64 0:7.7-20.el7 を インストール
--> 依存性の処理をしています: libXxf86vm.so.1()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libXxf86misc.so.1()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libXt.so.6()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libXrender.so.1()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libXrandr.so.2()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libXmuu.so.1()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libXmu.so.6()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libXinerama.so.1()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libXi.so.6()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libXext.so.6()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libXcursor.so.1()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libX11.so.6()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> 依存性の処理をしています: libICE.so.6()(64bit) のパッケージ: xorg-x11-server-utils-7.7-20.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libICE.x86_64 0:1.0.9-9.el7 を インストール
---> パッケージ libX11.x86_64 0:1.6.7-3.el7_9 を インストール
--> 依存性の処理をしています: libX11-common >= 1.6.7-3.el7_9 のパッケージ: libX11-1.6.7-3.el7_9.x86_64
--> 依存性の処理をしています: libxcb.so.1()(64bit) のパッケージ: libX11-1.6.7-3.el7_9.x86_64
---> パッケージ libXcursor.x86_64 0:1.1.15-1.el7 を インストール
--> 依存性の処理をしています: libXfixes.so.3()(64bit) のパッケージ: libXcursor-1.1.15-1.el7.x86_64
---> パッケージ libXext.x86_64 0:1.3.3-3.el7 を インストール
---> パッケージ libXi.x86_64 0:1.7.9-1.el7 を インストール
---> パッケージ libXinerama.x86_64 0:1.1.3-2.1.el7 を インストール
---> パッケージ libXmu.x86_64 0:1.1.2-2.el7 を インストール
---> パッケージ libXrandr.x86_64 0:1.5.1-2.el7 を インストール
---> パッケージ libXrender.x86_64 0:0.9.10-1.el7 を インストール
---> パッケージ libXt.x86_64 0:1.1.5-3.el7 を インストール
--> 依存性の処理をしています: libSM.so.6()(64bit) のパッケージ: libXt-1.1.5-3.el7.x86_64
---> パッケージ libXxf86misc.x86_64 0:1.0.3-7.1.el7 を インストール
---> パッケージ libXxf86vm.x86_64 0:1.1.4-1.el7 を インストール
---> パッケージ libfontenc.x86_64 0:1.1.3-3.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ libSM.x86_64 0:1.2.2-2.el7 を インストール
---> パッケージ libX11-common.noarch 0:1.6.7-3.el7_9 を インストール
---> パッケージ libXfixes.x86_64 0:5.0.3-1.el7 を インストール
---> パッケージ libxcb.x86_64 0:1.13-1.el7 を インストール
--> 依存性の処理をしています: libXau.so.6()(64bit) のパッケージ: libxcb-1.13-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libXau.x86_64 0:1.0.8-2.1.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=================================================================================================
 Package                               アーキテクチャー
                                               バージョン         リポジトリー              容量
=================================================================================================
インストール中:
 grafana                               x86_64  7.3.7-1            /grafana-7.3.7-1.x86_64  170 M
依存性関連でのインストールをします:
 dejavu-fonts-common                   noarch  2.33-6.el7         base                      64 k
 dejavu-sans-fonts                     noarch  2.33-6.el7         base                     1.4 M
 fontconfig                            x86_64  2.13.0-4.3.el7     base                     254 k
 fontpackages-filesystem               noarch  1.44-8.el7         base                     9.9 k
 libICE                                x86_64  1.0.9-9.el7        base                      66 k
 libSM                                 x86_64  1.2.2-2.el7        base                      39 k
 libX11                                x86_64  1.6.7-3.el7_9      updates                  607 k
 libX11-common                         noarch  1.6.7-3.el7_9      updates                  164 k
 libXau                                x86_64  1.0.8-2.1.el7      base                      29 k
 libXcursor                            x86_64  1.1.15-1.el7       base                      30 k
 libXext                               x86_64  1.3.3-3.el7        base                      39 k
 libXfixes                             x86_64  5.0.3-1.el7        base                      18 k
 libXi                                 x86_64  1.7.9-1.el7        base                      40 k
 libXinerama                           x86_64  1.1.3-2.1.el7      base                      14 k
 libXmu                                x86_64  1.1.2-2.el7        base                      71 k
 libXrandr                             x86_64  1.5.1-2.el7        base                      27 k
 libXrender                            x86_64  0.9.10-1.el7       base                      26 k
 libXt                                 x86_64  1.1.5-3.el7        base                     173 k
 libXxf86misc                          x86_64  1.0.3-7.1.el7      base                      19 k
 libXxf86vm                            x86_64  1.1.4-1.el7        base                      18 k
 libfontenc                            x86_64  1.1.3-3.el7        base                      31 k
 libxcb                                x86_64  1.13-1.el7         base                     214 k
 urw-base35-bookman-fonts              noarch  20170801-10.el7    base                     852 k
 urw-base35-c059-fonts                 noarch  20170801-10.el7    base                     879 k
 urw-base35-d050000l-fonts             noarch  20170801-10.el7    base                      75 k
 urw-base35-fonts                      noarch  20170801-10.el7    base                     7.6 k
 urw-base35-fonts-common               noarch  20170801-10.el7    base                      19 k
 urw-base35-gothic-fonts               noarch  20170801-10.el7    base                     650 k
 urw-base35-nimbus-mono-ps-fonts       noarch  20170801-10.el7    base                     796 k
 urw-base35-nimbus-roman-fonts         noarch  20170801-10.el7    base                     860 k
 urw-base35-nimbus-sans-fonts          noarch  20170801-10.el7    base                     1.3 M
 urw-base35-p052-fonts                 noarch  20170801-10.el7    base                     978 k
 urw-base35-standard-symbols-ps-fonts  noarch  20170801-10.el7    base                      40 k
 urw-base35-z003-fonts                 noarch  20170801-10.el7    base                     275 k
 xorg-x11-font-utils                   x86_64  1:7.5-21.el7       base                     104 k
 xorg-x11-server-utils                 x86_64  7.7-20.el7         base                     178 k

トランザクションの要約
=================================================================================================
インストール  1 パッケージ (+36 個の依存関係のパッケージ)

合計容量: 180 M
総ダウンロード容量: 10 M
インストール容量: 192 M
Is this ok [y/d/N]: y
Downloading packages:
(1/36): fontpackages-filesystem-1.44-8.el7.noarch.rpm                     | 9.9 kB  00:00:07
(2/36): dejavu-fonts-common-2.33-6.el7.noarch.rpm                         |  64 kB  00:00:07
(3/36): fontconfig-2.13.0-4.3.el7.x86_64.rpm                              | 254 kB  00:00:07
(4/36): libICE-1.0.9-9.el7.x86_64.rpm                                     |  66 kB  00:00:00
(5/36): libXau-1.0.8-2.1.el7.x86_64.rpm                                   |  29 kB  00:00:00
(6/36): libXcursor-1.1.15-1.el7.x86_64.rpm                                |  30 kB  00:00:00
(7/36): libXext-1.3.3-3.el7.x86_64.rpm                                    |  39 kB  00:00:00
(8/36): libXfixes-5.0.3-1.el7.x86_64.rpm                                  |  18 kB  00:00:00
(9/36): libXi-1.7.9-1.el7.x86_64.rpm                                      |  40 kB  00:00:00
(10/36): libXinerama-1.1.3-2.1.el7.x86_64.rpm                             |  14 kB  00:00:00
(11/36): libXmu-1.1.2-2.el7.x86_64.rpm                                    |  71 kB  00:00:00
(12/36): libXrandr-1.5.1-2.el7.x86_64.rpm                                 |  27 kB  00:00:00
(13/36): libXrender-0.9.10-1.el7.x86_64.rpm                               |  26 kB  00:00:00
(14/36): libXt-1.1.5-3.el7.x86_64.rpm                                     | 173 kB  00:00:00
(15/36): libXxf86misc-1.0.3-7.1.el7.x86_64.rpm                            |  19 kB  00:00:00
(16/36): libXxf86vm-1.1.4-1.el7.x86_64.rpm                                |  18 kB  00:00:00
(17/36): libfontenc-1.1.3-3.el7.x86_64.rpm                                |  31 kB  00:00:00
(18/36): libxcb-1.13-1.el7.x86_64.rpm                                     | 214 kB  00:00:00
(19/36): libSM-1.2.2-2.el7.x86_64.rpm                                     |  39 kB  00:00:00
(20/36): urw-base35-bookman-fonts-20170801-10.el7.noarch.rpm              | 852 kB  00:00:00
(21/36): urw-base35-d050000l-fonts-20170801-10.el7.noarch.rpm             |  75 kB  00:00:00
(22/36): dejavu-sans-fonts-2.33-6.el7.noarch.rpm                          | 1.4 MB  00:00:07
(23/36): urw-base35-fonts-20170801-10.el7.noarch.rpm                      | 7.6 kB  00:00:00
(24/36): urw-base35-fonts-common-20170801-10.el7.noarch.rpm               |  19 kB  00:00:00
(25/36): urw-base35-gothic-fonts-20170801-10.el7.noarch.rpm               | 650 kB  00:00:00
(26/36): urw-base35-nimbus-roman-fonts-20170801-10.el7.noarch.rpm         | 860 kB  00:00:00
(27/36): urw-base35-nimbus-mono-ps-fonts-20170801-10.el7.noarch.rpm       | 796 kB  00:00:00
(28/36): urw-base35-nimbus-sans-fonts-20170801-10.el7.noarch.rpm          | 1.3 MB  00:00:00
(29/36): urw-base35-standard-symbols-ps-fonts-20170801-10.el7.noarch.rpm  |  40 kB  00:00:00
(30/36): urw-base35-z003-fonts-20170801-10.el7.noarch.rpm                 | 275 kB  00:00:00
(31/36): xorg-x11-font-utils-7.5-21.el7.x86_64.rpm                        | 104 kB  00:00:00
(32/36): xorg-x11-server-utils-7.7-20.el7.x86_64.rpm                      | 178 kB  00:00:00
(33/36): urw-base35-p052-fonts-20170801-10.el7.noarch.rpm                 | 978 kB  00:00:00
(34/36): libX11-common-1.6.7-3.el7_9.noarch.rpm                           | 164 kB  00:00:05
(35/36): libX11-1.6.7-3.el7_9.x86_64.rpm                                  | 607 kB  00:00:05
(36/36): urw-base35-c059-fonts-20170801-10.el7.noarch.rpm                 | 879 kB  00:00:05
-------------------------------------------------------------------------------------------------
合計                                                             789 kB/s |  10 MB  00:00:13
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : fontpackages-filesystem-1.44-8.el7.noarch                       1/37
  インストール中          : urw-base35-fonts-common-20170801-10.el7.noarch                  2/37
  インストール中          : libICE-1.0.9-9.el7.x86_64                                       3/37
  インストール中          : libSM-1.2.2-2.el7.x86_64                                        4/37
  インストール中          : dejavu-fonts-common-2.33-6.el7.noarch                           5/37
  インストール中          : dejavu-sans-fonts-2.33-6.el7.noarch                             6/37
  インストール中          : fontconfig-2.13.0-4.3.el7.x86_64                                7/37
  インストール中          : libfontenc-1.1.3-3.el7.x86_64                                   8/37
  インストール中          : 1:xorg-x11-font-utils-7.5-21.el7.x86_64                         9/37
  インストール中          : libXau-1.0.8-2.1.el7.x86_64                                    10/37
  インストール中          : libxcb-1.13-1.el7.x86_64                                       11/37
  インストール中          : libX11-common-1.6.7-3.el7_9.noarch                             12/37
  インストール中          : libX11-1.6.7-3.el7_9.x86_64                                    13/37
  インストール中          : libXext-1.3.3-3.el7.x86_64                                     14/37
  インストール中          : libXrender-0.9.10-1.el7.x86_64                                 15/37
  インストール中          : libXt-1.1.5-3.el7.x86_64                                       16/37
  インストール中          : libXmu-1.1.2-2.el7.x86_64                                      17/37
  インストール中          : libXrandr-1.5.1-2.el7.x86_64                                   18/37
  インストール中          : libXinerama-1.1.3-2.1.el7.x86_64                               19/37
  インストール中          : libXxf86misc-1.0.3-7.1.el7.x86_64                              20/37
  インストール中          : libXxf86vm-1.1.4-1.el7.x86_64                                  21/37
  インストール中          : libXi-1.7.9-1.el7.x86_64                                       22/37
  インストール中          : libXfixes-5.0.3-1.el7.x86_64                                   23/37
  インストール中          : libXcursor-1.1.15-1.el7.x86_64                                 24/37
  インストール中          : xorg-x11-server-utils-7.7-20.el7.x86_64                        25/37
  インストール中          : urw-base35-z003-fonts-20170801-10.el7.noarch                   26/37
  インストール中          : urw-base35-p052-fonts-20170801-10.el7.noarch                   27/37
  インストール中          : urw-base35-nimbus-roman-fonts-20170801-10.el7.noarch           28/37
  インストール中          : urw-base35-c059-fonts-20170801-10.el7.noarch                   29/37
  インストール中          : urw-base35-d050000l-fonts-20170801-10.el7.noarch               30/37
  インストール中          : urw-base35-nimbus-mono-ps-fonts-20170801-10.el7.noarch         31/37
  インストール中          : urw-base35-bookman-fonts-20170801-10.el7.noarch                32/37
  インストール中          : urw-base35-nimbus-sans-fonts-20170801-10.el7.noarch            33/37
  インストール中          : urw-base35-standard-symbols-ps-fonts-20170801-10.el7.noarch    34/37
  インストール中          : urw-base35-gothic-fonts-20170801-10.el7.noarch                 35/37
  インストール中          : urw-base35-fonts-20170801-10.el7.noarch                        36/37
  インストール中          : grafana-7.3.7-1.x86_64                                         37/37
### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd
 sudo /bin/systemctl daemon-reload
 sudo /bin/systemctl enable grafana-server.service
### You can start grafana-server by executing
 sudo /bin/systemctl start grafana-server.service
POSTTRANS: Running script
  検証中                  : libXext-1.3.3-3.el7.x86_64                                      1/37
  検証中                  : 1:xorg-x11-font-utils-7.5-21.el7.x86_64                         2/37
  検証中                  : fontconfig-2.13.0-4.3.el7.x86_64                                3/37
  検証中                  : libXinerama-1.1.3-2.1.el7.x86_64                                4/37
  検証中                  : libXrender-0.9.10-1.el7.x86_64                                  5/37
  検証中                  : urw-base35-z003-fonts-20170801-10.el7.noarch                    6/37
  検証中                  : libXxf86misc-1.0.3-7.1.el7.x86_64                               7/37
  検証中                  : libXxf86vm-1.1.4-1.el7.x86_64                                   8/37
  検証中                  : urw-base35-p052-fonts-20170801-10.el7.noarch                    9/37
  検証中                  : urw-base35-nimbus-roman-fonts-20170801-10.el7.noarch           10/37
  検証中                  : libXi-1.7.9-1.el7.x86_64                                       11/37
  検証中                  : libXt-1.1.5-3.el7.x86_64                                       12/37
  検証中                  : libICE-1.0.9-9.el7.x86_64                                      13/37
  検証中                  : fontpackages-filesystem-1.44-8.el7.noarch                      14/37
  検証中                  : grafana-7.3.7-1.x86_64                                         15/37
  検証中                  : urw-base35-c059-fonts-20170801-10.el7.noarch                   16/37
  検証中                  : urw-base35-d050000l-fonts-20170801-10.el7.noarch               17/37
  検証中                  : dejavu-fonts-common-2.33-6.el7.noarch                          18/37
  検証中                  : libxcb-1.13-1.el7.x86_64                                       19/37
  検証中                  : urw-base35-fonts-common-20170801-10.el7.noarch                 20/37
  検証中                  : urw-base35-fonts-20170801-10.el7.noarch                        21/37
  検証中                  : libX11-common-1.6.7-3.el7_9.noarch                             22/37
  検証中                  : libX11-1.6.7-3.el7_9.x86_64                                    23/37
  検証中                  : urw-base35-nimbus-mono-ps-fonts-20170801-10.el7.noarch         24/37
  検証中                  : dejavu-sans-fonts-2.33-6.el7.noarch                            25/37
  検証中                  : libXmu-1.1.2-2.el7.x86_64                                      26/37
  検証中                  : libXrandr-1.5.1-2.el7.x86_64                                   27/37
  検証中                  : urw-base35-bookman-fonts-20170801-10.el7.noarch                28/37
  検証中                  : urw-base35-nimbus-sans-fonts-20170801-10.el7.noarch            29/37
  検証中                  : libXau-1.0.8-2.1.el7.x86_64                                    30/37
  検証中                  : libSM-1.2.2-2.el7.x86_64                                       31/37
  検証中                  : libXcursor-1.1.15-1.el7.x86_64                                 32/37
  検証中                  : urw-base35-standard-symbols-ps-fonts-20170801-10.el7.noarch    33/37
  検証中                  : xorg-x11-server-utils-7.7-20.el7.x86_64                        34/37
  検証中                  : libXfixes-5.0.3-1.el7.x86_64                                   35/37
  検証中                  : libfontenc-1.1.3-3.el7.x86_64                                  36/37
  検証中                  : urw-base35-gothic-fonts-20170801-10.el7.noarch                 37/37

インストール:
  grafana.x86_64 0:7.3.7-1

依存性関連をインストールしました:
  dejavu-fonts-common.noarch 0:2.33-6.el7
  dejavu-sans-fonts.noarch 0:2.33-6.el7
  fontconfig.x86_64 0:2.13.0-4.3.el7
  fontpackages-filesystem.noarch 0:1.44-8.el7
  libICE.x86_64 0:1.0.9-9.el7
  libSM.x86_64 0:1.2.2-2.el7
  libX11.x86_64 0:1.6.7-3.el7_9
  libX11-common.noarch 0:1.6.7-3.el7_9
  libXau.x86_64 0:1.0.8-2.1.el7
  libXcursor.x86_64 0:1.1.15-1.el7
  libXext.x86_64 0:1.3.3-3.el7
  libXfixes.x86_64 0:5.0.3-1.el7
  libXi.x86_64 0:1.7.9-1.el7
  libXinerama.x86_64 0:1.1.3-2.1.el7
  libXmu.x86_64 0:1.1.2-2.el7
  libXrandr.x86_64 0:1.5.1-2.el7
  libXrender.x86_64 0:0.9.10-1.el7
  libXt.x86_64 0:1.1.5-3.el7
  libXxf86misc.x86_64 0:1.0.3-7.1.el7
  libXxf86vm.x86_64 0:1.1.4-1.el7
  libfontenc.x86_64 0:1.1.3-3.el7
  libxcb.x86_64 0:1.13-1.el7
  urw-base35-bookman-fonts.noarch 0:20170801-10.el7
  urw-base35-c059-fonts.noarch 0:20170801-10.el7
  urw-base35-d050000l-fonts.noarch 0:20170801-10.el7
  urw-base35-fonts.noarch 0:20170801-10.el7
  urw-base35-fonts-common.noarch 0:20170801-10.el7
  urw-base35-gothic-fonts.noarch 0:20170801-10.el7
  urw-base35-nimbus-mono-ps-fonts.noarch 0:20170801-10.el7
  urw-base35-nimbus-roman-fonts.noarch 0:20170801-10.el7
  urw-base35-nimbus-sans-fonts.noarch 0:20170801-10.el7
  urw-base35-p052-fonts.noarch 0:20170801-10.el7
  urw-base35-standard-symbols-ps-fonts.noarch 0:20170801-10.el7
  urw-base35-z003-fonts.noarch 0:20170801-10.el7
  xorg-x11-font-utils.x86_64 1:7.5-21.el7
  xorg-x11-server-utils.x86_64 0:7.7-20.el7

完了しました!
[root@gui ~]#

wgetの際に何回かタイムアウトしたみたいだけど、ここでは気にしない。

zabbix との連携

  • Zabbix plugin for Grafana インストール

Grafana と zabbix を連携させるのに必要な grafana-zabbix をインストール 公式は以下。

https://github.com/alexanderzobnin/grafana-zabbix

grafana-cli plugins install alexanderzobnin-zabbix-app

実行例

[root@gui ~]# grafana-cli plugins install alexanderzobnin-zabbix-app
installing alexanderzobnin-zabbix-app @ 4.1.1
from: https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/4.1.1/download
into: /var/lib/grafana/plugins

? Installed alexanderzobnin-zabbix-app successfully

Restart grafana after installing plugins . <service grafana-server restart>

[root@gui ~]#

<service grafana-server restart> と言われているので実行。

[root@gui ~]# service grafana-server restart
Restarting grafana-server (via systemctl):                 [  OK  ]
[root@gui ~]#
[root@gui ~]# systemctl status grafana-server
● grafana-server.service - Grafana instance
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; disabled; vendor preset: disabled)
   Active: active (running) since 水 2021-01-27 17:57:11 JST; 9s ago
     Docs: http://docs.grafana.org
 Main PID: 16127 (grafana-server)
   CGroup: /system.slice/grafana-server.service
           tq16127 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/r...
           mq16133 /var/lib/grafana/plugins/alexanderzobnin-zabbix-app/zabbix-plugin_linux_amd...

 1月 27 17:57:11 gui grafana-server[16127]: t=2021-01-27T17:57:11+0900 lvl=info msg="Conne...te3
 1月 27 17:57:11 gui grafana-server[16127]: t=2021-01-27T17:57:11+0900 lvl=info msg="Start...tor
 1月 27 17:57:11 gui grafana-server[16127]: t=2021-01-27T17:57:11+0900 lvl=info msg="Start...ins
 1月 27 17:57:11 gui grafana-server[16127]: t=2021-01-27T17:57:11+0900 lvl=info msg="Regis...put
 1月 27 17:57:11 gui grafana-server[16127]: t=2021-01-27T17:57:11+0900 lvl=info msg="Regis...nel
 1月 27 17:57:11 gui grafana-server[16127]: t=2021-01-27T17:57:11+0900 lvl=info msg="Regis...app
 1月 27 17:57:11 gui grafana-server[16127]: t=2021-01-27T17:57:11+0900 lvl=info msg="Regis...rce
 1月 27 17:57:11 gui systemd[1]: Started Grafana instance.
 1月 27 17:57:11 gui grafana-server[16127]: t=2021-01-27T17:57:11+0900 lvl=info msg="HTTP ...et=
 1月 27 17:57:11 gui grafana-server[16127]: t=2021-01-27T17:57:11+0900 lvl=info msg=Profil...lse
Hint: Some lines were ellipsized, use -l to show in full.
[root@gui ~]#

CentOS 7 だから systemctl で実行する必要があった気がするが、実行されたのでOKとしておく。 一応、OS起動後自動起動するように、systemctl の enable を実行しておく。

systemctl enable grafana-server

実行例

[root@gui ~]# systemctl enable grafana-server
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.
[root@gui ~]#
  • Grafana 連携用のユーザーをZabbixに作る

全ホストグループに対しての読み取り権限のみ(表示のみ)としたユーザーグループを作成。 そして、権限ユーザーのユーザーを作成して前記のホストグループへ所属するように設定。

  • Zabbixとの連携設定

WebブラウザGrafanaのWebUIにアクセス。

http://[ZabbixサーバのFQDNもしくはIPアドレス]:3000

↑ ログインIDとパスワードのデフォルトは admin / admin

ここから先はパラパラ漫画で表示。

  • Plugins を選択

  • Zabbix を見つけて、signed を選択

  • Enable を選択

  • Enable を選択後、以下の表示になればOK

  • トップに戻って、DATA SOURCES を選択

  • Zabbix を見つけて Select を選択

  • 表示された画面で必要な情報を入力する。まずは URL。

  • 下にスクロールして、Username と Password を入力

この Username と Password は Zabbix に作成した Grafana 用のユーザーの情報

  • このあと、Save & Test を押してエラーがでず正常に登録されたことを確認

エラーになった場合は、設定した情報を再度確認してみてください。

  • トップに戻って DASHBOARDS を選択

  • とりあえず、Zabbix System StatusZabbix Server Dashboardダッシュボードを選択して、以下の画面になるようにする

  • そしてトップに戻って Home を選択

ネタ

自分で見たいものを作成して、ダッシュボードも作ってみてください。 私は家の通信量とか、今通信できているスマホ系端末の状況を Ping 応答でグラフ化してみました。

何かダッシュボードのネタになりそうな良いものがあったら、どなたかご教示くださいませ。

Zabbixのテーブルをパーティショニングしてそのパーティション数をzabbixで監視する

Zabbixのテーブルをパーティショニングして、その切り替わり(drop と create) を mariadb のスケジューラで実施してみた。 zabbix からそのパーティション数を確認する方法を調べたので、メモしておきます。

/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf を修正

以下の記載を追加。

UserParameter=mysql.zabbix.partition.count[*],mysql zabbix -e"select count(*) from information_schema.partitions where table_name = '$1';"  | grep -E [0-9]+

zabbix-agent を再起動

systemctl restart zabbix-agent

Zabbix に監視アイテムを追加

  • タイプ:Zabbixエージェント
  • キー:mysql.zabbix.partition.count[history]
  • データ型:整数

その他

  • あとはお好みでトリガー設定などをすれば監視できる。
  • 監視アイテムでデータが取得できない場合は UserParameter に設定した SQL が実行できていない可能性がある。/etc/my.cnf に DB へのログイン情報を定義する必要があるかもです。

編集履歴

  • UserParameter 名と Zabbix アイテムキーのつけ方がセンスなかったので変更しました。。。
  • UserParameter に追記する SQL 分の内容を一部修正しました。