SNMP V3の設定

######################### 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を印刷します。









おすすめ

転載: blog.51cto.com/qqran/2425422