Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau

Aloha ʻoe, ʻo Evgeniy koʻu inoa, ʻo wau ke alakaʻi o ka hui B2B ma Citymobil. ʻO kekahi o kā mākou hui ʻo ke kākoʻo ʻana i ka hoʻohui ʻana no ke kauoha kaʻa mai nā hoa, a no ka hōʻoia ʻana i kahi lawelawe paʻa pono mākou e hoʻomaopopo mau i nā mea e hana nei i kā mākou microservices. A no kēia pono ʻoe e nānā mau i nā lāʻau.

Ma Citymobil, hoʻohana mākou i ka ELK stack (ElasticSearch, Logstash, Kibana) e hana me nā lāʻau, a he nui ka nui o ka ʻikepili i loaʻa ma laila. I kēia nui o nā noi, paʻakikī loa ka loaʻa ʻana o nā pilikia e ʻike ʻia ma hope o ka waiho ʻana o ke code hou. A no ka ʻike maopopo ʻana iā lākou, loaʻa iā Kibana kahi ʻāpana Dashboard.

Nui nā ʻatikala ma Habré me nā hiʻohiʻona o ka hoʻonohonoho ʻana i kahi waihona ELK no ka loaʻa ʻana a me ka mālama ʻana i ka ʻikepili, akā ʻaʻohe mea pili i ka hana ʻana i kahi Dashboard. No laila, makemake wau e hōʻike i ka hana ʻana i kahi hiʻohiʻona hiʻohiʻona o ka ʻikepili e pili ana i nā lāʻau e hiki mai ana ma Kibana.

hoʻoponopono

I mea e maopopo ai, ua hana au i kiʻi Docker me ELK a me Filebeat. A kau i kahi mea liʻiliʻi i loko o kahi pahu ka papahana i Go, ka mea no kā mākou laʻana e hoʻopuka i nā lāʻau hoʻāʻo. ʻAʻole wau e wehewehe kikoʻī i ka hoʻonohonoho ʻana o ELK; ua lawa ka palapala e pili ana i kēia ma Habré.

Hoʻopili i ka waihona me ka hoʻonohonoho docker-compose a me nā hoʻonohonoho ELK, a hoʻomaka me ke kauoha docker-compose up. ʻAʻole wau e hoʻohui i kahi kī ma ke kumu. -de ʻike i ke kaʻina hana o ka waihona ELK.

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up

Inā hoʻonohonoho pono ʻia nā mea a pau, a laila e ʻike mākou i kahi komo i loko o nā lāʻau (ʻaʻole paha i ka manawa koke, ʻo ke kaʻina o ka hoʻokuʻu ʻana i kahi pahu me ka pahu holoʻokoʻa e lawe i kekahi mau minuke):

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}

Ma ka helu wahi localhost:5061 E wehe ʻo Kibana.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
ʻO ka mea wale nō e pono ai mākou e hoʻonohonoho, ʻo ia ka hana ʻana i kahi Index Index no Kibana me ka ʻike e pili ana i ka ʻikepili e hōʻike ʻia. No ka hana ʻana i kēia, e hoʻokō kāua i kahi noi curl a i ʻole e hana i kahi ʻano o nā hana ma ka interface kiʻi.

$ curl -XPOST -D- 'http://localhost:5601/api/saved_objects/index-pattern'
    -H 'Content-Type: application/json'
    -H 'kbn-xsrf: true'
    -d '{"attributes":{"title":"logstash-*","timeFieldName":"@timestamp"}}'

Ke hana ʻana i ke ʻano papa kuhikuhi ma o GUI
No ka hoʻonohonoho ʻana, koho i ka ʻaoʻao Discover ma ka ʻaoʻao hema a hele i ka ʻaoʻao hana hoʻohālike Index.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ke kaomi ʻana i ka pihi "Create index pattern", lawe ʻia mākou i ka ʻaoʻao hana index. Ma ke kahua "Index pattern name", e hoʻokomo i ka "logstash-*". Inā hoʻonohonoho pono ʻia nā mea a pau, ma lalo o Kibana e hōʻike i nā kuhikuhi i hāʻule ma lalo o ke kānāwai.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ka ʻaoʻao aʻe, e koho i ke kī kī me ka timestamp, i kā mākou hihia @timestamp.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
ʻO ka hopena, e ʻike ʻia ka ʻaoʻao hoʻonohonoho index, akā ʻaʻohe hana hou e koi ʻia mai iā mākou i kēia manawa.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau

I kēia manawa hiki iā mākou ke hoʻi i ka ʻāpana Discover, kahi e ʻike ai mākou i nā hoʻokomo log.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau

Dashboard

Ma ka ʻaoʻao hema, kaomi i ka ʻāpana hana Dashboard a hele i ka ʻaoʻao pili.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Kaomi ma ka "Hana i ka dashboard hou" a hele i ka ʻaoʻao no ka hoʻohui ʻana i nā mea i ka Dashboard.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
E kaomi i ka pihi "E hana hou", a e koi ka ʻōnaehana iā ʻoe e koho i ke ʻano o ka hōʻike ʻikepili. Nui ka helu o ia mau mea ma Kibana, akā e nānā mākou i ka hana ʻana i kahi kiʻi kiʻi "Vertical Bar" a me kahi papa "Data Table". Hoʻonohonoho ʻia nā ʻano hōʻike ʻē aʻe ma ke ʻano like. 
Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Hoʻopaʻa ʻia kekahi mau mea i loaʻa iā B a me E, e hōʻike ana he hoʻokolohua a i ʻole beta. I ka lōʻihi o ka manawa, hiki ke hoʻololi a nalowale paha ke ʻano mai Kibana.

Paʻa kū pololei

No ka laʻana "Vertical Bar", e hana i kahi histogram o ka ratio o nā kūlana pane kūleʻa a kūleʻa ʻole o kā mākou lawelawe. Ma hope o ka hoʻopau ʻana i nā hoʻonohonoho, e loaʻa iā mākou ka pakuhi aʻe:

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
E hoʻokaʻawale mākou i nā noi āpau me ke kūlana pane = 400.

No ka hana ʻana i kahi pakuhi "Vertical Bar", pono mākou e koho i kahi kumu ʻikepili. E koho i ka Index Pattern a mākou i hana mua ai.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ka paʻamau, ke koho ʻoe i kahi kumu ʻikepili, e ʻike ʻia kahi pakuhi hoʻomau. E hoʻonohonoho kāua.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ka poloka "Buckets", e kaomi i ka pihi "Add", koho i ka "X-asis" a hoʻonohonoho i ka axis X. E noʻonoʻo kākou i nā kaha manawa o nā moʻolelo e komo ana i ka log ma ia. Ma ke kahua "Aggregation", koho i ka "Date Histogram", a ma ka "Field" koho "@timestamp", e hōʻike ana i kahi kahua pōkole. E haʻalele kākou i ka "Wāwī liʻiliʻi" i ka mokuʻāina "Auto", a e hoʻololi koke ia i kā mākou hōʻike. 

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ke kaomi ʻana i ka pihi "Update", e ʻike mākou i kahi pakuhi me ka helu o nā noi i kēlā me kēia 30 kekona.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
I kēia manawa, e hoʻonohonoho kākou i nā kolamu ma ke koʻi Y. I kēia manawa ke hōʻike nei mākou i ka huina o nā noi i ka manawa i koho ʻia.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
E hoʻololi i ka waiwai "Aggregation" i "Sum Bucket", e hiki ai iā mākou ke hoʻohui i ka ʻikepili mai nā noi kūleʻa a kūleʻa ʻole. Ma ka Bucket -> Aggregation block, koho i ka hui ʻana e "Filters" a hoʻonohonoho i ka kānana e "statusCode>= 400". A ma ke kahua "Custom label" hōʻike mākou i ko mākou inoa hōʻailona no kahi hōʻike ʻoi aku ka maʻalahi ma ka moʻolelo ma ka pakuhi a ma ka papa inoa maʻamau.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ke kaomi ʻana i ka pihi "Update" ma lalo o ka poloka hoʻonohonoho, loaʻa iā mākou kahi pakuhi me nā nīnau pilikia.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Inā kaomi ʻoe i ka pōʻai ma ka ʻaoʻao o ka moʻolelo, e ʻike ʻia kahi puka aniani e hiki ai iā ʻoe ke hoʻololi i ke kala o nā kolamu.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
I kēia manawa e hoʻohui i ka ʻikepili i nā noi kūleʻa i ka pakuhi. Ma ka ʻāpana "Metrics", kaomi i ka pihi "Add" a koho i ka "Y-axis".

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ka metric i hana ʻia mākou e hana like me nā noi hewa. Ma ka kānana wale nō mākou e hōʻike ai i "statusCode <400".

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ka hoʻololi ʻana i ke kala o ke kolamu hou, loaʻa iā mākou kahi hōʻike o ka lakio o nā noi pilikia a kūleʻa.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ke kaomi ʻana i ka pihi "Save" ma ka piko o ka pale a kuhikuhi i kahi inoa, e ʻike mākou i ka pakuhi mua ma ka Dashboard.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau

Pākaukau ʻIkepili

I kēia manawa, e nānā kākou i ka ʻike papaʻaina “Data Table”. E hana mākou i papa me ka papa inoa o nā URL āpau i loaʻa ai nā noi a me ka helu o kēia mau noi. E like me ka laʻana Vertical Bar, koho mua mākou i kahi kumu ʻikepili.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma hope o kēia, e hōʻike ʻia kahi papaʻaina me hoʻokahi kolamu ma ka pale, e hōʻike ana i ka nui o nā noi no ka manawa manawa i koho ʻia.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
E hoʻololi wale mākou i ka poloka "Buckets". Kaomi i ka pihi "Add" a koho i ka "Split rows".

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ke kahua "Aggregation", koho "Terms". A ma ke kahua "Field" i hōʻike ʻia, koho i "url.keyword".

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ka wehewehe ʻana i ka waiwai "Url" ma ka kahua "Custom label" a me ke kaomi ʻana i ka "Update", e loaʻa iā mākou ka papa i makemake ʻia me ka helu o nā noi no kēlā me kēia URL no ka manawa i koho ʻia.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
Ma ka piko o ka pale, e kaomi hou i ke pihi "Save" a kuhikuhi i ka inoa o ka papaʻaina, no ka laʻana, Urls. E hoʻi kāua i ka Dashboard a ʻike i nā manaʻo ʻelua i hana ʻia.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau

Ke hana nei me Dashboard

I ka hana ʻana i ka Dashboard, hoʻonohonoho mākou i nā ʻāpana ʻike kumu wale nō i nā hoʻonohonoho mea hōʻike. ʻAʻohe kumu o ka wehewehe ʻana i ka ʻikepili no nā kānana i nā mea, no ka laʻana, "ka lā lā", "ka kānana e ka mea hoʻohana", "ka kānana ʻana ma ka ʻāina o ka noi", etc. ʻOi aku ka maʻalahi o ka wehewehe ʻana i ka manawa i makemake ʻia a i ʻole ka hoʻonohonoho ʻana i ka kānana pono i loko o ka panel nīnau, aia ma luna o nā mea.

Ke hana ʻana i kahi Dashboard ma Kibana e nānā i nā lāʻau
E hoʻopili ʻia nā kānana i hoʻohui ʻia i kēia panel i ka Dashboard holoʻokoʻa, a e hoʻonohonoho hou ʻia nā mea hōʻike a pau e like me ka ʻikepili i kānana ʻia.

hopena

He mea hana ikaika ʻo Kibana e hiki ai iā ʻoe ke nānā i nā ʻikepili i kahi ala kūpono. Ua ho'āʻo wau e hōʻike i ka hoʻonohonoho ʻana o ʻelua ʻano hōʻike nui. Akā ua hoʻonohonoho ʻia nā ʻano ʻē aʻe ma ke ʻano like. A ʻo ka nui o nā hoʻonohonoho aʻu i waiho ai ma hope o nā hiʻohiʻona e ʻae iā ʻoe e hana maʻalahi i nā pakuhi e kūpono i kāu mau pono.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka