【Zabbix】Zabbix でSNMPトラップ監視できる環境を構築

はじめに

Zabbixサーバでトラップ受信できる環境の構築を行っていきます。

Zabbix5.0がインストールことを前提に話を進めていますのでインストールが終わっていない場合は下記のリンクを参照ください。

EPELの追加

# yum install -y epel-release
# vi /etc/yum.repos.d/epel.repo
[epel]
enabled=1
↓
enabled=0

SNMPTTのインストール

# yum --enablerepo=epel install -y snmptt

※下記エラーが出る場合の対応
 One of the configured repositories failed (不明),
# yum clean allを実行後に"snmptt"をインストールしてみてください。

# yum --enablerepo=epel install -y net-snmp net-snmp-utils net-snmp-perl perl-Sys-Syslog

snmpttの設定

snmptt.iniファイルの編集

# vi /etc/snmp/snmptt.ini
mode = standalone
↓
mode = daemon

net_snmp_perl_enable = 0
↓
net_snmp_perl_enable = 1

net_snmp_perl_best_guess = 0
↓
net_snmp_perl_best_guess = 2

#date_time_format =
↓
date_time_format = %Y/%m/%d %H:%M:%S

sleep = 5
↓
sleep = 1

DEBUGGING = 0
↓
DEBUGGING = 1

DEBUGGING_FILE =
# DEBUGGING_FILE = /var/log/snmptt/snmptt.debug
↓
# DEBUGGING_FILE =
DEBUGGING_FILE = /var/log/snmptt/snmptt.debug

DEBUGGING_FILE_HANDLER =
# DEBUGGING_FILE_HANDLER = /var/log/snmptt/snmptthandler.debug
↓
# DEBUGGING_FILE_HANDLER =
DEBUGGING_FILE_HANDLER = /var/log/snmptt/snmptthandler.debug

[TrapFiles]
# A list of snmptt.conf files (this is NOT the snmptrapd.conf file).  The COMPLETE path
# and filename.  Ex: '/etc/snmp/snmptt.conf'
snmptt_conf_files = <<END
/etc/snmp/snmptt.conf
↓
/etc/snmp/snmptt_base.conf

snmptt.confファイルの編集

# mv /etc/snmp/snmptt.conf /etc/snmp/snmptt.conf.bak

# vi /etc/snmp/snmptt_base.conf
EVENT general .1.3.6.1.6.3.1.1.5.1 "coldStart" Normal
FORMAT ZBXTRAP $aA $ar $*

EVENT general .1.3.6.1.6.3.1.1.5.2 "warmStart" Normal
FORMAT ZBXTRAP $aA $ar $*

EVENT general .1.3.6.1.6.3.1.1.5.3 "linkDown" Critical
FORMAT ZBXTRAP $aA $ar $*

EVENT general .1.3.6.1.6.3.1.1.5.4 "linkUp" Normal
FORMAT ZBXTRAP $aA $ar $*

snmptrapd の設定

# vi /etc/sysconfig/snmptrapd

OPTIONS="-m +ALL -Lsd -On"


# vi /etc/snmp/snmptrapd.conf
authCommunity   log,execute,net public
perl do "/usr/share/snmptt/snmptthandler-embedded"

Zabbix Server の設定

# vi /etc/zabbix/zabbix_server.conf

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
↓
SNMPTrapperFile=/var/log/snmptt/snmptt.log

# StartSNMPTrapper=0
↓
StartSNMPTrapper=1

各種サービスの起動

# systemctl start snmptt
# systemctl enable snmptt
# systemctl start snmptrapd
# systemctl enable snmptrapd
# systemctl restart zabbix-server

動作確認1

# snmptrap -v 2c -c public 127.0.0.1  '' .1.3.6.1.6.3.1.1.5.3
# tail /var/log/snmptt/snmptt.log
2020/06/28 13:09:12 .1.3.6.1.6.3.1.1.5.3 Critical "linkDown" 127.0.0.1 - ZBXTRAP 127.0.0.1 127.0.0.1 

動作確認2

Zabbixサーバのコンソールで受信できているかの確認を行います。

Zabbixサーバのコンソールに接続し、トラップ受信をするためのアイテムを作成

アイテムの作成

タイプ:SNMPトラップ

キー:snmptrap[linkDown]

データ型:ログ

トリガーの作成

深刻度:重度の障害

条件式:{Zabbix server:snmptrap[linkDown].regexp(linkDown)}=1

手動クローズの許可:チェック

コンソールから接続しトラップを送信

# snmptrap -v 2c -c public 127.0.0.1  '' .1.3.6.1.6.3.1.1.5.3

ダッシュボード上に登録したイベントが表示されれば設定OK

おまけ

ヤマハ製品のトラップ受信できる環境構築を行いました。興味のある方はぜひご覧ください。

おすすめの書籍

初めてZabbixを触る人向け(Zabbix Serverの構築の基礎

説明しているバージョンは3.0と古いですが、Kindle Unlimitedに入会している人は無料で読むことができます。(今のところ5.0に対応した書籍は出ていないのでバージョンは気にしなくてOKかと思います。)

がっつりZabbixを勉強したい人向け(Zabbix統合監視実践入門 )

Zabbix4.0での説明されています。

正直『Zabbix Serverの構築の基礎』で良いかと思いますが(Kindle Unlimitedであれば無料なので。。)、こちらのほうが詳細に書かれています。

がっつり『監視』の勉強をしたい人向け(入門 監視 ―モダンなモニタリングのためのデザインパターン )

ほんとお勧めです。
これまで監視する環境の構築や実際に監視を行う業務をなんとな~く行ってきたのですが、監視のアンチパターンやデザインパターン(監視ってこうあるべきだよね的なこと)など『監視』についての概念が書いてあります。(当然、死活監視、リソース監視など一般的な解説もされています)

監視初心者が読んでも勉強になりますが、監視業務に携わった人が改めて読むと業務のやり方を見直す良いきっかけになると思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA