ãããã¯ãŒã¯ç£èŠã®äžå¯æ¬ ãªéšåã¯ãå¶åŸ¡ããããµãŒããŒããã³ãã®ä»ã®ã°ã©ã³ãããã®ãã°ã®åéã§ãã çµå±ãåã
ã®ããŒã¿èŠçŽ ãšãããã®ããªã¬ãŒããããäœæããŠããããæç¹ã§ãéèŠãªãã®ãèŠå€±ããå¶åŸ¡ã§ããªãç¶æ³ãçºçããŸãã çµè«ïŒãäœãæ©èœããŸããããšãç£èŠã·ã¹ãã ã¯ãã¹ãŠãæ£åžžã§ãããšèšããŸãã
ãããã£ãŠã
æåã«ããããããšã¯ããã¹ãŠã®ãã°ãzabbixã«åéãããããã¯ãŒã¯ããŒãããšã«ã°ã«ãŒãåããŠãæ©åšã«ã¢ã¯ã»ã¹ããæéãç¡é§ã«ããã«åžžã«ç®ã§ã¡ãã»ãŒãžã確èªã§ããããã«ããããšã§ããã
2ã€ç®ã¯ãçããªãã€ãã³ãã«ã泚æãæãããšã§ãã
å€ãã®äººã¯ãZabbixãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ãããŠãããµãŒããŒãŸãã¯ã³ã³ãã¥ãŒã¿ãŒã§ãããè¡ãæ¹æ³ãç¥ã£ãŠããŸããçµã¿èŸŒã¿ã®ããŒã¿èŠçŽ
log []ãlogrt []ããããŸãã
ããããZabbixãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ã§ããªããããã¯ãŒã¯æ©åšãããã°ãåéããå¿
èŠãããå Žåã¯ã©ãã§ããããïŒ å®éãzabbixãšãŒãžã§ã³ããããåãPCã§syslogãµãŒããŒãèšå®ãã
ãã°[]ã䜿çšããŠãã®ããŒã¿ãzabbix
ã«è»¢éã§ã
ãŸã ã
zabbixãšãŒãžã§ã³ãã䜿çšããŠãããã¯ãŒã¯ããŒãã«æ¥ç¶ãããããŒã¿èŠçŽ ãšãã®ããªã¬ãŒã®ã¿ã次ã«ç€ºããŸãã
ãããã¯çŽæçã«ãããã«ãããã®ã§ãã ãã®ããŒã¿ããããã¯ãŒã¯ããã€ã¹ã«çŽæ¥æ·»ä»ããããšã¯ã§ããŸããïŒ ã§ããŸãã
ãã®ããã«ã¯ãzabbixãµãŒããŒãŸãã¯zabbixãããã·ãæèŒãããã·ã³ã§
zabbix_sender ã
Zabbix APIããã³rsyslogãå¿
èŠ
ã§ã ã ããŒãã¹ãšããŠããããã¯ãŒã¯ãããããsyslogã¡ãã»ãŒãžãã°ãžã®è¿
éãªã³ã³ããã¹ãé·ç§»ãååŸããŸãã
çµæã¯ã©ã®ããã«ãªããŸããïŒ ããŠããã®ãããªãã®ïŒ
ã³ã³ããã¹ãåŒã³åºãïŒ

æ¹æ³
çŽ æŽãããã¹ãããŒã¯ã§ããœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã£ã¯æ¬¡ã®ããã«ãªããŸãã

1.ãããã¯ãŒã¯ããã€ã¹ããã®ãã°ã¯ãã¹ãŠãrsyslogãåæã«ååšããZabbixãµãŒããŒãŸãã¯ãããã·ãåãããµãŒããŒã«åé¡ãããŸãã
2. rsyslogã¯ãïŒ3ïŒZabbixã®ã©ã®ãã¹ãããã¡ãã»ãŒãžãæ¥ããã倿ããã¹ã¯ãªãããå®è¡ããŸã
4.ã¡ãã»ãŒãžã¯ãzabbix_senderãŠãŒãã£ãªãã£ãä»ããŠzabbixã«éãããŸã
ããŠããããã¯ãŒã¯ã®éçããzabbiksãžã®ã¡ãã»ãŒãžãã¹ããã«ããã¹ã«ãŒããå§ããŸããã
ãããã¯ãŒã¯æ©åšäž
ããã§ã¯ãã¹ãŠãç°¡åã§ãã syslogã¡ãã»ãŒãžã®å®å
ãšããŠãZabbixãµãŒããŒãŸãã¯Zabbixãããã·ãåãããã·ã³ãæå®ããŸãã é倧床ããã³æœèšã«ã¡ãã»ãŒãžãéä¿¡ããããã«æ©åšãæ§æããŸãã
äžéšã®D-Linkã§ã¯ã次ã®ããã«ãªããŸãã
enable syslog create syslog host 1 ipaddress 10.2.0.21 severity debug state enable
ãããŠã次ã®ãããªCiscoã«ãŒã¿ãŒã§èšã£ãŠã¿ãŸãããã
cisco1# cisco1#config terminal Enter configuration commands, one per line. End with CNTL/Z. cisco1(config)#logging 10.2.0.21 cisco1(config)#service timestamps debug datetime localtime show-timezone msec cisco1(config)#service timestamps log datetime localtime show-timezone msec cisco1(config)#logging facility local3 cisco1(config)#logging trap informational cisco1(config)#end
ã«ã¹ã¿ãã€ãºãããŸãããïŒ ã©ãã
Zabbixã®Webã€ã³ã¿ãŒãã§ã€ã¹ã§
æãã·ã³ãã«ã§æãçè§£ãããããã®ããå§ããŸãããã Zabbixã§ã¯ãTemplate_Syslogãã³ãã¬ãŒããäœæãããã®äžã«1ã€ã®ããŒã¿èŠçŽ ã远å ããŸãïŒ
次ã®ããã«ãã£ãŒã«ãã«å
¥åããŸãããã£ãŒã«ã
| 䟡å€
| ãæ³šæ
|
---|
å | syslog | |
çš®é¡ | Zabbix Trapper | |
ã㌠| syslog | ãããæ£ç¢ºãªååã§ããããšãéèŠã§ãïŒZabbix APIãããã«æ£ããåäœãããããïŒ |
æ
å ±ã®çš®é¡ | ãã°ïŒãã°ïŒ | |
ãã°å
ã®æå»åœ¢åŒïŒãã°ïŒ | yyyyxMMxddxhhxmmxssxxxxxx | RFC5424ã®åœ¢åŒã§æ¥ä»ãæ£ããæ±ºå®ããããã®ãã¹ã¯ |
次ã«ããã®ãã³ãã¬ãŒãããsyslogã¡ãã»ãŒãžãåéãããã¹ãŠã®ãããã¯ãŒã¯ããŒãã«æ·»ä»ããŸãã ãã°ãZabbixã«éãããIPã¢ãã¬ã¹ãã€ã³ã¿ãŒãã§ãŒã¹ã§æå®ãã
ããšãéèŠã§ãã ããããªããšãã¡ãã»ãŒãžã®ãœãŒã¹ãç¹å®ã§ããŸããã

syslogãµãŒããŒ
ZabbixãµãŒããŒã䜿çšããŠããã¹ãã«syslogãµãŒããŒãèšå®ããŸãã ç§ãã¡ã®å Žåãããã¯å€ãã®Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã«ä»å±ããŠããäžè¬çãªrsyslogã§ãã syslog-ngããæã¡ã®å Žåã¯ãã»ãŒåãæ¹æ³ã§ãã¹ãŠãå®è¡ã§ããŸãã
æãåçŽãªå ŽåãsyslogãµãŒããŒã¯ãã¡ãã»ãŒãžã®æ©èœãšé倧床ã«å¿ããŠãåä¿¡ããã¡ãã»ãŒãžããã¡ã€ã«ã«åè§£ããŸãã ãã ããä»ã®å¯èœæ§ããããŸãã ããšãã°ãrsyslogã§ã¯ãã¡ãã»ãŒãžããšã«ä»»æã®ã¹ã¯ãªãããå®è¡ã§ããŸãã ãã®é¢æ°ã䜿çšããŸãã
解決ããå¿
èŠããã2çªç®ã®åé¡ã¯ãZabbixãã°ã«ã¡ãã»ãŒãžã远å ããããŒããæ±ºå®ããããã®æ©åšã®èå¥ã§ãã è§æ¬åŒ§å
ã®ãœãŒã¹IPã¢ãã¬ã¹ããã¡ãã»ãŒãžèªäœã®è¡ã«è¿œå ããããšã§è§£æ±ºããŸãã
ãã®ãã¹ãŠã®ããã«ãæ§æãã¡ã€ã«
/etc/rsyslog.d/zabbix_rsyslog.confãäœæããŸã
#add template for network devices $template network-fmt,"%TIMESTAMP:::date-rfc3339% [%fromhost-ip%] %pri-text% %syslogtag%%msg%\n" #exclude unwanted messages: :msg, contains, "Child connection from ::ffff:10.2.0.21" ~ :msg, contains, "exit after auth (ubnt): Disconnect received" ~ :msg, contains, "password auth succeeded for 'ubnt' from ::ffff:10.2.0.21" ~ :msg, contains, "exit before auth: Exited normally" ~ #action for every message: if $fromhost-ip != '127.0.0.1' then ^/usr/local/bin/zabbix_syslog_lkp_host.pl;network-fmt & ~
rsyslogã®èšå®ãäœæããŸãããããã¯ãããŒã«ã«ãã¹ãããã§ã¯ãªãç¹å®ã®æ¹æ³ã§åä¿¡ãããã¹ãŠã®ã¡ãã»ãŒãžããã©ãŒãããããsyslogã¡ãã»ãŒãžãåŒæ°ãšããŠã¹ã¯ãªãã
/usr/local/bin/zabbix_syslog_lkp_host.plãå®è¡ããŸãã
åæã«ãïŒexclude奜ãŸãããªãã¡ãã»ãŒãžã®ã»ã¯ã·ã§ã³ã§ã¯ããã°ã€ã³ãè©°ãŸã£ãŠããã¡ãã»ãŒãžãäºåã«ããã£ãŠããå Žåã¯ç Žæ£ã§ããŸãã äŸãšããŠãããã€ãã®æçš¿ãããã«æ®ããŸãã
rsyslogèšå®ã®æåŸã«ã/etc/rsyslog.confãã¡ã€ã«ã®æ¬¡ã®è¡ã®ã³ã¡ã³ããå€ããŠãUDPçµç±ã§ãããã¯ãŒã¯çµç±ã§Syslogã¡ãã»ãŒãžãåä¿¡ããããšãå¿ããªãã§ãã ããã
$ModLoad imudp $UDPServerRun 514
ããã§ãã/ usr / local / bin / zabbix_syslog_lkp_host.plã¹ã¯ãªããã¯rsyslogã«å®è¡ãæç€ºããŸããïŒ èŠããã«ã圌ã¯ãã®ã¡ãã»ãŒãžãzabbix_senderçµç±ã§Zabbix_serverãŸãã¯Zabbix_proxyã«éä¿¡ããã ãã§ãã
/usr/bin/zabbix_sender -z ** -k syslog -o *SYSLOG-* -s **
ç·šéæžã¿ïŒããããå®éã«ã¯æšæºã®zabbix_senderãŠãŒãã£ãªãã£ãå®è¡ããå¿
èŠã¯ãŸã£ãããããŸããã / usr / bin / zabbix_senderãæ¯åãã«ããŠããã»ã¹ãæé©åããªãããã«ããã®æ©èœã¯ã¹ã¯ãªããèªäœã®å
éšã«å®è£
ã§ããŸãã éèŠãªè¿œå
mcleod095ãããããšã ïŒ
ããããã¡ãã»ãŒãžãéä¿¡ãããIPã¢ãã¬ã¹ã®ã¿ãç¥ãããŠãããããã¹ã¯ãªããã¯ã©ã®ããã«* NAME *ã«ãªããïŒã€ãŸããã¡ãã»ãŒãžãæ¥ç¶ãããããŒãïŒãã©ã®ããã«ç¥ãã®ã§ããããïŒ
ãããè¡ãã«ã¯ãZabbix APIã䜿çšããŸããããã«ãããIPã¢ãã¬ã¹ã§* NAME *ãèŠã€ããããšãã§ããŸãã
/usr/local/bin/zabbix_syslog_lkp_host.pl ãã¹/usr/local/bin/zabbix_syslog_lkp_host.plã«æ²¿ã£ãŠã¹ã¯ãªããããµãŒããŒã«ã³ããŒããæ§æãã¡ã€ã«ãäœæããŸã
/usr/local/etc/zabbix_syslog.cfgãšAPIçµç±ã§Zabbixã«æ¥ç¶ããããã®ãã©ã¡ãŒã¿ã æ§æã¯æ¬¡ã®ããã«ãªããŸãã
url = http://zabbix.local/zabbix/api_jsonrpc.php user = api_user password = password server = zabbix.local debug=0
ã¹ã¯ãªããã¯CPANã®ããã€ãã®Perlã¢ãžã¥ãŒã«ã䜿çšããŠããããã€ã³ã¹ããŒã«ããã³ãã³ããå®è¡ããŸãã
PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install Readonly' PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install CHI' PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install JSON::RPC::Legacy::Client' PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install Config::General'
ãŸãããããã®æ°ãããã¡ã€ã«ã«å¯Ÿããæš©éãæ§æããŸãã
chmod +x /usr/local/bin/zabbix_syslog_lkp_host.pl chown zabbix:zabbix /usr/local/etc/zabbix_syslog.cfg chmod 700 /usr/local/etc/zabbix_syslog.cfg
Zabbixã«ã¡ãã»ãŒãžãéä¿¡ããæºåããã¹ãŠæŽããŸãããrsyslogãåèµ·åããã ãã§ãã
service rsyslog restart
ãã®ç¬éããããã¹ãããšã«zabbixã®ã¡ãã»ãŒãžãåå¥ã«ç¢ºèªã§ããŸãã
æè¿ã®ããŒã¿->ç®çã®ãã¹ã-> Syslogãéã
ãŸã
ããªã¬ãŒ
æ©åšã®ã€ã³ã¿ãŒãã§ã€ã¹ãçµç±ããã«ã·ã¹ãã ã®ãã°ãèªã¿åãæ©èœã¯åªããŠããŸãïŒååãšããŠãæ©åšã®ãã°ã¯ã¡ã¢ãªå
ã«ãããåèµ·ååŸãåç¶ããªããšããäºå®ã¯èšããŸã§ããããŸããïŒã ä»ã®ãããã³ã«ã®å Žåã®ããã«ããããã¯ç§ãã¡ã®ãããã¯ãŒã¯äžã§éåœçãªã¡ãã»ãŒãžãå¯åããªãããã«ããã®ã«åœ¹ç«ã¡ãŸãã
åæ©åšãšåæ©åšã¡ãŒã«ãŒã«ã¯ç¬èªã®ã¡ãã»ãŒãžããããŸãããã©ã®ããã«èŠããããç¥ããã«éèŠãªã¡ãã»ãŒãžãæ¢ãæ¹æ³ã¯ïŒ ããããæ¬¡ã®ããã«ïŒ
ãã¹ãŠã®syslogã¡ãã»ãŒãžã¯éå€§åºŠå±æ§ã䜿çšããŠåé¡ãããRFC5424ã«åŸã£ãŠæ¬¡ã®å€ãåãããšãã§ããŸãã
0ç·æ¥ïŒã·ã¹ãã ã¯äœ¿çšã§ããŸãã 1ã¢ã©ãŒãïŒããã«å¯ŸåŠããå¿
èŠããããŸã 2ã¯ãªãã£ã«ã«ïŒã¯ãªãã£ã«ã«ãªç¶æ
3ãšã©ãŒïŒãšã©ãŒç¶æ
4èŠåïŒèŠåæ¡ä»¶ 5éç¥ïŒæ£åžžã ãé倧ãªç¶æ
6æ
å ±ïŒæ
å ±ã¡ãã»ãŒãž 7ãããã°ïŒãããã°ã¬ãã«ã®ã¡ãã»ãŒãž
|
é倧床ã«ã¯æ°å€ã ãã§ãªããæçµã¡ãã»ãŒãžã«å«ãŸããããã¹ãã®çç¥åœ¢ããããzabbix_senderãä»ããŠZabbixã«éä¿¡ãããŸãã
ãããã£ãŠãéçïŒã€ãŸãã補é å
ïŒãããªãé«ãéèŠåºŠãå²ãåœãŠãŠããã¡ãã»ãŒãžãæ€çŽ¢ãããããã«ã€ããŠéç¥ã§ããŸãã ãããè¡ãã«ã¯ãTemplate_Syslogãã³ãã¬ãŒãã«ããªã¬ãŒã远å ããŠã
é倧床= warning以äžã®ãã¹ãŠã®ã€ãã³ãã«ã€ããŠéç¥ããŸãã

æåŸã«è¡ãããšã¯ããããã®æ°ããsyslogã¡ãã»ãŒãžã«é¢ããã¢ã©ãŒãïŒã¢ã¯ã·ã§ã³ïŒãèšå®ããããšã§ãã æ¡ä»¶ã§ã¯ãããªã¬ãŒåã«[SYSLOG]ãå«ãŸããŠããããšãããã³ã¡ãã»ãŒãžãé»åã¡ãŒã«ã§éä¿¡ããå¿
èŠãããããšã瀺ããŠããŸãã



çµæãšããŠãéèŠåºŠã®é«ãã¡ãã»ãŒãžãsyslogã«èœã¡ããã³ã«ã次ã®åœ¢åŒã®ã¡ãã»ãŒãžãåãåããŸãã

ã¡ãªã¿ã«ãã¢ã¯ã·ãã³ãã®ã¯ãªãã£ã«ã«ããªã¬ãŒãæã€ãã³ãã¬ãŒãã¯æºåãã§ããŠããŸãã
Template_Syslog <?xml version="1.0" encoding="UTF-8"?> <zabbix_export> <version>2.0</version> <date>2015-03-13T14:27:56Z</date> <groups> <group> <name>Templates</name> </group> </groups> <templates> <template> <template>Template_Syslog</template> <name>Template_Syslog</name> <description/> <groups> <group> <name>Templates</name> </group> </groups> <applications> <application> <name>Log</name> </application> </applications> <items> <item> <name>Syslog</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>syslog</key> <delay>0</delay> <history>3</history> <trends>365</trends> <status>0</status> <value_type>2</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>Log</name> </application> </applications> <valuemap/> <logtimefmt>yyyyxMMxddxhhxmmxssxxxxxx</logtimefmt> </item> </items> <discovery_rules/> <macros/> <templates/> <screens/> </template> </templates> <triggers> <trigger> <expression>({Template_Syslog:syslog.str(.alert)}=1)and({Template_Syslog:syslog.nodata(900)}=0)</expression> <name>[SYSLOG] Alert message received</name> <url/> <status>0</status> <priority>4</priority> <description/> <type>0</type> <dependencies/> </trigger> <trigger> <expression>({Template_Syslog:syslog.str(.crit)}=1)and({Template_Syslog:syslog.nodata(900)}=0)</expression> <name>[SYSLOG] Critical message received</name> <url/> <status>0</status> <priority>3</priority> <description/> <type>0</type> <dependencies/> </trigger> <trigger> <expression>({Template_Syslog:syslog.str(.emerg)}=1)and({Template_Syslog:syslog.nodata(900)}=0)</expression> <name>[SYSLOG] Emergency message received</name> <url/> <status>0</status> <priority>5</priority> <description/> <type>0</type> <dependencies/> </trigger> <trigger> <expression>({Template_Syslog:syslog.str(.err)}=1)and({Template_Syslog:syslog.nodata(900)}=0)</expression> <name>[SYSLOG] Error received</name> <url/> <status>0</status> <priority>2</priority> <description/> <type>0</type> <dependencies/> </trigger> <trigger> <expression>({Template_Syslog:syslog.str(.warning)}=1)and({Template_Syslog:syslog.nodata(900)}=0)</expression> <name>[SYSLOG] Warning received</name> <url/> <status>0</status> <priority>1</priority> <description/> <type>0</type> <dependencies/> </trigger> </triggers> </zabbix_export>
ãã¡ããããã¹ãŠã®èŠåããšã©ãŒãéèŠãªã¡ãã»ãŒãžãªã©ããã£ããããå¿
èŠã¯ãããŸããã ããã¯ãç°åžžãªãã®ãèŠéããªãããã®äžè¬çãªãªãã·ã§ã³ã§ãã ããªã¬ãŒé¢æ°
iregxpïŒïŒãregxpïŒïŒãstrïŒïŒã䜿çšãããš ãããå
·äœçãªã€ãã³ããåžžã«ãã°ã«èšé²ã§ããŸãã
ã«ãŒããžã®èªåããŠã³ã
syslogã¡ãã»ãŒãžã®æäœãç°¡çŽ åãããã1ã€ã®éèŠãªãã€ã³ããã€ãŸããããã¯ãŒã¯ãããããã®ã³ã³ããã¹ãé·ç§»ã«è§ŠããŸãã

1æ¥ã2æ¥ãéããããšãã§ããsyslogããŒã¿èŠçŽ ã«åãã¹ãã®URLãªã³ã¯ãæã§è¿œå ããããšã§èŠåŽããããšãã§ããŸãã

ããããããªãã®æã也ããããŠã¹ãã¯ãªãã¯ããããããªãã®å¿ãåããå§ããã§ãããã ãã®ã«ãŒãã³ã®èªååãæ¯æŽããããã«ãZabbix APIãå床åç
§ããããšããå§ãããŸãã
ãããè¡ãã«ã¯ãã¹ã¯ãªãããã¢ããããŒãããŸã
1ïŒãããã¯ãŒã¯ãããã®ãã¹ãŠã®èŠçŽ ãååŸãã
2ïŒãã¹ãã¿ã€ãã®ãã¹ãŠã®èŠçŽ ã«ã€ããŠãkey = syslogã®ããŒã¿èŠçŽ ããããã©ããã確èªããŸã
3ïŒååšããå Žåããã®ããŒã¿èŠçŽ ã衚瀺ããããã®ãªã³ã¯ãæ¢åã®URLã®ãªã¹ãã«è¿œå ããŸãïŒSyslogãžã®URLãæ¢ã«ããå Žåã¯ãäœãããŸããïŒ
ã¹ã¯ãªããã®æºåãã§ããããZabbixãµãŒããŒã«ã®ã¿ãããã€ããŸãã
/usr/local/bin/zabbix_syslog_create_urls.pl ãããŠãZabbixãµãŒããŒãæèŒãããã·ã³ã§ãã¹ã¯ãªãããããã«cronïŒzabbixãŠãŒã¶ãŒã«æé©ïŒã«è¿œå ããŸãã1æ¥1åã§ååã§ãã
* 1 * * * /usr/local/bin/zabbix_syslog_create_urls.pl
ãŸãããã¡ã€ã«ãå®è¡å¯èœã«ããããšãå¿ããªãã§ãã ããïŒ
chmod +x /usr/local/bin/zabbix_syslog_create_urls.pl
ã§ããïŒ
åèš
Zabbixã¯ãå€ãã®æ©èœããã®ãŸãŸäœ¿çšã§ããŸãã ãã ããå¿
èŠãªãã®ããªãå Žåã¯ãæ©ãã«çµ¶æããŸãã Zabbix APIãzabbix_senderã
ãã©ã°ã€ã³ ã
UserParameter-ããããã¹ãŠã®ããŒã«ã¯ãã·ã¹ãã ã®æ©èœãæ¡åŒµããããã«ããªãã®ãµãŒãã¹ã«ãããŸãã