やること
先日Zabbixを構築したので、LinuxサーバをZabbixで監視してみたいと思います。
SNMPだけで監視することとして、LinuxにZabbixエージェントは導入しません。
テンプレートも、Zabbixでデフォルトで用意されているものを使用します。
Zabbixサーバのセットアップ(インストール)は別の記事に手順をまとめています。参考になれば幸いです。
Zabbixの構築手順(CentOS 7,MySQL)インストールとログインまで
環境
項目 | OS | ホスト名 | IPアドレス |
Zabbixサーバ | CentOS 7 | ZABXVM01 | 10.0.0.113 |
Zabbixクライアント | CentOS 7 | TMDSVM01 | 10.0.0.112 |
Zabbixのバージョンは5.0.11を使用しています。
Linuxサーバ側の準備
SNMPのインストール
ZabbixサーバがZabbixクライアント(Linuxサーバ)に対して、SNMPで検知できるようにするため、LinuxサーバにSNMPをインストールします。
[root@TMDSVM01 ~]# yum install net-snmp
読み込んだプラグイン:fastestmirror, langpacks
~~~(省略)~~~
依存性を解決しました
=====================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=====================================================================================================================
インストール中:
net-snmp x86_64 1:5.7.2-49.el7_9.1 updates 325 k
依存性関連でのインストールをします:
net-snmp-agent-libs x86_64 1:5.7.2-49.el7_9.1 updates 707 k
トランザクションの要約
=====================================================================================================================
インストール 1 パッケージ (+1 個の依存関係のパッケージ)
総ダウンロード容量: 1.0 M
インストール容量: 2.9 M
Is this ok [y/d/N]: y
~~~(省略)~~~
インストール:
net-snmp.x86_64 1:5.7.2-49.el7_9.1
依存性関連をインストールしました:
net-snmp-agent-libs.x86_64 1:5.7.2-49.el7_9.1
完了しました!
[root@TMDSVM0 ~]#
SNMPの設定
/etc/snmp/snmpd.confに追記を行います。★マークを付けているところが追記した個所です。
[root@TMDSVM01 ~]# cat /etc/snmp/snmpd.conf | grep -v '#' | grep -v '^$'
com2sec notConfigUser default public
com2sec snmpUser default homeCom ★
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
group snmpGroup v2c snmpUser ★
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
view snmpView included .1 ★
access notConfigGroup "" any noauth exact systemview none none
access snmpGroup "" any noauth exact snmpView none none ★
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
[root@TMDSVM01 ~]#
snmpd.confの設定(コミュニティ名など)を表にすると下のようになります。(参考まで)
項目 | 項目名 | 設定値 |
コミュニティ名 | community | homeCom |
セキュリティ名 | sec.name | snmpUser |
グループ名 | groupName | snmpGroup |
SNMPバージョン | securityModel | v2c |
ビュー名 | name | snmpView |
SNMPの有効化
snmpdサービスを起動して有効化します。
[root@TMDSVM01 ~]# systemctl start snmpd
[root@TMDSVM01 ~]#
[root@TMDSVM01 ~]# systemctl enable snmpd
Created symlink from /etc/systemd/system/multi-user.target.wants/snmpd.service to /usr/lib/systemd/system/snmpd.service.
[root@TMDSVM01 ~]#
[root@TMDSVM01 ~]# systemctl status snmpd
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
Loaded: loaded (/usr/lib/systemd/system/snmpd.service; enabled; vendor preset: disabled)
Active: active (running) since 日 2021-05-02 09:12:06 JST; 3h 40min ago
Main PID: 1406 (snmpd)
CGroup: /system.slice/snmpd.service
mq1406 /usr/sbin/snmpd -LS0-6d -f
5月 02 09:12:06 TMDSVM01 systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
5月 02 09:12:06 TMDSVM01 systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
[root@TMDSVM01 ~]#
Zabbixサーバ側の設定
ZabbixサーバのWEBインターフェースにログインします。
「http://[ZabbixサーバのIPアドレス]/zabbix/」にアクセスしてログインします。
ホストの追加
Zabbixの監視対象としてホストを追加します。
- [設定]から[ホスト]を選択します。
- [ホストの作成]をクリックします。
- [ホスト名]と[表示名]を入力します。
- グループの[選択]をクリックします。
- [Linux servers]にチェックを入れて[選択]をクリックします。
- インターフェース欄にすでに存在する項目の[削除]ボタンをクリックします。
※これはZabbixエージェントを使用しての監視なので、本件では削除します。 - インターフェース欄の[追加]から[SNMP]を選択します。
- 監視対象のIPアドレスを入力します。ポートは161のままで、SNMPバージョンもSNMPv2のままです。(前述のLinuxサーバ側の設定の際に、SNMPバージョンに”v2c“を設定しているので)
その後、[テンプレート]タブに移動します。 - [新規テンプレートをリンク]に”linux”と打ち込むと候補が表示されるので、「Template OS Linux SNMP」を選びます。
- [マクロ]タブに移動します。
- [{$SNMP_COMMUNITI}]の値に、Linuxサーバ側のSNMPで設定したコミュニティ名(ここでは”homeCom”)を入力します。
その後、[追加]ボタンをクリックします。 - 「ホストを追加しました」と表示されれば完了です。
監視間隔の変更
「Template OS Linux SNMP」というテンプレートを使用して監視対象のホストを追加しましたが、監視間隔がほとんど1時間となっています。(1時間に1回対象ホストをチェックする)
これでは間隔が長すぎるので、1分間隔に変更します。
- [設定]から[ホスト]をクリックします。
- 追加したホスト(ここでは”TMDSVM01″)の[ディスカバリ]をクリックします。
※「Template OS Linux SNMP」には5つの監視定義が含まれているので”ディスカバリ 5“と表示されています。 - 監視定義が5つありますが、例として一番上の[Block devices descovery]をクリックします。
- [監視間隔]が「1h」(1時間間隔)となっているので、ここでは「1m」(1分間隔)に変更します。
その後、[更新]ボタンをクリックします。 - 「ディスカバリのルールを更新しました」と表示されれば完了です。
- 必要に応じてそのほかの監視定義の監視間隔も1時間間隔から変更します。
「Template OS Linux SNMP」のテンプレートで言えば、下記の監視定義の監視間隔が「1h」(1時間間隔)になっています。
・SNMP: Block devices discovery
・EtherLike-MIB Discovery
・Mounted filesystem discovery
・Network interfaces discovery
グラフで表示を確認
実際に1分間隔でデータを取得しているか確認します。
グラフを表示して確認します。
- Zabbixコンソールで[監視データ]から[ホスト]をクリックします。
- 追加したホスト(ここでは”TMDSVM01″)をクリックして、プルダウンから[グラフ]をクリックします。
- グラフが表示されて、1分間隔でデータが取得できていることが確認できます。
以上です。
お読みいただきありがとうございました。
コメント