以下記事で、AlmaLinux9.4+Zabbix 7.0のインストール手順を記載した。
Zabbix自体には、SNMP Trapを受信する機能はないため、snmptrapdやSNMPTTと連携して監視設定を行う必要がある。
本記事では、Zabbix 7.0の環境にて、SNMPTTを用いたSNMP Trap監視設定の手順を記載する。
環境
導入環境は以下となる。事前にZabbixサーバーがインストールされていることが前提となる。
- OS : AlmaLinux 9.4
- Zabbix : 7.0
- SNMPTT : 1.5
SNMPTTインストール
1. リポジトリを登録
SNMPTTは通常のAlmaLinuxのリポジトリには存在しないため、EPELとCRBのリポジトリを登録する。なお、CRB (CodeReady Builder)のリポジトリは、以前はPowerToolsという名称で呼ばれていたものとなる。
dnf install epel-release -y
dnf config-manager --set-enabled crb
2. パッケージをインストール
以下コマンドでNET-SNMPと各種関連Perlモジュールをインストールする。
dnf install net-snmp net-snmp-utils net-snmp-perl perl-Time-HiRes \
perl-Text-Balanced perl-Sys-Syslog perl-DBI perl-DBD-MySQL perl-DBD-Pg \
perl-threads perl-Digest-MD5 perl-DBD-ODBC perl-Config-IniFiles perl-Net-IP -y
3. SNMPTTをダウンロード
SNMPTTを以下公式サイトからダウンロードする。今回はsnmptt_1.5.tgz
をダウンロードした。
http://www.snmptt.org/downloads.shtml
4. SNMPTTを手動インストール
先ほどダウンロードしたSNMPTTのファイルをサーバーの任意のディレクトリに配置し、展開する。
tar zxvf snmptt_1.5.tgz
展開したファイルに含まれるSNMPTTとSNMPTT handlerの実行ファイルを/usr/sbin/
に配置する。
cd snmptt_1.5
cp snmptt /usr/sbin/
chmod +x /usr/sbin/snmptt
cp snmptthandler /usr/sbin/
chmod +x /usr/sbin/snmptthandler
SNMPTT実行用ユーザーsnmptt
を-r
オプションを付けてシステムユーザーとして作成する。
adduser -r snmptt
設定ファイルを/etc/snmptt
に配置する。
mkdir /etc/snmptt
chown -R snmptt.snmptt /etc/snmptt
chmod 750 /etc/snmptt
cp snmptt.ini /etc/snmptt/
ログ等を保管するディレクトリを作成する。
mkdir /var/log/snmptt
chown -R snmptt.snmptt /var/log/snmptt
chmod -R 755 /var/log/snmptt
mkdir /var/spool/snmptt/
chown -R snmptt.snmptt /var/spool/snmptt
chmod -R 750 /var/spool/snmptt
systemdに起動用設定ファイルを配置する。
cp snmptt.service /usr/lib/systemd/system/snmptt.service
chmod -x /usr/lib/systemd/system/snmptt.service
ログローテート用の設定ファイルを配置する。
cp snmptt.logrotate /etc/logrotate.d/snmptt
ログローテートの設定ファイルの記載が一部適切ではないので、★箇所を
修正しておく。
# vi /etc/logrotate.d/snmptt
/var/log/snmptt/snmptt*.log /var/log/snmptt/snmptthandler.debug {
weekly
notifempty
missingok
}
/var/log/snmptt/snmptt.debug {
weekly
notifempty
missingok
postrotate
/usr/bin/systemctl reload snmptt >/dev/null 2>/dev/null # ←★reloadコマンドを修正
endscript
}
5. SNMPTT設定
SNMPTTの設定ファイルsnmptt.ini
を以下の通り修正する。
# vi /etc/snmptt/snmptt.ini
net_snmp_perl_enable = 1
log_enable = 1
log_file = /var/log/snmptt/snmptt.log
date_time_format = %Y/%m/%d %H:%M:%S
syslog_enable = 0
Trap受信時の出力内容を定義するsnmptt.conf
ファイルを作成する。
# cat << 'EOF' > /etc/snmptt/snmptt.conf
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $*
EOF
SNMPTTを起動させる。
systemctl start snmptt
systemctl enable snmptt
systemctl status snmptt
6. snmptrapd設定
snmptrapdの設定を行う。
# vi /etc/sysconfig/snmptrapd
OPTIONS="-On -Lsd -p /var/run/snmptrapd.pid -M /usr/share/snmp/mibs:/usr/share/snmp/venders -m all"
# vi /etc/snmp/snmptrapd.conf
authCommunity log,execute,net public
traphandle default /usr/sbin/snmptthandler
snmptrapdを起動させる。
systemctl start snmptrapd
systemctl enable snmptrapd
systemctl status snmptrapd
7. SNMP Trap受信テスト
一度ここでsnmptrap
コマンドを用いて、SNMP Trapを送信しておく。
snmptrap -v2c -c public 127.0.0.1 "" .1.3.6.1.6.3.1.1.5.1 coldStart s "Start"
SNMP Trap送信後、SNMPTTのログにTrapの内容が出力されていれば問題ない。
# cat /var/log/snmptt/snmptt.log
2024-06-15T12:30:48+0900 .1.3.6.1.6.3.1.1.5.1 Normal "Status Events" localhost - ZBXTRAP Device reinitialized (coldStart)
8. Zabbixサーバーの設定
Zabbixサーバーは以下設定を変更しておく。
# vi /etc/zabbix/zabbix_server.conf
SNMPTrapperFile=/var/log/snmptt/snmptt.log
StartSNMPTrapper=1
変更を反映するため、Zabbixサーバーのサービスを再起動しておく。
systemctl restart zabbix-server
ZabbixにおけるSNMP Trap監視設定
SNMPTTの設定が完了したら、ZabbixのWeb画面にログインし、テンプレート、アイテム、トリガーを設定する。
1. テンプレートを設定
- テンプレート名:SNMP Trap
- グループ:Templates
2. アイテムを設定
- 名前:SNMP Trap log
- タイプ:SNMP トラップ
- キー:snmptrap[]
- データ型:ログ
- ヒストリ保存期間:Store up to 90d
- ログの時間の形式:yyyy/MM/dd hh:mm:ss
- 有効:チェック
3. トリガーを設定
- 名前:SNMP Trap from {HOST.NAME} : {ITEM.LASTVALUE1}
- 深刻度:軽度の障害 ※任意の深刻度で設定する
- 条件式:
last(/SNMP Trap/snmptrap[])<>""
- 障害イベント生成モード:複数
- 手動クローズを許可:チェック
- 有効:チェック
4. 監視対象機器に対してテンプレート適用とSNMPインタフェース設定
監視対象機器に対してテンプレート適用とSNMPインタフェース設定を行い監視を有効化する。
5. SNMP Trap受信テスト
再度snmptrap
コマンドを用いて、SNMP Trapを送信しておく。
snmptrap -v2c -c public 127.0.0.1 "" .1.3.6.1.6.3.1.1.5.1 coldStart s "Start"
Zabbixサーバーの監視画面にて、トリガーによる障害検知がされれば設定は完了となる。
0 件のコメント:
コメントを投稿