Ku qaabaynta xogta aan habaysanayn ee GROK
Haddii aad isticmaalayso xirmada Elastic (ELK) oo aad xiisaynayso inaad ku sawirto diiwaanka Logstash ee caadiga ah ee Elasticsearch, markaa boostadani adigaa leh.
Xirmada ELK waa erey la soo gaabiyey saddex mashruuc oo il furan: Elasticsearch, Logstash iyo Kibana. Si wada jir ah waxay u sameeyaan madal lagu maamulo log.
- Elasticsearch waa hab-raadinta iyo falanqaynta.
- Logstash waa dhuumaha habaynta xogta dhinaca server-ka kaas oo ka keena xogta ilo badan isku mar, beddesha, ka dibna u dirta "stash" sida Elasticsearch.
- Kibana Waxay u ogolaataa isticmaalayaasha inay sawiraan xogta iyagoo isticmaalaya jaantusyada iyo garaafyada Elasticsearch.
Beats mar dambe yimid oo waa xog-qaade fudud. Soo bandhigida garaaca waxay u beddeshay Qalabka Elk Stack-ka Elastic, laakiin taasi maahan barta.
Maqaalkani waxa uu ku saabsan yahay Grok, kaas oo ah muuqaal ku jira Logstash kaas oo bedeli kara logyadaada ka hor inta aan loo dirin qashinka. Ujeeddooyinkeena, kaliya waxaan ka hadli doonaa habaynta xogta Logstash una gudub Elasticsearch.
Grok waa filter gudaha Logstash oo loo isticmaalo in lagu kala saaro xogta aan habaysanayn shay habaysan oo la waydiin karo. Waxay ku fadhidaa korka odhaah joogto ah (regex) waxayna isticmaashaa habab qoraal ah si ay isugu dhigmaan xadhkaha faylalka log.
Sida aan ku arki doonno qaybaha soo socda, adeegsiga Grok waxay sameyneysaa farqi weyn marka ay timaado maareynta logaga oo hufan.
Grok la'aanteed xogta loggu waa mid aan habaysanayn
Grok la'aanteed, marka logyada laga soo diro Logstash loona diro Elasticsearch oo lagu soo bandhigo Kibana, kaliya waxay ka muuqdaan qiimaha fariinta.
Weydiinta macluumaadka macnaha leh ee xaaladdan waa adag tahay sababtoo ah dhammaan xogta log waxa lagu kaydiyaa hal fure. Way fiicnaan lahayd haddii fariimaha logu si wanaagsan loo habeeyo.
Xogta aan habaysanayn ee ka timid logyada
localhost GET /v2/applink/5c2f4bb3e9fda1234edc64d 400 46ms 5bc6e716b5d6cb35fc9687c0
Haddii aad si dhow u eegto xogta ceeriin, waxaad arki doontaa in ay dhab ahaantii ka kooban tahay qaybo kala duwan, oo mid kastaa u kala soocay meel bannaan.
Horumariyayaal khibrad badan leh, waxaad u maleyn kartaa in mid kasta oo ka mid ah qaybaha ay ka dhigan tahay iyo waxa ay fariinta log ka timid wicitaanka API. Soo bandhigida shay kasta ayaa hoos lagu qeexay.
Aragti qaabaysan ee xogtayada
- deegaanka == deegaanka
- HEL == habka
- β /v2/applink/5c2f4bb3e9fda1234edc64d == url
- 400 = heerka jawaabta
- 46ms == jawaabta_waqtiga
- β 5bc6e716b5d6cb35fc9687c0 == user_id
Sida aan ku aragno xogta habaysan, waxaa jira amar loogu talagalay diiwaannada aan qaabaysan. Tallaabada xigta waa habaynta software ee xogta ceeriin. Tani waa meesha Grok ka iftiimay.
Grok Templates
Qaababka Grok ee lagu dhex dhisay
Logstash waxa ay la socotaa in ka badan 100 qaab oo lagu dhex dhisay si ay u habeeyaan xogta aan habaysan. Dhab ahaantii waa inaad tan ka faa'iidaysato mar kasta oo ay suurtagal tahay syslogs guud sida apache, linux, haproxy, aws iyo wixii la mid ah.
Si kastaba ha ahaatee, maxaa dhacaya marka aad haysato diiwaannada gaarka ah sida tusaalaha sare? Waa inaad dhistaa template Grok adiga kuu gaar ah.
Hababka Grok Custom
Waa inaad isku daydaa inaad dhisto template Grok adiga kuu gaar ah. waan isticmaalay
Ogsoonow in qaabka Grok syntax uu yahay sida soo socota: %{SYNTAX:SEMANTIC}
Waxa ugu horreeya ee aan isku dayay inaan sameeyo waxay ahayd tab tab Baro ee Grok debugger. Waxaan u maleynayay inay fiicnaan lahayd haddii qalabkani uu si toos ah u dhalin karo qaabka Grok, laakiin ma ahayn mid faa'iido leh maadaama ay heshay laba kulan oo keliya.
Isticmaalka helitaankan, waxaan bilaabay abuurista qaab-dhismeedkayga Grok debugger aniga oo isticmaalaya syntax-ka laga helay bogga Elastic Github.
Ka dib markii aan la ciyaaray erayo kala duwan, waxaan ugu dambeyntii awooday inaan u habeeyo xogta log sida aan rabo.
Grok Debugger Link
Qoraalka asalka ah:
localhost GET /v2/applink/5c2f4bb3e9fda1234edc64d 400 46ms 5bc6e716b5d6cb35fc9687c0
Qaabka:
%{WORD:environment} %{WORD:method} %{URIPATH:url} %{NUMBER:response_status} %{WORD:response_time} %{USERNAME:user_id}
Maxaa dhacay aakhirkii
{
"environment": [
[
"localhost"
]
],
"method": [
[
"GET"
]
],
"url": [
[
"/v2/applink/5c2f4bb3e9fda1234edc64d"
]
],
"response_status": [
[
"400"
]
],
"BASE10NUM": [
[
"400"
]
],
"response_time": [
[
"46ms"
]
],
"user_id": [
[
"5bc6e716b5d6cb35fc9687c0"
]
]
}
Iyada oo leh qaabka Grok iyo xogta khariidad ee gacanta ku jirta, talaabada ugu dambeysa waa in lagu daro Logstash.
Cusbooneysiinta faylka qaabeynta Logstash.conf
Seerarka meesha aad ku rakibtay xirmada ELK, aad qaabeynta Logstash:
sudo vi /etc/logstash/conf.d/logstash.conf
Ku dheji isbedelada.
input {
file {
path => "/your_logs/*.log"
}
}
filter{
grok {
match => { "message" => "%{WORD:environment} %{WORD:method} %{URIPATH:url} %{NUMBER:response_status} %{WORD:response_time} %{USERNAME:user_id}"}
}
}
output {
elasticsearch {
hosts => [ "localhost:9200" ]
}
}
Ka dib markaad kaydiso isbeddelladaada, dib u bilaw Logstash oo hubi xaaladdeeda si aad u hubiso inay wali shaqaynayso.
sudo service logstash restart
sudo service logstash status
Ugu dambeyntii, si loo hubiyo in isbeddelku uu hirgalay, Hubi inaad cusboonaysiiso tusaha Elasticsearch ee Logstash gudaha Kibana!
Grok, xogta logkaaga waa la habeeyey!
Sida aan ku arki karno sawirka kore, Grok wuxuu awood u leeyahay inuu si toos ah u waafajiyo xogta log iyo Elasticsearch. Tani waxay sahlaysaa in la maareeyo diiwaanka oo si degdeg ah loo weydiiyo macluumaadka. Halkii aad ka dhex qodan lahayd faylalka log si aad u saxdo, waxa aad si fudud ku shaandhayn kartaa waxa aad raadinayso, sida deegaan ama url.
Isku day tibaaxaha Grok! Haddii aad hayso hab kale oo aad tan ku samayso ama aad wax dhib ah kala kulanto tusaalooyinka sare, kaliya ku qor faallooyinka hoose si aad ii ogeysiiso.
Waad ku mahadsan tahay akhriska-oo fadlan igu raac halkan Medium si aad u hesho maqaallada injineernimada software ee xiisaha badan!
Khayraadka
Telegram channel by
Source: www.habr.com