{"id":253310,"date":"2015-03-18T12:49:02","date_gmt":"2015-03-18T08:49:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=253310"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=253310","title":{"rendered":"\u0423\u0434\u043e\u0431\u043d\u044b\u0439 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 Syslog \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 c \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0436\u0435\u043b\u0435\u0437\u043e\u043a \u0432 Zabbix"},"content":{"rendered":"<p>     \t\u041d\u0435\u043e\u0442\u044a\u0435\u043c\u043b\u0435\u043c\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432 \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u0436\u0435\u043b\u0435\u0437\u043e\u043a. \u0412\u0435\u0434\u044c \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u044b \u043c\u044b \u043d\u0438 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432 \u043a \u043d\u0438\u043c, \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0435\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0447\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u0435 \u043c\u044b \u0443\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0438\u0437 \u0432\u0438\u0434\u0443 \u0438 \u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c. \u0418\u0442\u043e\u0433: \u00ab\u0423 \u043d\u0430\u0441 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u00bb, \u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0432\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u043e.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 <b>\u043f\u0435\u0440\u0432\u043e\u0435<\/b>, \u0447\u0442\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u2014 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u043b\u043e\u0433\u0438 \u0432 \u0437\u0430\u0431\u0431\u0438\u043a\u0441\u0435, \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0432 \u0438\u0445 \u043f\u043e \u0443\u0437\u043b\u0443 \u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0431\u0435\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c \u0433\u043b\u0430\u0437\u0430\u043c\u0438, \u043d\u0435 \u0442\u0440\u0430\u0442\u044f \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0434\u043e\u0441\u0442\u0443\u043f \u043d\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435. <br \/>  <b>\u0412\u0442\u043e\u0440\u043e\u0435<\/b> \u2014 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0438 \u043d\u0430 \u0442\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438 \u043d\u0435 \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u0435\u0448\u044c. <\/p>\n<p>  \u041a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u0445, \u0433\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0437\u0430\u0431\u0431\u0438\u043a\u0441-\u0430\u0433\u0435\u043d\u0442, \u043c\u043d\u043e\u0433\u0438\u0435 \u0437\u043d\u0430\u044e\u0442 \u2014 \u0435\u0441\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 <a href=\"https:\/\/www.zabbix.com\/documentation\/2.4\/manual\/config\/items\/itemtypes\/zabbix_agent\">log[], logrt[]<\/a>. <\/p>\n<p>  \u041d\u043e \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043b\u043e\u0433\u0438 \u0441 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0432\u043e\u0434\u0440\u0443\u0437\u0438\u0442\u044c Zabbix-agent\u2019\u0430? \u0412\u043e\u043e\u0431\u0449\u0435-\u0442\u043e \u043c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c syslog-\u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 \u041f\u041a, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0435\u0441\u0442\u044c \u0437\u0430\u0431\u0431\u0438\u043a\u0441-\u0430\u0433\u0435\u043d\u0442, \u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 <b>log[]<\/b> \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0437\u0430\u0431\u0431\u0438\u043a\u0441. \u0412\u043e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e <b>\u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u044b \u043f\u043e \u043d\u0435\u043c\u0443 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u044b \u043a \u0443\u0437\u043b\u0443 \u0441\u0435\u0442\u0438 \u0441 \u0437\u0430\u0431\u0431\u0438\u043a\u0441-\u0430\u0433\u0435\u043d\u0442\u043e\u043c, \u0447\u0442\u043e \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e \u043c\u0430\u043b\u043e\u043f\u043e\u043d\u044f\u0442\u043d\u043e<\/b>. \u0410 \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u0438\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0441\u0435\u0442\u0435\u0432\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443? \u041c\u043e\u0436\u043d\u043e. <\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f <a href=\"https:\/\/www.zabbix.com\/documentation\/2.4\/manual\/concepts\/sender\">zabbix_sender<\/a>, <a href=\"https:\/\/www.zabbix.com\/documentation\/2.4\/manual\/api\">Zabbix API<\/a> \u0438 rsyslog \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441 \u0437\u0430\u0431\u0431\u0438\u043a\u0441-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0438\u043b\u0438 \u0437\u0430\u0431\u0431\u0438\u043a\u0441-\u043f\u0440\u043e\u043a\u0441\u0438. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u043e\u043d\u0443\u0441\u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b syslog-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0441 \u043a\u0430\u0440\u0442\u044b \u0441\u0435\u0442\u0438.<br \/>  \u041a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442? \u041d\u0443, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432\u043e\u0442 \u0442\u0430\u043a:<br \/>  \u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432:<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/31e\/056\/6f5\/31e0566f578241dd92c4f17bd5147afb.png\"\/><\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h1>How to<\/h1>\n<p>  \u0411\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043c\u0430\u0437\u043a\u0430\u043c\u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/0ad\/1ca\/f34\/0ad1caf345644b77b1ec95e683466ff7.png\"\/><br \/>  1. \u0412\u0441\u0435 \u043b\u043e\u0433\u0438 \u0441 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043f\u0430\u0434\u0430\u044e\u0442 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 Zabbix \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0438\u043b\u0438 \u043f\u0440\u043e\u043a\u0441\u0438, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0443 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d rsyslog.<br \/>  2. rsyslog \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 (3) \u0441 \u043a\u0430\u043a\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0441\u0435\u0442\u0438 \u0432 \u0417\u0430\u0431\u0431\u0438\u043a\u0441\u0435 \u043f\u0440\u0438\u0448\u043b\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435<br \/>  4. \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u0437\u0430\u0431\u0431\u0438\u043a\u0441 \u0447\u0435\u0440\u0435\u0437 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 zabbix_sender<br \/>  \u041d\u0443 \u0447\u0442\u043e, \u043d\u0430\u0447\u043d\u0435\u043c \u00ab\u043f\u0440\u043e\u0440\u0443\u0431\u0430\u0442\u044c\u00bb \u043f\u0443\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044e \u043e\u0442 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0436\u0435\u043b\u0435\u0437\u043a\u0438 \u0434\u043e \u0437\u0430\u0431\u0431\u0438\u043a\u0441<\/p>\n<h2>\u041d\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0438<\/h2>\n<p>  \u0422\u0443\u0442 \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e. \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0434\u0440\u0435\u0441\u0430\u0442\u0430 \u0434\u043b\u044f syslog-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043c\u0430\u0448\u0438\u043d\u0443 \u0441 Zabbix-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0438\u043b\u0438 Zabbix-proxy. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0442\u0441\u044b\u043b\u043a\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043b\u044e\u0431\u044b\u0445 severity \u0438 facility.<\/p>\n<p>  \u041d\u0430 \u043a\u0430\u043a\u043e\u043c-\u043d\u0438\u0431\u0443\u0434\u044c D-Link&#8217;e \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432\u043e\u0442 \u0442\u0430\u043a:  <\/p>\n<pre><code>enable syslog create syslog host 1 ipaddress 10.2.0.21 severity debug  state enable <\/code><\/pre>\n<p>  \u0410 \u0441\u043a\u0430\u0436\u0435\u043c \u043d\u0430 Cisco \u0440\u043e\u0443\u0442\u0435\u0440\u0435 \u0432\u043e\u0442 \u0442\u0430\u043a:  <\/p>\n<pre><code>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 <\/code><\/pre>\n<p>  \u041d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438? \u0418\u0434\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n<h2>\u0412 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u0417\u0430\u0431\u0431\u0438\u043a\u0441\u0430<\/h2>\n<p>  \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0433\u043e. \u0412 Zabbix\u2019e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0448\u0430\u0431\u043b\u043e\u043d Template_Syslog \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043d\u0435\u043c \u043e\u0434\u0438\u043d \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0430\u043d\u043d\u044b\u0445:<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/f01\/a27\/1e9\/f01a271e91f941808045104f7bc12763.png\"\/> <\/p>\n<p>  <b>\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u043c \u043f\u043e\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/b>  <\/p>\n<table>\n<tr>\n<th>\u041f\u043e\u043b\u0435   <\/th>\n<th> \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435    <\/th>\n<th>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435   <\/th>\n<\/tr>\n<tr>\n<td>\u0418\u043c\u044f<\/td>\n<td>Syslog <\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>\u0422\u0438\u043f<\/td>\n<td>Zabbix \u0442\u0440\u0430\u043f\u043f\u0435\u0440<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>\u041a\u043b\u044e\u0447<\/td>\n<td>syslog<\/td>\n<td><b>\u0412\u0430\u0436\u043d\u043e<\/b>, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u043e\u0435 \u0438\u043c\u044f (\u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b Zabbix API)<\/td>\n<\/tr>\n<tr>\n<td>\u0422\u0438\u043f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438<\/td>\n<td>\u0416\u0443\u0440\u043d\u0430\u043b(\u043b\u043e\u0433)<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435(\u043b\u043e\u0433\u0435)<\/td>\n<td>yyyyxMMxddxhhxmmxssxxxxxx<\/td>\n<td>\u041c\u0430\u0441\u043a\u0430 \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u0442\u044b \u043f\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0443 \u0432 RFC5424<\/td>\n<\/tr>\n<\/table>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u044f\u0435\u043c \u044d\u0442\u043e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d \u043a\u043e \u0432\u0441\u0435\u043c \u0443\u0437\u043b\u0430\u043c \u0441\u0435\u0442\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c syslog-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f. <b>\u0412\u0430\u0436\u043d\u043e<\/b> \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u044c \u043b\u043e\u0433\u0438 \u0432 \u0417\u0430\u0431\u0431\u0438\u043a\u0441. \u0418\u043d\u0430\u0447\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/c6d\/177\/714\/c6d17771455a42d090fb69c0a0a8720d.PNG\"\/><\/p>\n<p>  <\/p>\n<h2>Syslog-\u0441\u0435\u0440\u0432\u0435\u0440<\/h2>\n<p>  \u041d\u0430\u0441\u0442\u0440\u043e\u0438\u043c syslog-\u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 \u0441 Zabbix-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0440\u0430\u0441\u043f\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0439 rsyslog, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0434\u0435\u0442 \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u0445 Linux. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 syslog-ng, \u0442\u043e \u0442\u0430\u043c \u0432\u0441\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0442\u0430\u043a \u0436\u0435.<\/p>\n<p>  \u0412 \u0441\u0430\u043c\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 syslog-\u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u043e \u0444\u0430\u0439\u043b\u0430\u043c \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 facility \u0438 severity \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u041e\u0434\u043d\u0430\u043a\u043e, \u0435\u0441\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 rsyslog \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f. \u042d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u043c\u044b \u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f. <br \/>  \u0412\u0442\u043e\u0440\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u2014 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0432 \u043b\u043e\u0433 \u043a\u0430\u043a\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432 \u0417\u0430\u0431\u0431\u0438\u043a\u0441\u0435. \u0415\u0433\u043e \u043c\u044b \u0440\u0435\u0448\u0438\u043c, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0432 \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u0441 \u0441\u0430\u043c\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c ip-\u0430\u0434\u0440\u0435\u0441 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u0430\u0445.<\/p>\n<p>  \u0414\u043b\u044f \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433-\u0444\u0430\u0439\u043b <b>\/etc\/rsyslog.d\/zabbix_rsyslog.conf<\/b>  <\/p>\n<pre><code>#add template for network devices $template network-fmt,&quot;%TIMESTAMP:::date-rfc3339% [%fromhost-ip%] %pri-text% %syslogtag%%msg%\\n&quot;  #exclude unwanted messages: :msg, contains, &quot;Child connection from ::ffff:10.2.0.21&quot; ~ :msg, contains, &quot;exit after auth (ubnt): Disconnect received&quot; ~ :msg, contains, &quot;password auth succeeded for 'ubnt' from ::ffff:10.2.0.21&quot; ~ :msg, contains, &quot;exit before auth: Exited normally&quot; ~ #action for every message: if $fromhost-ip != '127.0.0.1' then ^\/usr\/local\/bin\/zabbix_syslog_lkp_host.pl;network-fmt      & ~ <\/code><\/pre>\n<p>  \u041c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0434\u043b\u044f rsyslog, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0435 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 <b>\/usr\/local\/bin\/zabbix_syslog_lkp_host.pl<\/b> \u0441 syslog-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430.<\/p>\n<p>  \u0417\u0430\u043e\u0434\u043d\u043e \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 #exclude unwanted messages \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u0441\u043e\u0440\u044f\u044e\u0449\u0438\u0435 \u043b\u043e\u0433\u0438\u043d \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b. \u041f\u0430\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0442\u0443\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430.<\/p>\n<p>  \u041f\u043e\u0434 \u043a\u043e\u043d\u0435\u0446 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 rsyslog \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 \/etc\/rsyslog.conf \u0434\u043b\u044f \u043f\u0440\u0438\u0435\u043c\u0430 Syslog-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u043e \u0441\u0435\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 UDP.:  <\/p>\n<pre><code>$ModLoad imudp $UDPServerRun 514 <\/code><\/pre>\n<p>  \u0418 \u0432\u0441\u0435 \u0436\u0435, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 <b>\/usr\/local\/bin\/zabbix_syslog_lkp_host.pl<\/b>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0443\u043a\u0430\u0437\u0430\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c rsyslog&#8217;\u0443? \u0415\u0441\u043b\u0438 \u0432\u043a\u0440\u0430\u0442\u0446\u0435, \u043e\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0435\u0440\u0435\u0437 zabbix_sender \u0448\u043b\u0435\u0442 \u0434\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0430 Zabbix_server \u0438\u043b\u0438 \u043d\u0430 Zabbix_proxy, \u043d\u0443 \u0432\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043f\u043e \u0442\u0430\u043a\u043e\u043c\u0443 \u0448\u0430\u0431\u043b\u043e\u043d\u0443:  <\/p>\n<pre><code>\/usr\/bin\/zabbix_sender -z *\u0418\u041c\u042f\u0421\u0415\u0420\u0412\u0415\u0420\u0410* -k syslog -o *SYSLOG-\u0421\u041e\u041e\u0411\u0429\u0415\u041d\u0418\u0415* -s *\u0418\u041c\u042f\u0423\u0417\u041b\u0410* <\/code><\/pre>\n<p>  \u041d\u043e \u043e\u0442\u043a\u0443\u0434\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0443 \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 *\u0418\u041c\u042f\u0423\u0417\u041b\u0410* (\u0442.\u0435. \u043a \u043a\u0430\u043a\u043e\u043c\u0443 \u0443\u0437\u043b\u0443 \u043a\u0440\u0435\u043f\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435), \u0432\u0435\u0434\u044c \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e IP-\u0430\u0434\u0440\u0435\u0441, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0440\u0438\u0448\u043b\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435?<br \/>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Zabbix API, \u0438\u043c\u0435\u043d\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0433\u043e \u043c\u044b \u0438 \u0441\u043c\u043e\u0436\u0435\u043c \u043d\u0430\u0439\u0442\u0438 *\u0418\u041c\u042f\u0423\u0417\u041b\u0410* \u043f\u043e IP-\u0430\u0434\u0440\u0435\u0441\u0443.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\/usr\/local\/bin\/zabbix_syslog_lkp_host.pl<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"perl\">#!\/usr\/bin\/perl  use 5.010; use strict; use warnings; use JSON::RPC::Legacy::Client; use Data::Dumper; use Config::General; use CHI; use List::MoreUtils qw (any); use English '-no_match_vars'; use Readonly; our $VERSION = 1.1;  Readonly my $CACHE_TIMEOUT =&gt; 600; Readonly my $CACHE_DIR =&gt; '\/tmp\/zabbix_syslog_cache';  my $conf   = Config::General-&gt;new('\/usr\/local\/etc\/zabbix_syslog.cfg'); my %Config = $conf-&gt;getall;  #Authenticate yourself my $client   = JSON::RPC::Legacy::Client-&gt;new(); my $url      = $Config{'url'} || die &quot;URL is missing in zabbix_syslog.cfg\\n&quot;; my $user     = $Config{'user'} || die &quot;API user is missing in zabbix_syslog.cfg\\n&quot;; my $password = $Config{'password'} || die &quot;API user password is missing in zabbix_syslog.cfg\\n&quot;; my $server = $Config{'server'} || die &quot;server hostname is missing in zabbix_syslog.cfg\\n&quot;; my $zabbix_sender = $Config{'zabbix_sender'} || '\/usr\/local\/bin\/zabbix_sender';  die &quot;Problems with zabbix_sender binary: $ERRNO\\n&quot;   unless -e -x $zabbix_sender;    #check zabbix_sender exists and is executable  my $debug = $Config{'debug'}; my ( $authID, $response, $json ); my $id = 0;  my $message = shift @ARGV || die &quot;Syslog message required as an argument\\n&quot;;  #Grab syslog message from rsyslog  #get ip from message my $ip;  #IP regex patter part my $ipv4_octet = q\/(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/;  if ( $message =~ \/ \\[ ((?:$ipv4_octet[.]){3}${ipv4_octet}) \\]\/msx ) {     $ip = $1; } else {     die &quot;No IP in square brackets found in '$message', cannot continue\\n&quot;; }  my $cache = CHI-&gt;new(     driver   =&gt; 'File',     root_dir =&gt; $CACHE_DIR, );  my $hostname = $cache-&gt;get($ip);  if ( !defined $hostname ) {      $authID = login();     my @hosts_found;     my $hostid;     foreach my $host ( hostinterface_get() ) {          $hostid = $host-&gt;{'hostid'};          if ( any { \/$hostid\/msx } @hosts_found ) {             next;         }    #check if $hostid already is in array then skip(next)         else { push @hosts_found, $hostid; }  ###########now get hostname         if ( get_zbx_trapper_syslogid_by_hostid($hostid) ) {              my $result = host_get($hostid);              #return hostname if possible             if ( $result-&gt;{'host'} ) {                  if ( $result-&gt;{'proxy_hostid'} == 0 )    #check if host monitored directly or via proxy                 {                     #lease $server as is                 }                 else {                    #assume that rsyslogd and zabbix_proxy are on the same server                     $server = 'localhost';                 }                 $hostname = $result-&gt;{'host'};             }          }      }     logout();     $cache-&gt;set( $ip, $hostname, $CACHE_TIMEOUT ); }  system $zabbix_sender. ' -z '   . $server   . ' -k syslog -o \\''   . $message   . '\\' -s '   . $hostname;    #run  zabbix_sender  #______SUBS sub login {      $json = {         jsonrpc =&gt; '2.0',         method  =&gt; 'user.login',         params  =&gt; {             user     =&gt; $user,             password =&gt; $password          },         id =&gt; $id++,     };      $response = $client-&gt;call( $url, $json );      # Check if response was successful     die &quot;Authentication failed\\n&quot; unless $response-&gt;content-&gt;{'result'};      if ( $debug &gt; 0 ) { print Dumper $response-&gt;content-&gt;{'result'}; }      return $response-&gt;content-&gt;{'result'};  }  sub logout {      $json = {         jsonrpc =&gt; '2.0',         method  =&gt; 'user.logout',         params  =&gt; {},         id      =&gt; $id++,         auth    =&gt; $authID,     };      $response = $client-&gt;call( $url, $json );      # Check if response was successful     warn &quot;Logout failed\\n&quot; unless $response-&gt;content-&gt;{'result'};      return; }  sub hostinterface_get {      $json = {          jsonrpc =&gt; '2.0',         method  =&gt; 'hostinterface.get',         params  =&gt; {             output =&gt; [ 'ip', 'hostid' ],             filter =&gt; { ip =&gt; $ip, },              #    limit =&gt; 1,         },         id   =&gt; $id++,         auth =&gt; $authID,     };      $response = $client-&gt;call( $url, $json );      if ( $debug &gt; 0 ) { print Dumper $response; }      # Check if response was successful (not empty array in result)     if ( !@{ $response-&gt;content-&gt;{'result'} } ) {         logout();         die &quot;hostinterface.get failed\\n&quot;;     }      return @{ $response-&gt;content-&gt;{'result'} }  }  sub get_zbx_trapper_syslogid_by_hostid {      my $hostids = shift;      $json = {         jsonrpc =&gt; '2.0',         method  =&gt; 'item.get',         params  =&gt; {             output  =&gt; ['itemid'],             hostids =&gt; $hostids,             search  =&gt; {                 'key_' =&gt; 'syslog',                 type   =&gt; 2,          #type =&gt; 2 is zabbix_trapper                 status =&gt; 0,              },             limit =&gt; 1,         },         id   =&gt; $id++,         auth =&gt; $authID,     };      $response = $client-&gt;call( $url, $json );     if ( $debug &gt; 0 ) { print Dumper $response; }      # Check if response was successful     if ( !@{ $response-&gt;content-&gt;{'result'} } ) {         logout();         die &quot;item.get failed\\n&quot;;     }      #return itemid of syslog key (trapper type)     return ${ $response-&gt;content-&gt;{'result'} }[0]-&gt;{itemid}; }  sub host_get {     my $hostids = shift;      $json = {          jsonrpc =&gt; '2.0',         method  =&gt; 'host.get',         params  =&gt; {             hostids =&gt; [$hostids],             output  =&gt; [ 'host', 'proxy_hostid', 'status' ],             filter =&gt; { status =&gt; 0, },    # only use hosts enabled             limit  =&gt; 1,         },         id =&gt; $id++,         auth =&gt; $authID,     };      $response = $client-&gt;call( $url, $json );      if ( $debug &gt; 0 ) { print Dumper $response; }      # Check if response was successful     if ( !$response-&gt;content-&gt;{'result'} ) {         logout();         die &quot;host.get failed\\n&quot;;     }     return ${ $response-&gt;content-&gt;{'result'} }[0];    #return result }  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u043e \u043f\u0443\u0442\u0438 \/usr\/local\/bin\/zabbix_syslog_lkp_host.pl, \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b<br \/>  <b>\/usr\/local\/etc\/zabbix_syslog.cfg<\/b> \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0417\u0430\u0431\u0431\u0438\u043a\u0441\u0443 \u0447\u0435\u0440\u0435\u0437 API. \u041a\u043e\u043d\u0444\u0438\u0433 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432\u043e\u0442 \u0442\u0430\u043a:  <\/p>\n<pre><code>url = http:\/\/zabbix.local\/zabbix\/api_jsonrpc.php user = api_user password = password server = zabbix.local debug=0 zabbix_sender= \/usr\/bin\/zabbix_sender <\/code><\/pre>\n<p>  \u0421\u043a\u0440\u0438\u043f\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0434\u0443\u043b\u0435\u0439 Perl \u0438\u0437 CPAN, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:  <\/p>\n<pre><code>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' <\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u044d\u0442\u0438 \u043d\u0430\u0448\u0438 \u043d\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b:  <\/p>\n<pre><code>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 <\/code><\/pre>\n<p>  \u0412\u0441\u0435 \u0433\u043e\u0442\u043e\u0432\u043e \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u0417\u0430\u0431\u0431\u0438\u043a\u0441, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c rsyslog:  <\/p>\n<pre><code>service rsyslog restart<\/code><\/pre>\n<p>  \u0421 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043c\u044b \u0443\u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0437\u0430\u0431\u0431\u0438\u043a\u0441\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0441\u0435\u0442\u0438, \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044f <b>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 -&gt; \u043d\u0443\u0436\u043d\u044b\u0439 \u0443\u0437\u0435\u043b \u0441\u0435\u0442\u0438 -&gt; Syslog<\/b><br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/39b\/923\/28f\/39b92328f1964e0abb609faca2c3e724.png\"\/><\/p>\n<h2>\u0422\u0440\u0438\u0433\u0433\u0435\u0440\u044b<\/h2>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u043e\u0432 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0431\u0435\u0437 \u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e (\u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u0434\u0430\u0436\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043b\u043e\u0433\u0438 \u043d\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u043b\u0435\u0436\u0430\u0442 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043d\u0435 \u043f\u0435\u0440\u0435\u0436\u0438\u0432\u0430\u044e\u0442 \u0440\u0435\u0431\u0443\u0442), \u043d\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u0435\u043c \u0438 \u043f\u0440\u043e \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u044b. \u041a\u0430\u043a \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u043e\u043d\u0438 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u043c \u043d\u0435 \u043f\u0440\u043e\u0441\u043f\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0441\u0443\u0434\u044c\u0431\u043e\u043d\u043e\u0441\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438.<\/p>\n<p>  \u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u043a\u0430\u043a \u0438\u0441\u043a\u0430\u0442\u044c \u0432\u0430\u0436\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435, \u043d\u0435 \u0437\u043d\u0430\u044f, \u043a\u0430\u043a \u043e\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442? \u0410 \u0432\u043e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<br \/>  \u0412\u0441\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f syslog \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 severity, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e RFC5424 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:  <\/p>\n<table>\n<tr>\n<td> 0 Emergency: system is unusable<br \/>   1 Alert: action must be taken immediately<br \/>   2 Critical: critical conditions<br \/>   3 Error: error conditions<br \/>   4 Warning: warning conditions<br \/>   5 Notice: normal but significant condition<br \/>   6 Informational: informational messages<br \/>   7 Debug: debug-level messages  <\/td>\n<\/tr>\n<\/table>\n<p>  \u0435\u0441\u0442\u044c \u0443 severity \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435, \u043d\u043e \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043d\u043e\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0432 \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0432 Zabbix \u0447\u0435\u0440\u0435\u0437 zabbix_sender.<br \/>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043a\u0430\u0442\u044c \u0442\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u0430\u043c\u0430 \u0436\u0435\u043b\u0435\u0437\u043a\u0430 (\u0442\u043e \u0435\u0441\u0442\u044c \u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c) \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043b\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0432\u0430\u0436\u043d\u043e\u0441\u0442\u044c, \u0438 \u043e\u043f\u043e\u0432\u0435\u0449\u0430\u0442\u044c \u043e \u043d\u0438\u0445. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 \u043d\u0430\u0448 \u0448\u0430\u0431\u043b\u043e\u043d Template_Syslog \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u044b, \u0434\u043b\u044f \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f \u043e \u0432\u0441\u0435\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u0445 \u0441 <b>severity=warning<\/b> \u0438 \u0432\u044b\u0448\u0435:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/a9a\/537\/05f\/a9a53705f5124d9b896ff6ebae31cc97.png\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435, \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u2014 \u044d\u0442\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435 (\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435) \u043e\u0431 \u044d\u0442\u0438\u0445 \u043d\u043e\u0432\u044b\u0445 syslog-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0445. \u0412 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0443\u043a\u0430\u0436\u0435\u043c, \u0447\u0442\u043e \u0438\u043c\u044f \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 [SYSLOG], \u0438 \u0447\u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0443\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0443\u044e \u043f\u043e\u0447\u0442\u0443.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/55a\/0c2\/8c8\/55a0c28c8d6842819e503491be940dbc.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/3f0\/bdd\/f86\/3f0bddf86bae493cbd7ab0f2c38823c9.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/b3f\/b8e\/a46\/b3fb8ea46cc2482fbd5f333d4702f0a7.png\"\/><\/p>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435, \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0432 syslog \u0443\u043f\u0430\u0434\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0432\u0430\u0436\u043d\u043e\u0441\u0442\u0438, \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432\u0438\u0434\u0430:<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/1fa\/47f\/02a\/1fa47f02a8aa44dcb8767637dde74fb2.png\"\/><br \/>  \u0418 \u043a\u0441\u0442\u0430\u0442\u0438, \u043d\u0430\u0448 \u0448\u0430\u0431\u043b\u043e\u043d \u0441 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430\u043c\u0438 \u043f\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u0430\u0432\u0430\u0440\u0438\u0439 \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">Template_Syslog<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;zabbix_export&gt;     &lt;version&gt;2.0&lt;\/version&gt;     &lt;date&gt;2015-03-13T14:27:56Z&lt;\/date&gt;     &lt;groups&gt;         &lt;group&gt;             &lt;name&gt;Templates&lt;\/name&gt;         &lt;\/group&gt;     &lt;\/groups&gt;     &lt;templates&gt;         &lt;template&gt;             &lt;template&gt;Template_Syslog&lt;\/template&gt;             &lt;name&gt;Template_Syslog&lt;\/name&gt;             &lt;description\/&gt;             &lt;groups&gt;                 &lt;group&gt;                     &lt;name&gt;Templates&lt;\/name&gt;                 &lt;\/group&gt;             &lt;\/groups&gt;             &lt;applications&gt;                 &lt;application&gt;                     &lt;name&gt;Log&lt;\/name&gt;                 &lt;\/application&gt;             &lt;\/applications&gt;             &lt;items&gt;                 &lt;item&gt;                     &lt;name&gt;Syslog&lt;\/name&gt;                     &lt;type&gt;2&lt;\/type&gt;                     &lt;snmp_community\/&gt;                     &lt;multiplier&gt;0&lt;\/multiplier&gt;                     &lt;snmp_oid\/&gt;                     &lt;key&gt;syslog&lt;\/key&gt;                     &lt;delay&gt;0&lt;\/delay&gt;                     &lt;history&gt;3&lt;\/history&gt;                     &lt;trends&gt;365&lt;\/trends&gt;                     &lt;status&gt;0&lt;\/status&gt;                     &lt;value_type&gt;2&lt;\/value_type&gt;                     &lt;allowed_hosts\/&gt;                     &lt;units\/&gt;                     &lt;delta&gt;0&lt;\/delta&gt;                     &lt;snmpv3_contextname\/&gt;                     &lt;snmpv3_securityname\/&gt;                     &lt;snmpv3_securitylevel&gt;0&lt;\/snmpv3_securitylevel&gt;                     &lt;snmpv3_authprotocol&gt;0&lt;\/snmpv3_authprotocol&gt;                     &lt;snmpv3_authpassphrase\/&gt;                     &lt;snmpv3_privprotocol&gt;0&lt;\/snmpv3_privprotocol&gt;                     &lt;snmpv3_privpassphrase\/&gt;                     &lt;formula&gt;1&lt;\/formula&gt;                     &lt;delay_flex\/&gt;                     &lt;params\/&gt;                     &lt;ipmi_sensor\/&gt;                     &lt;data_type&gt;0&lt;\/data_type&gt;                     &lt;authtype&gt;0&lt;\/authtype&gt;                     &lt;username\/&gt;                     &lt;password\/&gt;                     &lt;publickey\/&gt;                     &lt;privatekey\/&gt;                     &lt;port\/&gt;                     &lt;description\/&gt;                     &lt;inventory_link&gt;0&lt;\/inventory_link&gt;                     &lt;applications&gt;                         &lt;application&gt;                             &lt;name&gt;Log&lt;\/name&gt;                         &lt;\/application&gt;                     &lt;\/applications&gt;                     &lt;valuemap\/&gt;                     &lt;logtimefmt&gt;yyyyxMMxddxhhxmmxssxxxxxx&lt;\/logtimefmt&gt;                 &lt;\/item&gt;             &lt;\/items&gt;             &lt;discovery_rules\/&gt;             &lt;macros\/&gt;             &lt;templates\/&gt;             &lt;screens\/&gt;         &lt;\/template&gt;     &lt;\/templates&gt;     &lt;triggers&gt;         &lt;trigger&gt;             &lt;expression&gt;({Template_Syslog:syslog.str(.alert)}=1)and({Template_Syslog:syslog.nodata(900)}=0)&lt;\/expression&gt;             &lt;name&gt;[SYSLOG] Alert message received&lt;\/name&gt;             &lt;url\/&gt;             &lt;status&gt;0&lt;\/status&gt;             &lt;priority&gt;4&lt;\/priority&gt;             &lt;description\/&gt;             &lt;type&gt;0&lt;\/type&gt;             &lt;dependencies\/&gt;         &lt;\/trigger&gt;         &lt;trigger&gt;             &lt;expression&gt;({Template_Syslog:syslog.str(.crit)}=1)and({Template_Syslog:syslog.nodata(900)}=0)&lt;\/expression&gt;             &lt;name&gt;[SYSLOG] Critical message received&lt;\/name&gt;             &lt;url\/&gt;             &lt;status&gt;0&lt;\/status&gt;             &lt;priority&gt;3&lt;\/priority&gt;             &lt;description\/&gt;             &lt;type&gt;0&lt;\/type&gt;             &lt;dependencies\/&gt;         &lt;\/trigger&gt;         &lt;trigger&gt;             &lt;expression&gt;({Template_Syslog:syslog.str(.emerg)}=1)and({Template_Syslog:syslog.nodata(900)}=0)&lt;\/expression&gt;             &lt;name&gt;[SYSLOG] Emergency message received&lt;\/name&gt;             &lt;url\/&gt;             &lt;status&gt;0&lt;\/status&gt;             &lt;priority&gt;5&lt;\/priority&gt;             &lt;description\/&gt;             &lt;type&gt;0&lt;\/type&gt;             &lt;dependencies\/&gt;         &lt;\/trigger&gt;         &lt;trigger&gt;             &lt;expression&gt;({Template_Syslog:syslog.str(.err)}=1)and({Template_Syslog:syslog.nodata(900)}=0)&lt;\/expression&gt;             &lt;name&gt;[SYSLOG] Error received&lt;\/name&gt;             &lt;url\/&gt;             &lt;status&gt;0&lt;\/status&gt;             &lt;priority&gt;2&lt;\/priority&gt;             &lt;description\/&gt;             &lt;type&gt;0&lt;\/type&gt;             &lt;dependencies\/&gt;         &lt;\/trigger&gt;         &lt;trigger&gt;             &lt;expression&gt;({Template_Syslog:syslog.str(.warning)}=1)and({Template_Syslog:syslog.nodata(900)}=0)&lt;\/expression&gt;             &lt;name&gt;[SYSLOG] Warning received&lt;\/name&gt;             &lt;url\/&gt;             &lt;status&gt;0&lt;\/status&gt;             &lt;priority&gt;1&lt;\/priority&gt;             &lt;description\/&gt;             &lt;type&gt;0&lt;\/type&gt;             &lt;dependencies\/&gt;         &lt;\/trigger&gt;     &lt;\/triggers&gt; &lt;\/zabbix_export&gt;  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f warning, error, critical \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043d\u0435 \u0443\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043d\u0435\u0448\u0442\u0430\u0442\u043d\u043e\u0435. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432 <a href=\"https:\/\/www.zabbix.com\/documentation\/2.4\/manual\/appendix\/triggers\/functions\">iregxp(), regxp(), str()<\/a>, \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u043e\u0433\u0430\u0445 \u0431\u043e\u043b\u0435\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f.<\/p>\n<h2>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043a\u0440\u0435\u043f\u043b\u0435\u043d\u0438\u0435 \u043a \u043a\u0430\u0440\u0442\u0435<\/h2>\n<p>  \u0417\u0430\u0442\u0440\u043e\u043d\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0432\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 syslog-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u2014 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0441 \u043a\u0430\u0440\u0442\u044b \u0441\u0435\u0442\u0438. <\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/34b\/e30\/aa4\/34be30aa4fd14a4bb97b54e039fc0673.gif\"\/><br \/>  \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0434\u0435\u043d\u044c-\u0434\u0440\u0443\u0433\u043e\u0439 \u0438 \u0432\u044b\u0441\u0442\u0440\u0430\u0434\u0430\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 URL-\u0441\u0441\u044b\u043b\u043e\u043a \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0441\u0435\u0442\u0438 \u043d\u0430 \u0435\u0433\u043e syslog \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0443\u043a\u0430\u043c\u0438:<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/4fb\/481\/daa\/4fb481daa8e1463fbad2beee24ae37d7.png\"\/><\/p>\n<p>  \u041d\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u0440\u0443\u043a\u0438 \u043e\u0442\u0441\u043e\u0445\u043d\u0443\u0442 \u043a\u043b\u0438\u043a\u0430\u0442\u044c \u043f\u043e \u043c\u044b\u0448\u043a\u0435, \u043b\u0438\u0431\u043e \u0443\u043c\u043e\u043c \u0442\u0440\u043e\u043d\u0435\u0448\u044c\u0441\u044f. \u041b\u0443\u0447\u0448\u0435 \u0432\u043d\u043e\u0432\u044c \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u0441\u044f \u043a Zabbix API \u0437\u0430 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0435\u0433\u043e \u0440\u0443\u0442\u0438\u043d\u043d\u043e\u0433\u043e \u0434\u0435\u043b\u0430:<br \/>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043a\u0438\u0434\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 <br \/>  1) \u0411\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043a\u0430\u0440\u0442\u044b \u0441\u0435\u0442\u0438 <br \/>  2) \u0414\u043b\u044f \u0432\u0441\u0435\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0442\u0438\u043f\u0430 \u0443\u0437\u0435\u043b \u0441\u0435\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u043d\u0435\u0442 \u043b\u0438 \u0443 \u043d\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 key=syslog <br \/>  3) \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043a \u0441\u043f\u0438\u0441\u043a\u0443 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 URL \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u044d\u0442\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0435\u0441\u043b\u0438 URL \u043d\u0430 Syslog \u0443\u0436\u0435 \u0435\u0441\u0442\u044c, \u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c)<br \/>  \u041a\u043e\u0433\u0434\u0430 \u0441\u043a\u0440\u0438\u043f\u0442 \u0431\u0443\u0434\u0435\u0442 \u0433\u043e\u0442\u043e\u0432, \u043c\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c \u0435\u0433\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 Zabbix-server&#8217;\u0435:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\/usr\/local\/bin\/zabbix_syslog_create_urls.pl<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"perl\">#!\/usr\/bin\/perl #fixed URL for ZBX 2.4  use 5.010; use strict; use warnings; use JSON::RPC::Legacy::Client; use Data::Dumper; use Config::General; our $VERSION = 1.1; my $conf   = Config::General-&gt;new('\/usr\/local\/etc\/zabbix_syslog.cfg'); my %Config = $conf-&gt;getall;  #Authenticate yourself my $client   = JSON::RPC::Legacy::Client-&gt;new(); my $url      = $Config{'url'} || die &quot;URL is missing in zabbix_syslog.cfg\\n&quot;; my $user     = $Config{'user'} || die &quot;API user is missing in zabbix_syslog.cfg\\n&quot;; my $password = $Config{'password'}   || die &quot;API user password is missing in zabbix_syslog.cfg\\n&quot;; my $server = $Config{'server'}   || die &quot;server hostname is missing in zabbix_syslog.cfg\\n&quot;;  my $debug = $Config{'debug'}; my ( $authID, $response, $json ); my $id = 0;    $authID = login();  my $syslog_url_base = 'history.php?action=showvalues';      my @selements;      foreach my $map ( @{ map_get_extended() } ) {         my $mapid=$map-&gt;{sysmapid};         #next unless ($mapid == 120 or $mapid == 116); #debug        #put all mapelements into array @selements (so you can update map later!)         @selements = @{ $map-&gt;{selements} };          foreach my $selement (@selements) {             my $syslog_button_exists = 0;              if ( $debug &gt; 0 ) {                 print 'Object ID: '                   . $selement-&gt;{selementid}                   . ' Type: '                   . $selement-&gt;{elementtype}                   . ' Elementid '                   . $selement-&gt;{elementid} . &quot; \\n&quot;;             }              # elementtype=0 hosts             if ( $selement-&gt;{elementtype} == 0 ) {                  my $hostid = $selement-&gt;{elementid};                  my $itemid = get_syslogid_by_hostid($hostid);                 if ($itemid) {                      #and add urls:                      my $syslog_exists = 0;                     foreach my $syslog_url ( @{ $selement-&gt;{urls} } ) {                         $syslog_exists = 0;                          if ( $syslog_url-&gt;{name} =~ 'Syslog' ) {                              $syslog_exists = 1;                             $syslog_url-&gt;{'name'} = 'Syslog';                              $syslog_url-&gt;{'url'} =                                 $syslog_url_base                               . '&itemids['                               . $itemid . ']='                               . $itemid;                         }                     }                     if ( $syslog_exists == 0 ) {                          #syslog item doesn't exist... add it                         push @{ $selement-&gt;{urls} },                           {                             'name' =&gt; 'Syslog',                             'url'  =&gt; $syslog_url_base                               . '&itemids['                               . $itemid . ']='                               . $itemid                           };                     }                  }              }          }             map_update($mapid,\\@selements);     }    logout();  #______SUBS sub get_syslogid_by_hostid {     my $hostids = shift;      $json = {         jsonrpc =&gt; '2.0',         method  =&gt; 'item.get',         params  =&gt; {             output  =&gt; ['itemid'],             hostids =&gt; $hostids,             search  =&gt; { 'key_' =&gt; 'syslog' },             limit   =&gt; 1,         },         id   =&gt; $id++,         auth =&gt; $authID,     };      $response = $client-&gt;call( $url, $json );      # Check if response was successful     if ( !$response-&gt;content-&gt;{'result'} ) {         logout();         die &quot;item.get failed\\n&quot;;     }      #return itemid of syslog key (trapper type)     return ${ $response-&gt;content-&gt;{'result'} }[0]-&gt;{itemid}; }  sub login {      $json = {         jsonrpc =&gt; '2.0',         method  =&gt; 'user.login',         params  =&gt; {             user     =&gt; $user,             password =&gt; $password          },         id =&gt; $id++,     };      $response = $client-&gt;call( $url, $json );      # Check if response was successful     die &quot;Authentication failed\\n&quot; unless $response-&gt;content-&gt;{'result'};      if ( $debug &gt; 0 ) { print Dumper $response-&gt;content-&gt;{'result'}; }      return $response-&gt;content-&gt;{'result'};  }  sub map_get {      #retrieve all maps     $json = {         jsonrpc =&gt; '2.0',         method  =&gt; 'map.get',         params  =&gt; {             output =&gt; ['sysmapid']         },         id   =&gt; $id++,         auth =&gt; &quot;$authID&quot;,     };      $response = $client-&gt;call( $url, $json );      # Check if response was successful     if ( !$response-&gt;content-&gt;{'result'} ) {         logout();         die &quot;map.get failed\\n&quot;;     }      if ( $debug &gt; 1 ) { print Dumper $response-&gt;content-&gt;{result}; }     return $response-&gt;content-&gt;{result};  }  sub logout {      $json = {         jsonrpc =&gt; '2.0',         method  =&gt; 'user.logout',         params  =&gt; {},         id      =&gt; $id++,         auth    =&gt; $authID,     };      $response = $client-&gt;call( $url, $json );      # Check if response was successful     warn &quot;Logout failed\\n&quot; unless $response-&gt;content-&gt;{'result'};      return; }  sub map_get_extended {     $json = {         jsonrpc =&gt; '2.0',         method  =&gt; 'map.get',         params  =&gt; {             selectSelements =&gt; 'extend',             #sysmapids       =&gt; $map,         },         id   =&gt; $id++,         auth =&gt; $authID,     };      $response = $client-&gt;call( $url, $json );      # Check if response was successful     if ( !$response-&gt;content-&gt;{'result'} ) {         logout();         die &quot;map.get failed\\n&quot;;     }     if ( $debug &gt; 1 ) {          print Dumper $response-&gt;content-&gt;{'result'};     }      return $response-&gt;content-&gt;{'result'}; }  sub map_update {     my $mapid = shift;     my $selements_ref = shift;     $json = {         jsonrpc =&gt; '2.0',         method  =&gt; 'map.update',         params  =&gt; {             selements =&gt; [@{$selements_ref}],             sysmapid  =&gt; $mapid,         },         id   =&gt; $id++,         auth =&gt; $authID,     };      if ( $debug &gt; 0 ) {         print &quot;About to map.update this\\n:&quot;;         print Dumper $json;     }      $response = $client-&gt;call( $url, $json );      if ( $debug &gt; 0 ) {         print Dumper $response;     }      # Check if response was successful     if ( !$response-&gt;content-&gt;{'result'} ) {         logout();         die &quot;map.update failed\\n&quot;;     }     return; } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0418 \u0441\u0440\u0430\u0437\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 cron (\u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c zabbix) \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441 Zabbix Server, \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0430 \u0432 \u0441\u0443\u0442\u043a\u0438 \u043c\u043e\u0436\u0435\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0432\u043f\u043e\u043b\u043d\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e.  <\/p>\n<pre><code>* 1 * * * \/usr\/local\/bin\/zabbix_syslog_create_urls.pl <\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c:  <\/p>\n<pre><code>chmod +x \/usr\/local\/bin\/zabbix_syslog_create_urls.pl <\/code><\/pre>\n<p>  \u0413\u043e\u0442\u043e\u0432\u043e!<\/p>\n<h1>\u0418\u0442\u043e\u0433\u043e<\/h1>\n<p>  \u0417\u0430\u0431\u0431\u0438\u043a\u0441 \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u0443\u043c\u0435\u0435\u0442 \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb. \u041e\u0434\u043d\u0430\u043a\u043e, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0412\u0430\u043c \u2014 \u043e\u0442\u0447\u0430\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0430\u043d\u043e. Zabbix API, \u0430 \u0442\u0430\u043a\u0436\u0435 zabbix_sender, <a href=\"https:\/\/www.zabbix.com\/documentation\/2.4\/manual\/config\/items\/loadablemodules\">\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438<\/a>, <a href=\"http:\/\/habrahabr.ru\/company\/zabbix\/blog\/196218\/\">UserParameter <\/a> \u2014 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043a \u0432\u0430\u0448\u0438 \u0443\u0441\u043b\u0443\u0433\u0430\u043c, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.      \t<\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/252915\/\"> http:\/\/habrahabr.ru\/post\/252915\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>     \t\u041d\u0435\u043e\u0442\u044a\u0435\u043c\u043b\u0435\u043c\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432 \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u0436\u0435\u043b\u0435\u0437\u043e\u043a. \u0412\u0435\u0434\u044c \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u044b \u043c\u044b \u043d\u0438 \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432 \u043a \u043d\u0438\u043c, \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0435\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0447\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u0435 \u043c\u044b \u0443\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0438\u0437 \u0432\u0438\u0434\u0443 \u0438 \u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c. \u0418\u0442\u043e\u0433: \u00ab\u0423 \u043d\u0430\u0441 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u00bb, \u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0432\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u043e.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 <b>\u043f\u0435\u0440\u0432\u043e\u0435<\/b>, \u0447\u0442\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u2014 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u043b\u043e\u0433\u0438 \u0432 \u0437\u0430\u0431\u0431\u0438\u043a\u0441\u0435, \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0432 \u0438\u0445 \u043f\u043e \u0443\u0437\u043b\u0443 \u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0431\u0435\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c \u0433\u043b\u0430\u0437\u0430\u043c\u0438, \u043d\u0435 \u0442\u0440\u0430\u0442\u044f \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0434\u043e\u0441\u0442\u0443\u043f \u043d\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435. <br \/>  <b>\u0412\u0442\u043e\u0440\u043e\u0435<\/b> \u2014 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0438 \u043d\u0430 \u0442\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438 \u043d\u0435 \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u0435\u0448\u044c. <\/p>\n<p>  \u041a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u0445, \u0433\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0437\u0430\u0431\u0431\u0438\u043a\u0441-\u0430\u0433\u0435\u043d\u0442, \u043c\u043d\u043e\u0433\u0438\u0435 \u0437\u043d\u0430\u044e\u0442 \u2014 \u0435\u0441\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 <a href=\"https:\/\/www.zabbix.com\/documentation\/2.4\/manual\/config\/items\/itemtypes\/zabbix_agent\">log[], logrt[]<\/a>. <\/p>\n<p>  \u041d\u043e \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043b\u043e\u0433\u0438 \u0441 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0432\u043e\u0434\u0440\u0443\u0437\u0438\u0442\u044c Zabbix-agent\u2019\u0430? \u0412\u043e\u043e\u0431\u0449\u0435-\u0442\u043e \u043c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c syslog-\u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 \u041f\u041a, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0435\u0441\u0442\u044c \u0437\u0430\u0431\u0431\u0438\u043a\u0441-\u0430\u0433\u0435\u043d\u0442, \u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 <b>log[]<\/b> \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0437\u0430\u0431\u0431\u0438\u043a\u0441. \u0412\u043e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e <b>\u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u044b \u043f\u043e \u043d\u0435\u043c\u0443 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u044b \u043a \u0443\u0437\u043b\u0443 \u0441\u0435\u0442\u0438 \u0441 \u0437\u0430\u0431\u0431\u0438\u043a\u0441-\u0430\u0433\u0435\u043d\u0442\u043e\u043c, \u0447\u0442\u043e \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e \u043c\u0430\u043b\u043e\u043f\u043e\u043d\u044f\u0442\u043d\u043e<\/b>. \u0410 \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u0438\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a \u0441\u0435\u0442\u0435\u0432\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443? \u041c\u043e\u0436\u043d\u043e. <\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f <a href=\"https:\/\/www.zabbix.com\/documentation\/2.4\/manual\/concepts\/sender\">zabbix_sender<\/a>, <a href=\"https:\/\/www.zabbix.com\/documentation\/2.4\/manual\/api\">Zabbix API<\/a> \u0438 rsyslog \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441 \u0437\u0430\u0431\u0431\u0438\u043a\u0441-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0438\u043b\u0438 \u0437\u0430\u0431\u0431\u0438\u043a\u0441-\u043f\u0440\u043e\u043a\u0441\u0438. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u043e\u043d\u0443\u0441\u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b syslog-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0441 \u043a\u0430\u0440\u0442\u044b \u0441\u0435\u0442\u0438.<br \/>  \u041a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442? \u041d\u0443, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432\u043e\u0442 \u0442\u0430\u043a:<br \/>  \u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432:<br \/>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/31e\/056\/6f5\/31e0566f578241dd92c4f17bd5147afb.png\"\/><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-253310","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/253310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=253310"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/253310\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=253310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=253310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=253310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}