######################### SNMPv3の######################## #
yumのNET-SNMPをインストールします*
サービスのsnmpd開始
NET-SNMP-config設定--create-のSNMPv3ユーザー-ro -a XUKEQIANG -x DES -X ZHANGQING xkq
-c公共のsnmpwalkの-v 2cは-On 192.168.1.161
[ルート@ redaht69のSNMP]#grepの-v "#" のsnmpd.conf |はgrepの-v "^ $"
com2sec notConfigUserのデフォルトのパブリック
グループnotConfigGroup V1はnotConfigUser
グループnotConfigGroup V2CのnotConfigUser
view systemview含ま.1.3.6.1.2.1.1
view systemview含ま.1.3.6.1.2.1.25.1.1
view systemview 0.1を含みます
アクセスnotConfigGroup「」どのNOAUTH正確なsystemviewなしなし
不明のsysLocation(には、/etc/snmp/snmpd.conf)
sysContactルート<ルート@ localhostの>(/etc/snmp/snmp.local.conf設定)
dontLogTCPWrappersConnectsはい
procのmountd
10 1 sendmailのPROC
ディスク/ 10000
負荷12 14 14
ルーザーのxkq
[ルート@ redaht69のSNMP]#
snmpwalkの-v 3 -u xkq -a MD5 -A XUKEQIANGは-x DES -X ZHANGQING -l authPrivの192.168.1.161 IF-MIB :: ifOperStatus.2
snmpwalkの-v 3 -u xkq -a MD5 -A XUKEQIANG -x DES -X ZHANGQING -l authPrivの192.168.1.161 1.3.6.1.2.1.2.2.1.8
-c公共のsnmpwalkの-v 2cは-On 192.168.1.161 .1.3.6.1.2.1.25.2.3.1.3.37
-c公共のsnmpwalkの-v 2cは-On 192.168.1.161 hrStorageAllocationUnits
#########################のSNMPv3トラップ####################### ##
[ルート@のノード1〜]#systemctlの停止にsnmptrapd
[ルート@ノード1〜]#テール-200f /etc/snmp/snmptrapd.conf
snmptrapdのための#設定ファイルの例
#
#ませトラップは、デフォルトでは取り扱われていない、あなたはこのファイルを編集する必要があります!
#
#authCommunityログは、実行、純公的
authCommunityログ、実行し、ネットzabbix2019
#traphandleのSNMPv2-MIB ::せるcoldStartは/ usr / binに/ binに/ my_great_script風邪
#SNMPv3の
AUTHUSERログ、実行し、ネットtraptest
AUTHUSERログ、実行し、ネットtraptest1
perlのやる "/usr/sbin/zabbix_trap_receiver.pl"
[ルート@ノード1〜]#viの/var/lib/net-snmp/snmptrapd.conf
engineBoots 12
oldEngineID 0x80001f888033f867110d88415d00000000
createUser -e 0x80001f8880321a1d3b7b84415d00000000 traptest SHA mypasswordというAES
[ルート@ノード1〜]にsnmptrapdを開始systemctl#
[ルート@のノード1〜] #snmptrap -v 3 -n "" -a SHA -A mypasswordを-x AES -X mypasswordを-l authPrivの-u traptest -e 0x80001f8880321a1d3b7b84415d00000000 192.168.1.11 0のifDescr
[ルート@ノード1〜]#のsnmpwalk -v 3 -u xkq -a MD5 -A XUKEQIANGは-x DES -X ZHANGQING -l authPrivの192.168.1.161 IF-MIB :: ifOperStatus.2
IF-MIB :: ifOperStatus.2 = INTEGER:アップ(1)
[ルート@のノード1〜]#のsnmpwalk -c公共-v 2cを-On 192.168.1.161 IF-MIB :: ifOperStatus.2
.1.3.6.1.2.1.2.2.1.8.2 = INTEGER:アップ(1)
################################################## ####################
[ルート@ redaht69〜]#テール-20000 /usr/sbin/zabbix_trap_receiver.pl
#!/ usr / bin / perlの部分
#
#のZabbix
#著作権(C)2001から2016のZabbix SIA
#
#このプログラムはフリーソフトウェアです。あなたはそれを再配布および/または変更することができます
#それをGNU General Public Licenseの下で公開され
#フリーソフトウェア財団。ライセンスのバージョン2、またはいずれか
#(あなたのオプションで)それ以降のバージョン。
#
#このプログラムはその有用性が期待されて配布され、
#全くの無保証。のにも黙示の保証なし
#特定の目的に対する商品性や適合。見ます
詳細は、#GNU一般公衆利用許諾契約書。
#
#あなたは、GNU一般公衆利用許諾契約書の写しを受け取っているはずです
このプログラムと一緒に#; ない場合は、フリーソフトウェアへの書き込み
#財団、(株)、51フランクリン・ストリート、5階、ボストン、マサチューセッツ州02110から1301、USA。
#
#########################################
ZABBIX SNMPトラップレシーバABOUT #### ####
#########################################
#これは、サーバーにデータを送信するために設計された組み込みのperl SNMPトラッパー受信機です。
#受信機は、上で実行しているのZabbixサーバまたはプロキシに受信したSNMPトラップを通過します
#同じマシン。それに応じて、サーバ/プロキシを設定してください。
#
#NET-SNMPに埋め込まれたPerlを使用して詳細についてはこちらをご覧ください:
#http://net-snmp.sourceforge.net/wiki/index.php/Tut:Extending_snmpd_using_perl
#################################################
#### ZABBIX SNMP TRAPの受信機構成####
#################################################
###オプション:SNMPTrapperFile
#サーバー(またはプロキシ)にデータを渡すために使用される一時ファイル。同じでなければなりません
#サーバー(またはプロキシ)コンフィギュレーションファイルのように。
#
#必須:はい
# デフォルト:
$ SNMPTrapperFile = '/var/log/zabbix/snmptrap.log';
###オプション:DateTimeFormat
#のstrftime()形式の日付時刻形式。対応を持っていることを確認してください
SNMPトラップのアイテムの#ログ時刻形式。
#
#必須:はい
# デフォルト:
$ DateTimeFormat = '%のH:%のM:%のSの%Y /%M /%D'。
###################################
#### ZABBIX SNMPトラップレシーバ####
###################################
Fcntl QW(O_WRONLY O_APPEND O_CREAT)を使用します。
POSIX QW(のstrftime)を使用します。
サブzabbix_receiver
{
私(%のpdu_info)=%{$ _ [0]}。
私(@varbinds)= @ {$ _ [1]}。
#出力ファイルを開きます
(O_CREAT、0666)| | O_APPEND sysopenで(OUTPUT_FILE、$ SNMPTrapperFile、O_WRONLY)しない限り、
{
;:印刷STDERRは "!$ \ nは[$ SNMPTrapperFile]を開くことができません"
NETSNMPTRAPD_HANDLER_FAILを返します。
}
#ホスト名を取得
私の$ホスト名= $ pdu_info { 'receivedfrom'} || '道の';
もし($ホスト名NE '不明'){
$ホスト名=〜/\[(.*?)\].*/。#フォーマット: "UDP:[127.0.0.1]:41070 - > [127.0.0.1]"
$ホスト名= $ 1 || '道の';
}
#プリントトラップヘッダ
#タイムスタンプは(省略可能)最初の行のbegginingに配置する必要があります
#最初の行は「ZBXTRAP [IP / DNSアドレスを」ヘッダを含める必要があります
#* IP / DNSアドレスは、対応するSNMPトラップアイテムを見つけるために使用されます
#*このヘッダは、処理中に切断される(項目値には表示されません)
printf OUTPUT_FILE "%sのZBXTRAP%sの\ n" は、strftimeの($ DateTimeFormat、LOCALTIME)、$ホスト名。
#PDU情報を印刷
#print OUTPUT_FILE "PDU INFO:\ nを";
#foreach私の$キー(キー(%のpdu_info))
#{
#のprintf OUTPUT_FILE "%-30s%S \ n"、$キー、$のpdu_info {$キー}。
#}
#変数バインディングを印刷します:
印刷OUTPUT_FILE "変数バインディング:\ nを";
私の$ xを#foreach(@varbinds)
#{
#のprintf OUTPUT_FILE "%-30sタイプ=% - 2D値=%S \ n"、$ X - > [0]、$ X - > [2]、$ X - > [1]。
#}
私の$ xをforeachの(@varbinds)
{
printf OUTPUT_FILE "%-30s%S \ n"、$ X - > [0]、$ X - > [1]。
}
クローズ(OUTPUT_FILE)。
NETSNMPTRAPD_HANDLER_OKを返します。
}
NetSNMP :: TRAPRECEIVER ::登録( "すべて"、\&zabbix_receiver)または
ダイ「のZabbix SNMPトラップレシーバの\ nを登録できませんでした」。
「ZabbixのSNMPトラップレシーバの\ nをロード」STDOUTを印刷します。