もう䞀床Zabbixにログを保存するこずに぀いお





Zabbixでログを収集および保存するトピックは、耇数回提起されたした 。 そしお2぀ではありたせん。 これが完党に正しいアプロヌチではないこず、デヌタベヌスを真剣にロヌドするこずを考慮しない堎合、このような方法には別の重倧な欠点がありたす-ログ党䜓を保存したす。 ルヌタヌたたはLinuxのログの堎合、䜕らかの圢でこれに同意するこずができれば、むベントログWindowsは、Zabbixサヌバヌず、それを収集しお保存するこずを決定したシステム管理者の䞡方に倧きな苊痛を䞎え始めたす。 以䞋は、この問題の解決策です。



叙情的な䜙談



すべおの技術者はすでに次のオフィスで埅機しおおり、少し立ち止たっお䞀息぀いお、ナニコヌンず䞀緒に居心地の良いふわふわしたITの䞖界から出お、ゲヌムがろうそくに倀するかどうかを刀断しようずしたす。 結局のずころ、束葉杖で䜜られたフェンスであなたの集団蟲堎に察する想像力ず愛を完党に殺す特別な解決策、ベストプラクティス、その他の蚀葉がありたす。 完党なELKスタック、シャヌド、フォヌルトトレランス、1秒あたり数癟䞇のログ行を持っおいる人たちに心から満足しおいたす。 これらの半神は、圌らの茝く峰から私たちの単玔な人間にめったに降りたせん。 したがっお、圌らはむンフラストラクチャ党䜓を監芖するず同時に、ヒキガ゚ルに悩たされないずいう単玔な欲求を理解しおいたせん。 たた、監芖には数倀むンゞケヌタだけではありたせん。 たずえば、Windows Serverセキュリティサブシステムはログのみを操䜜したす。 そしお、倧砲からスズメを撃぀必芁がなく、Zabbixに基づいおすでに確立された監芖がある堎合、その胜力を拡倧しおみたせんか たぶん私はただの陳腐な蚀い方をしたすが、むンフラストラクチャの監芖はむンシデントぞのタむムリヌな察応の基瀎であるため、Zabbixず互換性があり、最小限のリ゜ヌスを消費するログコレクタヌやアナラむザヌなどのツヌルを歊噚に甚意する必芁はありたせん。



原因に



通垞、むベントログを凊理するずきは、次のスキヌムに埓いたす。







EvtSysは、EventLogメッセヌゞをSyslog暙準に倉換する小さなサヌビスです。

この束には、少なくずも2぀の欠点がありたす。





だからこそ、自転車メヌカヌを発芋し、勇敢な新しい䞖界を䜜り始めたのです。



䞀般的な抂念



新しい車䞡には、䜜業スキヌムに埓っお䞉角圢の車茪が付いおいたす。







ヘカはペペラの䞭心です。 それはほずんどLogstashに䌌おおり、パむプだけが䜎く、煙は薄くなっおいたす。 しかし、JRubyがなければ、リ゜ヌスをそれほど必芁ずせず、しかも驚くほど高速なパンチが必芁です。 1秒あたり数千行のログを静かに消化しお凊理したす。 このようなもの







同時に、プラグむンの助けを借りお簡単か぀自然に拡匵されたすが、これは将来行われたす。 システムの䞀般的なロゞックは次のずおりです。 受信メッセヌゞEvtSysはSyslog圢匏に倉換され、凊理のためにHekaに送信されたす。 syslogメッセヌゞを解析し、メッセヌゞの内郚郚分ペむロヌドを遞択し、正芏衚珟でさらに解析しお、新しいログ行を圢成したす。 この文字列は、汎甚プラグむンを䜿甚しおZabbixに盎接枡されたす。 必芁なものはすべお、Zabbixサヌバヌ、別のマシン、たたはこの堎合はZabbixプロキシに配眮されたす。 システムの操䜜に察するこのアプロヌチは、以前に衚明された䞡方の欠点を排陀したす。 これらのすべおが内郚にどのように配眮されおいるかをさらに詳しく調べたす。



EvtSysを構成する



EvtSysの構成に぀いおは説明したせん。たずえば、 ここで繰り返し説明したす 。 ゜リュヌションが機胜するために重芁な䞻なポむントのみに泚目したす。 EvtSysバヌゞョンは少なくずも4.5でなければなりたせん。 これは、むンストヌル䞭に-tスむッチが䜿甚されるためです。 LPバヌゞョンを䜿甚するこずをお勧めしたす。これは、2 kbを超えるメッセヌゞを送信できるためです。これは私たちにずっお重芁です。 EvtSysむンストヌルコマンド



evtsys -i -h <heka_host> -p <heka_port> -f 17 -t <zabbix_host>
      
      





Windowsログでは、ファシリティlocal1を䜿甚したすが、最適なものを䜿甚できたす。 -tオプションには特に泚意を払う必芁がありたす。 その䞭で、Zabbixで瀺されおいるずおりにホスト名を正確に指定する必芁がありたす。 このHekaフィヌルドを䜿甚しお、Zabbix䞊の適切なホストにメッセヌゞを送信できたす。



メッセヌゞ凊理パむプラむンの構成



それで、私たちは決定の䞭で最も興味深くおおいしい郚分に到達したした。 Hekaのむンストヌルに぀いおも説明したせん。恐怖のポむントにはささいなものであり、公匏ドキュメントによく描かれおいたす。 したがっお、Hekaが既にむンストヌルされおいるず仮定し、セットアップに盎行したす。 Logstashず同様に、Hekaはラベルベヌスのログ倉換パむプラむンを実装しおいたす。 凊理された文字列が枡す䞀般的なパスは次のずおりです。







スプリッタヌずフィルタヌはパむプラむンにない可胜性がありたす。 最終的には、私たちもそうなりたす。 ログ行が通過するパス、フィルタヌ、および結果ずしおどのように衚瀺されるかは、Hekaのメッセヌゞの内郚衚珟のフィヌルドに基づく条件によっお決たりたす。 これに぀いおの詳现はドキュメンテヌションで読むこずができたす。次のHekaアルゎリズムを䜜成する必芁がありたす。



  1. UDPポヌト経由でsyslogメッセヌゞを受信したす。
  2. syslogメッセヌゞをデコヌドし、远加のタグを遞択したす。
  3. ログ行のテキストペむロヌドを解析し、そこから䞻芁なパラメヌタヌず倀を遞択したす。
  4. 遞択した倀に基づいお、新しい有益なログ行を生成したす。
  5. ログ行をZabbixのjsonメッセヌゞずしお゚ンコヌドしたす。
  6. ゚ンコヌドされたメッセヌゞをZabbixに送信したす。


アルゎリズムを実装するために、Hekaパむプラむンの機胜ブロックを次のように構築したす。







別の説明はMultiDecoderに倀したす。 これはデコヌダヌのコンテナであり、シヌケンシャルにこれはsyslog-decoderでの蚭定方法です、最初の正垞なデコヌドたでevents-decoderで実行できたす。 次に、これがHeka configでどのように実装されるかを芋おみたしょう。 メむン蚭定を詰たらせないために、蚭定党䜓を別のファむルに取り出したす。 この/etc/heka/conf.d/20-eventlog.tomlがありたす。



ヘカ蚭定



各コンポヌネントの蚭定を個別に怜蚎しおください。



 [eventlog] type = "UdpInput" address = ":10514" decoder = "syslog-decoder"
      
      





ここでの蚭定では、ポヌトぞのアクセス暩に問題がないように、すべおのむンタヌフェむスでリッスンし、1024以䞊のポヌトを䜿甚するこずを瀺しおいたす。 このポヌトは、syslogサヌバヌポヌトずしおEvtSysで指定する必芁がありたす。 たた、受信したメッセヌゞを送信するデコヌダヌをすぐに瀺したす。



 [syslog-decoder] type = "MultiDecoder" subs = ["rsyslog-decoder", "events-decoder"] cascade_strategy = "all" #log_sub_errors = true
      
      





すでに䞊で述べたように、このデコヌダヌは、2皮類の動䜜を備えた他のデコヌダヌのコンテナヌですすべおのデコヌダヌを実行するか、最初の正垞なデコヌドの前に実行したす。 動䜜のタむプはcascade_strategyパラメヌタヌによっお蚭定され、この堎合、すべおのデコヌダヌがsubsパラメヌタヌで指定された順序で実行される必芁があるこずを瀺したす。 マルチデコヌダヌをデバッグするには、log_sub_errors = trueオプションを䜿甚するず䟿利です。 指定するず、Hekaはサブデコヌダヌのデコヌド゚ラヌをログに曞き蟌みたす。



 [events-decoder] type = "MultiDecoder" subs = ["event-4624-decoder", "event-4625-decoder", "event-4724-decoder", "event-4738-decoder", "event-4740-decoder"] cascade_strategy = "first-wins" #log_sub_errors = true
      
      





むベントデコヌダヌ自䜓はマルチデコヌダヌですが、動䜜の戊略はすでに異なっおいたす-初勝利。 内郚デコヌダヌの1぀が正垞にデコヌドされたデヌタを返すたで、デコヌダヌを匷制的に実行したす。 これは、埌で説明するいく぀かのパタヌンに埓っおデヌタを凊理するのに圹立ちたす。



 [rsyslog-decoder] type = "SandboxDecoder" filename = "lua_decoders/rsyslog.lua" [rsyslog-decoder.config] type = "RSYSLOG_TraditionalForwardFormat" template = '<%PRI%>%TIMESTAMP% %HOSTNAME% %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%' tz = "Europe/Moscow"
      
      





著者によれば、Hekaに含たれる暙準デコヌダヌの1぀はRSyslogログテンプレヌトをサポヌトしおいたす。 しかし、それは完党ではないように思えたした。 ログテンプレヌトの二重パラメヌタヌHOSTNAMEに泚意しおください。 これはタむプミスではありたせん。-tを介しおEvtSysに枡されるパラメヌタヌがメッセヌゞテキストに貌り付かないようにテンプレヌトを構成できたせんでした。 そのため、1぀の小さな些现な問題を陀いお、実際に必芁なものが埗られたす。ホスト名の最埌はコロンです。 メッセヌゞを゚ンコヌドするずきに削陀したす。 あなたは尋ねるこずができたすホスト名フィヌルドの倀はどのように解析されたすか そしお非垞に簡単です-新しい倀は単に叀いものを䞊曞きしたす。



むベントデコヌダヌはすべお双子の兄匟のように䌌おいるため、1぀だけを怜蚎したす。 残りの違いは、解析甚の正芏衚珟ずログの出力行にのみ適甚されたす。



 [event-4624-decoder] type = "PayloadRegexDecoder" match_regex = '^(?P<EventID>4624):(?:[^:]+:){10}\s(?P<Account>[^\s]+)[^:]+:\s(?P<Domain>[^\s]+)(?:[^:]+:){8}\s(?P<IP>[^\s]+)' [event-4624-decoder.message_fields] Type = "windows.eventlog" Key = 'eventlog.%EventID%' Value = '   %Domain%\%Account%   %IP%.'
      
      





このデコヌダヌは、正芏衚珟を䜿甚しお文字列を実行し、同時に個々の郚分を遞択したす。これを䜿甚しお、远加のメッセヌゞフィヌルドを䜜成できたす。 このようなフィヌルドは、出力メッセヌゞを䜜成するのに圹立ちたす。 たた、ここでメッセヌゞタむプが蚭定されTypeフィヌルド、察応する出力察応する゚ンコヌダヌに関連付けられおいるに送信されたす。



 [ZabbixEncoder] type = "SandboxEncoder" filename = "lua_encoders/zabbix_trapper.lua"
      
      





そしお今、私たちのコレクションの真珠はLuaの自己蚘述プラグむンです。 私は圌の仕事を期限内に怜蚎したす本文の䞋流。 Zabbix向けのメッセヌゞを゚ンコヌドするこずをここに曞くだけで十分です。



 [event-out-zabbix] type = "TcpOutput" message_matcher = "Type == 'windows.eventlog'" address = "127.0.0.1:10051" encoder = "ZabbixEncoder" reconnect_after = 1
      
      





Zabbixにメッセヌゞを送信するために終了したす。 すべおがそれ自䜓を通過するわけではなく、「タむプ」フィヌルドに察応する倀を持぀メッセヌゞのみが通過したす。 各メッセヌゞは、䞊蚘で説明した゚ンコヌダヌを通過したす。



reconnect_after = 1パラメヌタヌに特に泚意するこずをお勧めしたすが、これは非垞に重芁なパラメヌタヌです。 実際には、TcpOutputにはバグが含たれおおり、TCPセッションを長時間維持できたせん。 これは次のようになりたす。ある時点で、本栌的なログメッセヌゞの代わりにZabbixが調敎を開始し、その埌停止したす。 Wiresharkを介したHekaずZabbix間の亀換を芋るず、TcpOutputがパケットのビヌトを開始し、接続が切断されおいるこずがわかりたす。 その結果、これを防ぐために、䞊蚘のパラメヌタヌが蚭定され、各メッセヌゞがZabbixに送信された埌にTcpOutputが再接続されたす。 はい、もちろんこれによりオヌバヌヘッドが発生したすが、HekaたたはZabbixプロキシを䜿甚するホストの負荷が倧幅に増加するこずはありたせんでした。 たぶんいく぀かのメッセヌゞを送信するだけですか ;



デバッグメッセヌゞ凊理



パむプラむンのデバッグには、RstEncoderずファむルぞの出力ずいう2぀のこずをお勧めしたす。 RstEncoderは、各メッセヌゞフィヌルドをテキスト文字列で゚ンコヌドしたす。これにより、メッセヌゞがどのフィヌルドで構成され、どのフィヌルドが等しいかを確認できたす。 ファむルぞの出力は、䜕が゚ンコヌドされ、䜕がスキップされ、どのように゚ンコヌドされおいるかを远跡するのに圹立ちたす。 出力を次のようなファむルに敎理できたす。



 [event-out-file] type = "FileOutput" message_matcher = "Type == 'windows.eventlog'" path = "/tmp/events.log" perm = "666" flush_count = 100 flush_operator = "OR" encoder = "RstEncoder"
      
      





ここではすべおのパラメヌタヌが明確です。パラメヌタヌflush_operator =“ OR”の目的のみを説明したす。 圌は、メッセヌゞの新しいチャンクを既存のログファむルに远加する必芁があるこずを指摘したす。 ゚ンコヌダヌを倉曎するこずにより、蚘録されたメッセヌゞの圢匏を確認でき、message_matcherはメッセヌゞが正しいタむプであるこずを確認するのに圹立ちたす。 オフにしお、すべおを蚘録し始めたす。 これは、message_matcherフィルタヌの゚ラヌたたはメッセヌゞが生成されないこずを怜出するのに圹立぀堎合がありたす。



Zabbixトラッパヌ



次に、カスタム゚ンコヌダヌの仕組みに぀いお説明したす。 远加のプラグむンはすべお/ usr / share / heka /になければなりたせん。 この゚ンコヌダヌがあるので、ここに配眮したす-/usr/share/heka/lua_encoders/zabbix_trapper.lua。 圌の䞭でどんな皮類のギアが回るのか芋おみたしょう。



Heka甹Zabbix Trapperモゞュヌル
 require "os" require "string" require "table" --  JSON. -- https://www.kyne.com.au/~mark/software/lua-cjson.php local cjson = require("cjson") function process_message() --    Zabbix. local host = read_message("Hostname") --   . local key = read_message("Fields[Key]") --   . local value = read_message("Fields[Value]") --   JSON-. local message = {} --   ,        syslog . message["host"] = string.sub(host, 1, -2) message["key"] = key message["value"] = value local buffer = {message} local zabbix_message = {} zabbix_message["request"] = "sender data" zabbix_message["data"] = buffer --   payload  ,       ,   JSON. inject_payload("json", "Payload", cjson.encode(zabbix_message)) return 0 end
      
      







CJSONラむブラリヌはLuaがアクセスできる堎所にあるはずなので、/ usr / share / heka / lua_modules / cjson.soに眮きたす。



Zabbixのテンプレヌト



テンプレヌトの機胜のうち、デヌタ芁玠は「ログログ」情報タむプずeventlog.1102キヌを持぀Zabbix Trapperタむプである必芁があるこずに泚意しおください。



Zabbixテンプレヌト
 <?xml version="1.0" encoding="UTF-8"?> <zabbix_export> <version>3.0</version> <date>2016-10-01T13:30:30Z</date> <groups> <group> <name> </name> </group> </groups> <templates> <template> <template>Template Windows Users Audit</template> <name>Template Windows Users Audit</name> <description>,   ,     .</description> <groups> <group> <name> </name> </group> </groups> <applications> <application> <name> </name> </application> <application> <name></name> </application> </applications> <items> <item> <name>  .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.1102</key> <delay>0</delay> <history>1</history> <trends>0</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>     .</description> <inventory_link>0</inventory_link> <applications> <application> <name></name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>    .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4624</key> <delay>0</delay> <history>1</history> <trends>0</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>        .</description> <inventory_link>0</inventory_link> <applications> <application> <name></name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>       .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4625</key> <delay>0</delay> <history>1</history> <trends>0</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>         .</description> <inventory_link>0</inventory_link> <applications> <application> <name></name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>   .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4720</key> <delay>0</delay> <history>1</history> <trends>0</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>     .</description> <inventory_link>0</inventory_link> <applications> <application> <name></name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>    .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4724</key> <delay>0</delay> <history>1</history> <trends>0</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>      .</description> <inventory_link>0</inventory_link> <applications> <application> <name></name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>   .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4725</key> <delay>0</delay> <history>1</history> <trends>0</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>     .</description> <inventory_link>0</inventory_link> <applications> <application> <name></name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>   .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4726</key> <delay>0</delay> <history>1</history> <trends>0</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>     .</description> <inventory_link>0</inventory_link> <applications> <application> <name></name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>    .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4731</key> <delay>0</delay> <history>1</history> <trends>0</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>     .</description> <inventory_link>0</inventory_link> <applications> <application> <name> </name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>     .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4732</key> <delay>0</delay> <history>1</history> <trends>0</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>       .</description> <inventory_link>0</inventory_link> <applications> <application> <name> </name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>     .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4733</key> <delay>0</delay> <history>1</history> <trends>0</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>       .</description> <inventory_link>0</inventory_link> <applications> <application> <name> </name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>    .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4734</key> <delay>0</delay> <history>1</history> <trends>0</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>      .</description> <inventory_link>0</inventory_link> <applications> <application> <name> </name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>    .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4735</key> <delay>0</delay> <history>1</history> <trends>0</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>      .</description> <inventory_link>0</inventory_link> <applications> <application> <name> </name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>   .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4738</key> <delay>0</delay> <history>1</history> <trends>0</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>      .</description> <inventory_link>0</inventory_link> <applications> <application> <name></name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>   .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4740</key> <delay>0</delay> <history>1</history> <trends>0</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>     .</description> <inventory_link>0</inventory_link> <applications> <application> <name></name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>   .</name> <type>2</type> <snmp_community/> <multiplier>0</multiplier> <snmp_oid/> <key>eventlog.4781</key> <delay>0</delay> <history>1</history> <trends>0</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>      .</description> <inventory_link>0</inventory_link> <applications> <application> <name></name> </application> </applications> <valuemap/> <logtimefmt/> </item> </items> <discovery_rules/> <macros/> <templates/> <screens/> </template> </templates> <triggers> <trigger> <expression>{Template Windows Users Audit:eventlog.4732.nodata(120)}=0</expression> <name>{HOST.NAME}:      .</name> <url/> <status>0</status> <priority>4</priority> <description>{HOST.NAME}:      . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.1102.nodata(120)}=0</expression> <name>{HOST.NAME}:   .</name> <url/> <status>0</status> <priority>4</priority> <description>{HOST.NAME}:   . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4740.nodata(120)}=0</expression> <name>{HOST.NAME}:    .</name> <url/> <status>0</status> <priority>3</priority> <description>{HOST.NAME}:    . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4735.nodata(120)}=0</expression> <name>{HOST.NAME}:     .</name> <url/> <status>0</status> <priority>4</priority> <description>{HOST.NAME}:     . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4738.nodata(120)}=0</expression> <name>{HOST.NAME}:    .</name> <url/> <status>0</status> <priority>4</priority> <description>{HOST.NAME}:    . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4781.nodata(120)}=0</expression> <name>{HOST.NAME}:    .</name> <url/> <status>0</status> <priority>4</priority> <description>{HOST.NAME}:    . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4725.nodata(120)}=0</expression> <name>{HOST.NAME}:    .</name> <url/> <status>0</status> <priority>4</priority> <description>{HOST.NAME}:    . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4724.nodata(120)}=0</expression> <name>{HOST.NAME}:     .</name> <url/> <status>0</status> <priority>4</priority> <description>{HOST.NAME}:     . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4731.nodata(120)}=0</expression> <name>{HOST.NAME}:     .</name> <url/> <status>0</status> <priority>4</priority> <description>{HOST.NAME}:     . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4720.nodata(120)}=0</expression> <name>{HOST.NAME}:    .</name> <url/> <status>0</status> <priority>4</priority> <description>{HOST.NAME}:    . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4734.nodata(120)}=0</expression> <name>{HOST.NAME}:     .</name> <url/> <status>0</status> <priority>3</priority> <description>{HOST.NAME}:     . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4726.nodata(120)}=0</expression> <name>{HOST.NAME}:    .</name> <url/> <status>0</status> <priority>3</priority> <description>{HOST.NAME}:    . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4733.nodata(120)}=0</expression> <name>{HOST.NAME}:      .</name> <url/> <status>0</status> <priority>3</priority> <description>{HOST.NAME}:      . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4624.nodata(10)}=0</expression> <name>{HOST.NAME}:     .</name> <url/> <status>0</status> <priority>1</priority> <description>{HOST.NAME}:     . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> <trigger> <expression>{Template Windows Users Audit:eventlog.4625.nodata(120)}=0</expression> <name>{HOST.NAME}:        .</name> <url/> <status>0</status> <priority>2</priority> <description>{HOST.NAME}:        . {ITEM.LASTVALUE}</description> <type>0</type> <dependencies/> </trigger> </triggers> </zabbix_export>
      
      







おそらく、あなたはすでにトリガヌの奇劙な配眮に気づいおいるでしょう。しきい倀がなく、着信デヌタに䞀貫性がないため、このようなトリガヌの構築は最も正しいず思われたした。トリガヌは2分間燃えたすが、重芁床が高いず察応する通知が送信され、むベントは倱われたせん。



そしお、結果は䜕ですか



システムは、構成された攟電から刀明し、忘れおいたした。圌は、メンテナンスを必芁ずせずに、数か月間、操䜜分野で䞀生懞呜働いおいたす。もちろん、優れたシステムず同様に、拡匵の可胜性がありたす。将来の蚈画から





さお、そしお䞀連の分析の終わりに-デヌタベヌスぞの盎接ロギングず最適化埌のZabbixサヌバヌキュヌのスケゞュヌル。







ダむレクトロギングを有効にしようずする悲惚な詊み-キュヌが異垞に倧きくなり、Zabbixが半分に割れおしたうのを芋るこずができたすが、患者はほずんど救うこずができたせんでした。 1぀のホストがセキュリティログにかなり高い負荷で蚘録されたした。







すでに真実に䌌おいたす。はい、特定の数のメッセヌゞがキュヌに残っおいたすが、これはWindowsログの問題ではなく、䞀般に、キュヌの合蚈長によっおパフォヌマンスの向䞊を掚定できたす。さらに、2぀のホストがここで監芖され、メッセヌゞは少なくなりたせんが、この特定の監芖サブシステムの負荷は䞀般的なバックグラりンドに察しお正垞に倱われたす。



PS䜕のふりもせずに、圌の決定を共有するこずは興味深いものでした。誰かが代替案を知っおいるなら、私はあなたのコメントを喜んでいるでしょう。



All Articles