amegonの雑なブログ

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

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 分の内容を一部修正しました。

Redmineのインストール

自宅環境に Redmine をインストール

ふと自宅に Redmine 環境を作成してみる。 そのメモ。

インストール方法

以下に記載されている情報がすべてでした。

github.com

何も迷うことなくインストール完了と思ったが apache のポート番号が 80 で設定しようとしてエラー。

80 は docker の gitlab が使用しているのでした。

サーバのポート番号を変更

docker で使用している gitlab と共存したかったので、redmine のポート番号を 8080 に変更する。

/etc/httpd/conf/httpd.conf の以下の箇所を変更。

  • 変更前
Listen 80
  • 変更後
Listen 8080

仮想マシン初期設定手順

仮想マシンをインストールしたら、以下のことをやろう。

これを後で ansible 化しておく。

zabbix-agent のインストール

  • 4.0.x のインストール
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum -y install zabbix-agent
  • /etc/zabbix/zabbix_agentd.conf の編集
vi /etc/zabbix/zabbix_agentd.conf
LogType=system

Server=[zabbixサーバーのIPアドレス]

ServerActive=[zabbixサーバーのIPアドレス]

Hostname=gui
systemctl enable zabbix-agent
systemctl restart zabbix-agent
  • /etc/rsyslog.conf の編集 (syslog 送信)
vi /etc/rsyslog.conf
*.* @[syslogサーバーのIPアドレス]:[syslogサーバーのポート番号];RSYSLOG_SyslogProtocol23Format
  • rsyslog の再起動
systemctl restart rsyslog

grafana の導入

Zabbix のダッシュボードを変更、もしくは置き換えられないかと思い立ち、grafana を導入。

インストールについては、先人の方々の情報とおりにインストールすれば、難しいところはなかった。

(nginxやapacheを使用したリバースプロキシについては使っていません。。。)

グラフは Zabbix と遜色ない気がする。 見た目もクール。 なんとなくいい感じ。

f:id:amegon:20190710144455p:plain

Hyper-V で仮想マシンに接続後画面が表示しきれない場合

hyper-V 上で OS インストールしようとしたときに画面下部にスクロールできず、詰んだ、と思った。。。

  • 表示 → ズームレベル を200%に設定
  • 画面を最大化
  • すると、スクロールできるようになった。