Mpinamana amin'ny ELK sy Exchange izahay. Fizarana 2
Tohizako ny tantarako momba ny fomba hahazoana namana Exchange sy ELK (manomboka eto). MamelΓ ahy hampahatsiahy anao fa ity fitambarana ity dia mahavita manamboatra logs marobe tsy misy fisalasalana. Amin'ity indray mitoraka ity dia hiresaka momba ny fomba ahafahan'ny Exchange miasa miaraka amin'ny singa Logstash sy Kibana isika.
Ny logstash ao amin'ny stack ELK dia ampiasaina amin'ny fanodinana am-pahibemaso ny logs ary manomana azy ireo amin'ny fametrahana azy ao amin'ny Elastic amin'ny endrika antontan-taratasy, mifototra amin'izany dia mety ny fananganana sary isan-karazany ao Kibana.
fametrahana
Misy dingana roa:
Fametrahana sy fanamboarana ny fonosana OpenJDK.
Fametrahana sy fanamboarana ny fonosana Logstash.
Fametrahana sy fanamboarana ny fonosana OpenJDK
Ny fonosana OpenJDK dia tsy maintsy alaina ary avoaka ao anaty lahatahiry manokana. Avy eo ny lalana mankany amin'ity lahatahiry ity dia tsy maintsy ampidirina ao amin'ny $ env: Path sy $ env: JAVA_HOME variables amin'ny rafitra fiasa Windows:
Andeha hojerentsika ny version Java:
PS C:> java -version
openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment (build 13.0.1+9)
OpenJDK 64-Bit Server VM (build 13.0.1+9, mixed mode, sharing)
Fametrahana sy fanamboarana ny fonosana Logstash
Ampidino ny rakitra arisiva miaraka amin'ny fizarana Logstash avy eto. Ny arisiva dia tsy maintsy avoaka amin'ny fototry ny kapila. Esory amin'ny folder C:Program Files Tsy mendrika izany, Logstash dia mandΓ ny hanomboka ara-dalΓ na. Avy eo dia mila miditra amin'ny rakitra ianao jvm.options fanamboarana tompon'andraikitra amin'ny fanomezana RAM ho an'ny fizotry ny Java. Manoro hevitra aho hamaritra ny antsasaky ny RAM an'ny mpizara. Raha manana 16 GB an'ny RAM ao anaty sambo izy dia ny fanalahidy default dia:
-Xms1g
-Xmx1g
tsy maintsy soloina:
-Xms8g
-Xmx8g
Ankoatra izany, dia tsara ny maneho hevitra ny andalana -XX:+UseConcMarkSweepGC. More momba izany eto. Ny dingana manaraka dia ny mamorona config default amin'ny rakitra logstash.conf:
Miaraka amin'io fanamafisana io, mamaky angon-drakitra avy amin'ny console i Logstash, mandalo izany amin'ny sivana tsy misy na inona na inona, ary mamerina izany any amin'ny console. Ny fampiasana an'io fanamafisana io dia hizaha toetra ny fiasan'ny Logstash. Mba hanaovana izany, andeha hatao amin'ny fomba interactive izany:
PS C:...bin> .logstash.bat -f .logstash.conf
...
[2019-12-19T11:15:27,769][INFO ][logstash.javapipeline ][main] Pipeline started {"pipeline.id"=>"main"}
The stdin plugin is now waiting for input:
[2019-12-19T11:15:27,847][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2019-12-19T11:15:28,113][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
Natomboka soa aman-tsara tamin'ny seranana 9600 ny Logstash.
Ny dingana fametrahana farany: manomboka ny Logstash ho serivisy Windows. Azo atao izany, ohatra, amin'ny fampiasana ny fonosana NSSM:
PS C:...bin> .nssm.exe install logstash
Service "logstash" installed successfully!
fandeferana fahadisoana
Ny fiarovana ny logs rehefa afindra avy amin'ny lohamilina loharano dia azo antoka amin'ny mekanika Persistent Queues.
Ahoana ny fomba fiasany
Ny filaharan'ny filaharana mandritra ny fanodinana dia: fampidirana β filaharana β sivana + vokatra.
Ny plugin fampidirana dia mandray angon-drakitra avy amin'ny loharano iray, manoratra izany amin'ny filaharana ary mandefa fanamafisana fa voaray any amin'ny loharano ny data.
Ny hafatra avy amin'ny filaharana dia nokarakarain'ny Logstash, nandalo tamin'ny sivana sy ny plugin output. Rehefa mahazo fanamafisana avy amin'ny vokatra fa nalefa ny log, dia esorin'i Logstash ny lozisialy voavoatra amin'ny filaharana. Raha mijanona ny Logstash, dia mijanona ao anaty filaharana ny hafatra sy hafatra tsy voavolavola rehetra izay tsy nisy fanamafisana voaray, ary ny Logstash dia hanohy hikarakara azy ireo amin'ny fotoana manaraka.
Raha namboarina queue.max_events ΠΈ queue.max_bytes, dia mijanona ho ekena ao amin'ny filaharana ny hafatra rehefa tratra ny sandan'ny iray amin'ireo fanovana ireo. Mianara bebe kokoa momba ny filaharana maharitra eto.
Ny fandrindrana Logstash matetika dia misy ampahany telo, tompon'andraikitra amin'ny dingana samihafa amin'ny fanodinana ny logs ho avy: fandraisana (fizarana fampidirana), parsing (fizarana sivana) ary fandefasana any amin'ny Elastic (fizarana famoahana). Eto ambany dia hojerentsika akaiky ny tsirairay amin'izy ireo.
fahan'ny
Mandray ny renirano miditra miaraka amin'ny log manta avy amin'ireo mpiasan'ny filebeat izahay. Ity plugin ity no asehontsika ao amin'ny fizarana fampidirana:
input {
beats {
port => 5044
}
}
Aorian'io fanamafisana io dia manomboka mihaino ny seranan-tsambo 5044 i Logstash, ary rehefa mahazo logs, dia manodina azy ireo araka ny firafitry ny fizarana sivana. Raha ilaina dia azonao atao ny mamatotra ny fantsona handraisana logs avy amin'ny filebit amin'ny SSL. Vakio bebe kokoa momba ny firafitry ny plugin beats eto.
Filter
Ny diarin-tsoratra rehetra mahaliana amin'ny fanodinana izay ateraky ny Exchange dia amin'ny endrika csv miaraka amin'ireo saha voalaza ao amin'ny rakitra log. Ho an'ny firaketana csv, Logstash dia manolotra plugins telo: fongotra noho, csv sy grok. Ny voalohany no be indrindra fifadian-kanina, fa tsy mahazaka afa-tsy ny logs tsotra indrindra.
Ohatra, hozarainy ho roa ity rakitsoratra manaraka ity (noho ny fisian'ny faingo ao anatin'ny saha), ka izany no mahatonga ny dia ho diso hevitra:
Ao anatin'ilay plugin dia mifanandrify amin'ny sandan'ny saha miaraka amin'ny anarany, mamafa ny saha tany am-boalohany message (ary koa ny saha tenant-id ΠΈ schema-version), izay misy fidirana avy amin'ny log, ary afaka manampy saha mahazatra isika, izay, ohatra, misy ny anaran'ny rindranasa izay anangonantsika logs.
Eo am-pivoahana amin'ny dingana fanivanana, dia hahazo antontan-taratasy amin'ny tombantombana voalohany isika, vonona ho an'ny sary ao Kibana. Tsy ho hitantsika ireto manaraka ireto:
Ny saha isa dia ho fantatra ho lahatsoratra, izay manakana ny fandidiana azy. Izany hoe, ny saha time-taken IIS log, ary koa ny saha recipient-count ΠΈ total-bites Log Tracking.
Ny mari-pamantarana ara-potoanan'ny antontan-taratasy mahazatra dia ahitana ny fotoana nanaovana ny diary, fa tsy ny fotoana nanoratana azy teo amin'ny lafiny server.
saha recipient-address dia ho toy ny toerana fanorenana iray, izay tsy mamela ny fanadihadiana hanisa ny mpandray ny taratasy.
Tsara ny mitadidy fa ity fomba ity dia mety raha tsy misy kofehy ny saha. Ny safidy dia tsy manodina ny soatoavina Null avy amin'ny saha ary manipy fanavahana.
Ho an'ny fanaraha-maso logs, tsara kokoa ny tsy mampiasa fomba niova fo mitovy, satria ny saha recipient-count ΠΈ total-bites mety ho foana. Raha hanova ireo sehatra ireo dia tsara kokoa ny mampiasa plugin mutate:
Fizarana adiresin'ny mpandray ho lasa mpandray tsirairay
Ity olana ity dia azo vahana ihany koa amin'ny fampiasana ny plugin mutate:
mutate {
split => ["recipient_address", ";"]
}
Fanovana ny mari-pamantarana
Raha ny momba ny fanaraha-maso ny log, ny olana dia tena mora voavaha amin'ny plugin daty, izay hanampy anao hanoratra eny an-tsaha timestamp daty sy ora amin'ny endrika takiana avy amin'ny saha date-time:
date {
match => [ "date-time", "ISO8601" ]
timezone => "Europe/Moscow"
remove_field => [ "date-time" ]
}
Raha ny logs IIS dia mila manambatra ny angona an-tsaha isika date ΠΈ time amin'ny fampiasana ny plugin mutate, soraty ny faritry ny ora ilaintsika ary apetraho ao anatin'io marika io timestamp mampiasa ny plugin daty:
Ny fizarana vokatra dia ampiasaina handefasana logs efa voavoatra any amin'ny mpandray log. Raha ny fandefasana mivantana amin'ny Elastic dia misy plugin iray ampiasaina electeur, izay mamaritra ny adiresin'ny mpizara sy ny mΓ΄dely anarana fanondro handefasana ny antontan-taratasy novokarina: