pavlo-shcherbukha / pavlo-shcherbukha.github.io

Creative Commons Zero v1.0 Universal
0 stars 0 forks source link

Elastic-Kibana-Logs #169

Open pavlo-shcherbukha opened 1 year ago

pavlo-shcherbukha commented 1 year ago

Тут питання з приводу роботи з KIBANA та логами для плбудови DashBoards

Проблема 1.

Опис проблми

Є в логові два записи (два документи). Один документ - коли запит вийшов. Другий документ коли прийшла відповідь і з яким результатом. Вони мають спільний ID. Потірбно якось їх поєднати та відобразити на Дашбоард

Знайдені рекомомендаціх

Thanks for the links provided. I've gone through all of them and tried to use aggregate filter. But seems it's working for few log entries and not for few.

Below is the filter configuration I created for logstash to load the log files data using aggregate.

filter{ grok { match => { "message" => "%{GREEDYDATA:PreText} : For_Request_Dashboard-%{WORD:TransactionId}|%{WORD:Class}|%{WORD:Method}|%{USERNAME:User}|%{HOSTNAME:Host}|%{DATA:StartTime}|%{DATA:EndTime}|%{WORD:IsError}|%{NUMBER:TotalTimeTakenInMilliseconds:int}"} remove_field => [ "message" ] } if [EndTime] == "NA" { aggregate { task_id => "%{TransactionId}" code => "map['StartTimeNew'] = event.get('StartTime')" map_action => "create" } } if [StartTime] == "NA" { aggregate { task_id => "%{TransactionId}" code => "event.set('StartTime', map['StartTimeNew'])" map_action => "update" end_of_task => true timeout => 120 } } }

Sample logs for reference:

2020-02-24 16:46:44.402 INFO 9780 --- [http-nio-8080-exec-2] c.v.s.SpringBootTestForLogsApplication : For_Request_Dashboard-100|DatabaseUtils|read|venakta.kodapaka|L0418L|Mon Feb 24 16:46:42 IST 2020|NA|NA|0 2020-02-24 16:46:44.402 INFO 9780 --- [http-nio-8080-exec-2] c.v.s.SpringBootTestForLogsApplication : For_Request_Dashboard-100|DatabaseUtils|read|venakta.kodapaka|L0418L|NA|Mon Feb 24 16:46:44 IST 2020|false|2001

Is anything wrong in the configuration? Or is it expected way to behave like that(few times correct/few times not)?

Please help me on this.


Те ж самет описано за лінком [kibana-linking-two-independent-events](https://stackoverflow.com/questions/34652075/kibana-linking-two-independent-events)
- Цікавий ресурс тут:  [-relations-inside-elasticsearch](https://www.elastic.co/blog/managing-relations-inside-elasticsearch)  но може трохи застарілий
Але можливо застарілий

- І тут праямо лінк на Kibana: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html
- https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html

- Ще цікавий варіант тут: [[Kibana: joining two documents in table visualization](https://stackoverflow.com/questions/35272459/kibana-joining-two-documents-in-table-visualization)](https://stackoverflow.com/questions/35272459/kibana-joining-two-documents-in-table-visualization)  - можливо найкористніший
pavlo-shcherbukha commented 1 year ago

Lucen викорситовуємо коли потрібні Regexp або щось складніше