Kuv txuas ntxiv kuv zaj dab neeg hais txog yuav ua li cas ua phooj ywg Txauv thiab ELK (pib S, SΡS,). Cia kuv ceeb toom rau koj tias qhov kev sib xyaw ua ke no muaj peev xwm ua tiav cov cav ntau ntau yam tsis muaj kev cuam tshuam. Lub sijhawm no peb yuav tham txog yuav ua li cas kom tau txais Kev Sib Pauv ua haujlwm nrog Logstash thiab Kibana Cheebtsam.
Logstash nyob rau hauv lub ELK pawg yog siv los ua kom txawj ntse txheej txheem cav thiab npaj lawv rau kev tso kawm nyob rau hauv Elastic nyob rau hauv daim ntawv ntawm cov ntaub ntawv, nyob rau hauv lub hauv paus ntawm nws yog yooj yim los tsim ntau yam visualizations nyob rau hauv Kibana.
chaw
Nws muaj ob theem:
Txhim kho thiab teeb tsa OpenJDK pob.
Txhim kho thiab teeb tsa Logstash pob.
Txhim kho thiab teeb tsa OpenJDK pob
Lub pob OpenJDK yuav tsum tau rub tawm thiab muab tso rau hauv ib qho kev qhia tshwj xeeb. Tom qab ntawd txoj kev mus rau phau ntawv teev npe no yuav tsum tau nkag mus rau hauv $env: Path thiab $env:JAVA_HOME hloov pauv ntawm Windows operating system:
Cia peb tshawb xyuas Java version:
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)
Txhim kho thiab teeb tsa Logstash pob
Download tau cov ntaub ntawv archive nrog Logstash faib ntawm no. Lub archive yuav tsum tau unpacked rau hauv paus ntawm lub disk. Unpack rau folder C:Program Files Nws tsis tsim nyog, Logstash yuav tsis kam pib ib txwm. Tom qab ntawd koj yuav tsum nkag mus rau hauv cov ntaub ntawv jvm.options kho lub luag haujlwm rau faib RAM rau Java txheej txheem. Kuv pom zoo kom qhia meej ib nrab ntawm lub server lub RAM. Yog tias nws muaj 16 GB ntawm RAM ntawm lub nkoj, ces cov yuam sij ua ntej yog:
-Xms1g
-Xmx1g
yuav tsum tau hloov nrog:
-Xms8g
-Xmx8g
Tsis tas li ntawd, nws raug nquahu kom tawm tswv yim tawm ntawm kab -XX:+UseConcMarkSweepGC. Xav paub ntxiv txog qhov no S, SΡS,. Cov kauj ruam tom ntej yog los tsim ib qho kev teeb tsa nyob rau hauv cov ntaub ntawv logstash.conf:
Nrog rau qhov kev teeb tsa no, Logstash nyeem cov ntaub ntawv los ntawm lub console, hla nws los ntawm cov lim khoob, thiab tso tawm nws rov qab mus rau lub console. Siv qhov kev teeb tsa no yuav sim ua haujlwm ntawm Logstash. Txhawm rau ua qhov no, cia peb khiav nws hauv kev sib tham sib hom:
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}
Logstash tau pib ua tiav ntawm qhov chaw nres nkoj 9600.
Cov kauj ruam kawg ntawm kev teeb tsa: tso Logstash ua qhov kev pabcuam Windows. Qhov no tuaj yeem ua tau, piv txwv li, siv lub pob NSSM:
PS C:...bin> .nssm.exe install logstash
Service "logstash" installed successfully!
txhaum cai
Kev nyab xeeb ntawm cov cav thaum xa tawm los ntawm cov neeg rau zaub mov tau lees paub los ntawm Persistent Queues mechanism.
Nws ua haujlwm li cas
Cov txheej txheem ntawm queues thaum lub cav ua haujlwm yog: input β queue β filter + output.
Lub tswv yim plugin tau txais cov ntaub ntawv los ntawm lub cav qhov chaw, sau nws mus rau ib kab, thiab xa cov ntaub ntawv lees paub tias cov ntaub ntawv tau txais mus rau qhov chaw.
Cov lus los ntawm cov kab yog ua tiav los ntawm Logstash, dhau los ntawm cov lim thiab cov zis plugin. Thaum tau txais kev pom zoo los ntawm cov zis uas lub cav tau raug xa mus, Logstash tshem tawm cov txheej txheem txheej txheem los ntawm cov kab. Yog tias Logstash nres, tag nrho cov lus tsis tau ua tiav thiab cov lus uas tsis tau txais kev lees paub tseem nyob hauv kab, thiab Logstash yuav txuas ntxiv ua lawv lub sijhawm tom ntej nws pib.
hloov
Kho tau los ntawm cov yuam sij hauv cov ntaub ntawv C:Logstashconfiglogstash.yml:
Spliting recipient_address rau ib tus neeg tau txais
Qhov teeb meem no tseem tuaj yeem daws tau los ntawm kev hloov pauv plugin:
mutate {
split => ["recipient_address", ";"]
}
Hloov daim ntawv teev sijhawm
Nyob rau hauv cov ntaub ntawv ntawm taug qab cav, qhov teeb meem yog heev yooj yim daws tau los ntawm lub plugin hnub, uas yuav pab tau koj sau hauv daim teb timestamp hnub thiab sijhawm nyob rau hauv hom ntawv xav tau los ntawm daim teb date-time:
date {
match => [ "date-time", "ISO8601" ]
timezone => "Europe/Moscow"
remove_field => [ "date-time" ]
}
Nyob rau hauv cov ntaub ntawv ntawm IIS cav, peb yuav tsum tau muab cov ntaub ntawv teb date ΠΈ time siv lub mutate plugin, sau npe lub sij hawm cheeb tsam peb xav tau thiab tso lub sij hawm no thwj rau hauv timestamp siv lub hnub plugin: