A’ structaradh dàta neo-structaraichte le GROK
Ma tha thu a’ cleachdadh a’ chruach Elastic (ELK) agus gu bheil ùidh agad ann a bhith a’ mapadh logaichean àbhaisteach Logstash gu Elasticsearch, tha am post seo dhutsa.
Tha an stac ELK na acronaim airson trì pròiseactan stòr fosgailte: Elasticsearch, Logstash agus Kibana. Còmhla tha iad nan àrd-ùrlar riaghlaidh log.
- Elasticsearch Is e siostam sgrùdaidh agus anailis a th’ ann.
- Logstash na loidhne-phìoban giollachd dàta taobh an fhrithealaiche a bhios a’ toirt a-steach dàta bho ghrunn thùsan aig an aon àm, ga chruth-atharrachadh, agus an uairsin ga chuir gu “stash” leithid Elasticsearch.
- Kibana a’ leigeil le luchd-cleachdaidh dàta fhaicinn a’ cleachdadh chlàran agus ghrafaichean ann an Elasticsearch.
Beats thàinig e nas fhaide air adhart agus tha e na shoitheach dàta aotrom. Le toirt a-steach Beats dh’ atharraich an Elk Stack gu bhith na Stac Elastic, ach chan e sin as coireach.
Tha an artaigil seo mu dheidhinn Grok, a tha na fheart ann an Logstash as urrainn do logaichean atharrachadh mus tèid an cur chun stash. Airson ar n-adhbharan, cha bhith mi a’ bruidhinn ach mu bhith a’ giullachd dàta bho Logstash gu Elasticsearch.
Tha Grok na chriathrag taobh a-staigh Logstash a thathas a’ cleachdadh gus dàta neo-structaraichte a pharsadh gu rudeigin structaraichte agus ceasnachail. Bidh e na shuidhe air mullach abairt àbhaisteach (regex) agus a’ cleachdadh pàtrain teacsa gus sreangan ann am faidhlichean log a mhaidseadh.
Mar a chì sinn anns na h-earrannan a leanas, tha cleachdadh Grok a’ dèanamh eadar-dhealachadh mòr nuair a thig e gu riaghladh èifeachdach air logaichean.
Às aonais Grok tha an dàta log agad gun structar
Às aonais Grok, nuair a thèid logaichean a chuir bho Logstash gu Elasticsearch agus an toirt seachad ann an Kibana, cha nochd iad ach ann an luach na teachdaireachd.
Tha e duilich fiosrachadh brìoghmhor a cheasnachadh san t-suidheachadh seo leis gu bheil a h-uile dàta log air a stòradh ann an aon iuchair. Bhiodh e na b’ fheàrr nam biodh na teachdaireachdan log air an eagrachadh nas fheàrr.
Dàta neo-structaraichte bho logaichean
localhost GET /v2/applink/5c2f4bb3e9fda1234edc64d 400 46ms 5bc6e716b5d6cb35fc9687c0
Ma choimheadas tu gu dlùth air an dàta amh, chì thu gu bheil e dha-rìribh air a dhèanamh suas de phàirtean eadar-dhealaichte, gach fear air a sgaradh le àite.
Airson luchd-leasachaidh nas eòlaiche, is dòcha gu bheil thu comasach air tomhas dè tha gach pàirt a 'ciallachadh agus dè an teachdaireachd log a th' ann bhon ghairm API. Tha taisbeanadh gach nì air a mhìneachadh gu h-ìosal.
Sealladh structarail den dàta againn
- localhost == àrainneachd
- GET == modh
- /v2/applink/5c2f4bb3e9fda1234edc64d == url
- 400 == inbhe_freagairt
- 46ms == àm freagairt
- 5bc6e716b5d6cb35fc9687c0 == user_id
Mar a chì sinn ann an dàta structarail, tha òrdugh ann airson logaichean neo-structaraichte. Is e an ath cheum giollachd bathar-bog de dhàta amh. Seo far a bheil Grok a’ deàrrsadh.
Teamplaidean Grok
Teamplaidean Grok a chaidh a thogail a-steach
Tha Logstash a’ tighinn le còrr air 100 teamplaidean togte airson structaradh dàta neo-structaraichte. Bu chòir dhut gu cinnteach brath a ghabhail air seo nuair as urrainnear airson syslogs coitcheann leithid apache, linux, haproxy, aws agus mar sin air adhart.
Ach, dè thachras nuair a bhios logaichean àbhaisteach agad mar san eisimpleir gu h-àrd? Feumaidh tu an teamplaid Grok agad fhèin a thogail.
Teamplaidean Custom Grok
Feumaidh tu feuchainn ris an teamplaid Grok agad fhèin a thogail. Chleachd mi
Thoir an aire gu bheil co-chòrdadh teamplaid Grok mar a leanas: %{SYNTAX:SEMANTIC}
B' e a' chiad rud a dh'fheuch mi ri dhèanamh a dhol dhan tab Faigh a-mach anns an Grok debugger. Bha mi a’ smaoineachadh gum biodh e math nam b’ urrainn don inneal seo pàtran Grok a ghineadh gu fèin-ghluasadach, ach cha robh e ro fheumail leis nach do lorg e ach dà gheama.
A’ cleachdadh an lorg seo, thòisich mi a’ cruthachadh mo theamplaid fhìn anns an Grok debugger a’ cleachdadh a’ cho-chòrdadh a lorgar air duilleag Elastic Github.
Às deidh dhomh a bhith a’ cluich timcheall le diofar cho-chòrdalachd, bha e comasach dhomh mu dheireadh an dàta log a structaradh mar a bha mi ag iarraidh.
Ceangal Grok Debugger
Teacs tùsail:
localhost GET /v2/applink/5c2f4bb3e9fda1234edc64d 400 46ms 5bc6e716b5d6cb35fc9687c0
Pattern:
%{WORD:environment} %{WORD:method} %{URIPATH:url} %{NUMBER:response_status} %{WORD:response_time} %{USERNAME:user_id}
Dè thachair aig a 'cheann thall
{
"environment": [
[
"localhost"
]
],
"method": [
[
"GET"
]
],
"url": [
[
"/v2/applink/5c2f4bb3e9fda1234edc64d"
]
],
"response_status": [
[
"400"
]
],
"BASE10NUM": [
[
"400"
]
],
"response_time": [
[
"46ms"
]
],
"user_id": [
[
"5bc6e716b5d6cb35fc9687c0"
]
]
}
Le teamplaid Grok agus dàta mapte na làimh, is e an ceum mu dheireadh a chuir ri Logstash.
Ag ùrachadh am faidhle rèiteachaidh Logstash.conf
Air an fhrithealaiche far an do chuir thu a-steach an stac ELK, rachaibh gu rèiteachadh Logstash:
sudo vi /etc/logstash/conf.d/logstash.conf
Cuir a-steach na h-atharrachaidhean.
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" ]
}
}
Às deidh dhut na h-atharrachaidhean agad a shàbhaladh, ath-thòisich Logstash agus thoir sùil air an inbhe aige gus dèanamh cinnteach gu bheil e fhathast ag obair.
sudo service logstash restart
sudo service logstash status
Mu dheireadh, gus dèanamh cinnteach gu bheil na h-atharrachaidhean air tighinn gu buil, Dèan cinnteach gun ùraich thu do chlàr Elasticsearch airson Logstash ann an Kibana!
Le Grok, tha structar an dàta log agad!
Mar a chì sinn san ìomhaigh gu h-àrd, tha Grok comasach air dàta log a mhaidseadh gu fèin-ghluasadach le Elasticsearch. Tha seo ga dhèanamh nas fhasa logaichean a riaghladh agus fiosrachadh a cheasnachadh gu sgiobalta. An àite a bhith a’ cladhach tro fhaidhlichean loga gu deasbug, faodaidh tu dìreach sìoladh a rèir na tha thu a’ sireadh, leithid àrainneachd no url.
Feuch abairtean Grok! Ma tha dòigh eile agad air seo a dhèanamh no ma tha duilgheadas sam bith agad leis na h-eisimpleirean gu h-àrd, dìreach sgrìobh beachd gu h-ìosal gus innse dhomh.
Taing airson leughadh - agus feuch an lean thu mi an seo air Meadhanach airson artaigilean innleadaireachd bathar-bog nas inntinniche!
Stòrasan
PS
Telegram sianal le
Source: www.habr.com