目次

33.snmp設定

snmp設定について理解した部分を記載してみる。
今回は下記の図の設定としてみた。

snmp設定

使用ポート

・snmpd:161(外部からMIBデータを参照される時に利用)
・snmptrapd:162(外部からTrapを受信する時に利用)

コマンドメモ

#インストール
dnf install net-snmp net-snmp-libs net-snmp-utils

#設定変更
vi /etc/sysconfig/snmptrapd
vi /etc/sysconfig/snmpd
vi /etc/snmp/snmptrapd.conf
vi /etc/snmp/snmpd.conf
vi /etc/snmp/snmp.conf

#適用/有効化
systemctl enable snmptrapd
systemctl restart snmptrapd

systemctl enable snmpd
systemctl restart snmpd

クライアント設定

/etc/sysconfig/snmpd

#下記を追記(下記の記載だけでも良い)publicコミュニティに送信する設定
trapcommunity public
trapsink [送信先IPアドレス] public

サーバ設定

/etc/snmp/snmptrapd.conf

authCommunity   log,execute,net public
#disableAuthorization yes  #左記の記載はコミュニティに関係なく全てのTrapを受信する

/etc/snmp/snmp.conf

https://changineer.info/server/monitoring/monitoring_snmp.html

# こんな感じで書くらしい、[/usr/share/snmp/private-bims]が追加MIBのディレクトリ
MIBDIRS /usr/share/snmp/mibs:/usr/share/snmp/private-bims
MIBS all

/etc/sysconfig/snmptrapd

OPTIONS="-m +ALL -Ls6 -On -p /var/run/snmptrapd.pid"  #Local6を使用してsyslog経由でメッセージをログに記録

/etc/sysconfig/snmpd

RHEL8ではデフォルトでは何も書き出さない設定のようです。

# snmpd command line options
# '-f' is implicitly added by snmpd systemd unit file
# OPTIONS="-LS0-6d"

/etc/rsyslog.conf

RULES

・messegesにsyslogサーバのログを重複させないようにする。

変更前

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

変更後

・[& stop]を[/var/log/messages]書き出し前に入れることで重複を回避している。

local6.*                                                /var/log/syslog/snmptrapd.log
& stop

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

/etc/logrotate.d/syslog設定詳細

参考までに[/etc/logrotate.d/syslog]に追記する方法でログローテの設定をしている。

変更前

/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    missingok
    notifempty
    sharedscripts
    postrotate
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
    endscript
}

変更後

/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/syslog/snmptrapd.log
{
    missingok
    sharedscripts
    postrotate
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
    endscript
}

参考サイト

http://www.net-snmp.org/docs/man/snmpcmd.html
http://uso59634.blog63.fc2.com/blog-entry-12.html
https://changineer.info/server/monitoring/monitoring_snmp.html
https://software.fujitsu.com/jp/manual/manualfiles/m130017/b1fw5964/05z200/b5964-a-11-00.html
https://www.ilovex.co.jp/blog/system/projectandsystemdevelopment/snmpdsyslog.html