仕事でSNMPv3を使うことになったので、自宅で事前に使ってみました。
1.まずは、↓の手順を参考に、Zabbixサーバを構築します。
Zabbix 4.4 インストール手順(CentOS7 / Apache2.4 / PHP5.4 / MariaDB5.5)
https://densan-hoshigumi.com/server/zabbix-4-4-centos7-apache-mariadb-install
2.監視対象側(SNMPv3エージェント側)の設定
net-snmpのインストール
yum -y install net-snmp
yum -y install net-snmp-utils
snmpdの開始
systemctl start snmpd
snmpdを開始すると、/var/lib/net-snmp/snmpd.conf
が自動で作成されます。
初期の状態
view /var/lib/net-snmp/snmpd.conf
setserialno 774288876
engineBoots 1
oldEngineID 0x80001f8880b83baa2a4313805e00000000
/etc/snmp/snmpd.confの設定
vi /etc/snmp/snmpd.conf
下記を追記
rwuser testsnmp priv
ユーザ種別:rwuser(読み書き可)
ユーザ名:testsnmp
認証タイプ:priv(ユーザ認証、暗号化とも有り)
で設定します。
SNMP認証用のユーザ作成
/var/lib/net-snmp/snmpd.conf
に設定をします。
このファイルは、snmpdが停止していないと再起動したときに中身が初期化されてしまうので、
中身を変更するときは、snmpdを停止します。
snmpdの停止
systemctl stop snmpd
vi /var/lib/net-snmp/snmpd.conf
下記を追記
createUser testsnmp SHA Mark456# AES Mark456#
ユーザ名:testsnmp
認証プロトコル:SHA
認証パスワード:Mark456#
暗号化プロトコル:AES
暗号化パスワード:Mark456#
snmpdの開始
systemctl start snmpd
ファイルの中央辺り (コメントアウトされていない場所の何処か)に書き込みます。
ここでsnmpdを再度起動すると、上記のcreateUser文が暗号化されます。
view /var/lib/net-snmp/snmpd.conf
usmUser 1 3 0x80001f8880b83baa2a4313805e00000000 “testsnmp” “testsnmp” NULL .1.3
.6.1.6.3.10.1.1.3 0xf0eb53f59c25a245cc21f5bb1dec552dcf07391a .1.3.6.1.6.3.10.1.2
.4 0xf0eb53f59c25a245cc21f5bb1dec552d “”
Viewとアクセス設定(snmpd.confで設定することもできます)
snmpvacm -v 3 -u testsnmp -l authPriv -a SHA -A Mark456# -x AES -X Mark456# localhost createView all .1 80
View successfully created.
snmpvacm -v 3 -u testsnmp -l authPriv -a SHA -A Mark456# -x AES -X Mark456# localhost createAccess local_group 3 3 1 all none none
書き込み権限の無い、rouserで設定しようとすると下記のようにエラーになります。
snmpvacm -v 3 -u testsnmp -l authPriv -a SHA -A Mark456# -x AES -X Mark456# localhost createView all .1 80
Error in packet.
Reason: noAccess
Failed object: SNMP-VIEW-BASED-ACM-MIB::vacmViewTreeFamilyStatus.”all”.1.1
snmpwalkでMIBが取得できることを確認
snmpwalk -v 3 -u testsnmp -l authPriv -a SHA -A Mark456# -x AES -X Mark456# localhost
snmpgetでsysName.0が取得できることを確認
snmpget -v3 -l authPriv -u testsnmp -a SHA -A Mark456# -x AES -X Mark456# localhost 1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: centos7
3.Zabbixサーバ側での設定
SNMPv3のアイテム設定は下記のようになります。


セキュリティ名のところにユーザ名を指定します。
設定が成功すると、ホスト名が取得できます。
