Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում

Բարև, իմ անունը Յուջին է, ես B2B թիմի ղեկավար եմ Citymobil-ում: Մեր թիմի խնդիրներից մեկն է աջակցել գործընկերներին տաքսի պատվիրելու ինտեգրումներին, և կայուն ծառայություն ապահովելու համար մենք միշտ պետք է հասկանանք, թե ինչ է կատարվում մեր միկրոսերվիսներում։ Եվ դրա համար անհրաժեշտ է անընդհատ վերահսկել տեղեկամատյանները:

Citymobil-ում մենք օգտագործում ենք ELK ստեկը (ElasticSearch, Logstash, Kibana) տեղեկամատյանների հետ աշխատելու համար, և այնտեղ եկող տվյալների քանակը հսկայական է: Հարցումների այս զանգվածում խնդիրներ գտնելը, որոնք կարող են հայտնվել նոր կոդի տեղակայումից հետո, բավականին դժվար է: Եվ նրանց տեսողական նույնականացման համար Kibana-ն ունի Dashboard բաժին:

Habré-ում բավականին շատ հոդվածներ կան՝ օրինակներով, թե ինչպես կարելի է ստեղծել ELK stack՝ տվյալներ ստանալու և պահելու համար, բայց չկան համապատասխան նյութեր Dashboard ստեղծելու վերաբերյալ: Հետևաբար, ես ուզում եմ ցույց տալ, թե ինչպես կարելի է ստեղծել տվյալների տեսողական ներկայացում՝ հիմնվելով Kibana-ում մուտքային տեղեկամատյանների վրա:

հարմարեցում

Ավելի պարզ դարձնելու համար ես ստեղծել եմ Docker պատկեր ELK-ով և Filebeat-ով: Եվ դրեց կոնտեյներով մի փոքր ծրագիրը Go-ում, որը մեր օրինակի համար կստեղծի թեստային տեղեկամատյաններ: Ես մանրամասն չեմ նկարագրի ELK-ի կոնֆիգուրացիան, դրա մասին բավականաչափ գրված է Habré-ում։

Կլոնավորեք կազմաձևման պահոցը docker-compose և ELK կարգավորումները և գործարկեք այն հրամանով docker-compose up. Դիտավորյալ բանալի չավելացնելը -dտեսնել ELK stack-ի առաջընթացը:

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

Եթե ​​ամեն ինչ ճիշտ կազմաձևված է, ապա մենք կտեսնենք մուտքագրում տեղեկամատյաններում (գուցե ոչ անմիջապես, ամբողջ կույտով կոնտեյներ գործարկելու գործընթացը կարող է տևել մի քանի րոպե).

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

Հասցեով localhost:5061 Կիբանան պետք է բացվի։

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Միակ բանը, որ մենք պետք է կազմաձևենք, Kibana-ի համար Index Pattern-ի ստեղծումն է՝ տեղեկատվությամբ, թե ինչ տվյալներ պետք է ցուցադրվեն: Դա անելու համար մենք կկատարենք curl հարցումը կամ գրաֆիկական ինտերֆեյսում կիրականացնենք մի շարք գործողություններ:

$ 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"}}'

GUI-ի միջոցով ինդեքսային օրինակի ստեղծում
Կարգավորելու համար ձախ ընտրացանկում ընտրեք «Բացահայտեք» բաժինը և անցեք «Ինդեքսի օրինաչափության ստեղծման» էջ:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Սեղմելով «Ստեղծել ինդեքսի օրինաչափություն» կոճակը՝ հասնում ենք ինդեքս ստեղծելու էջին։ «Index pattern name» դաշտում մուտքագրեք «logstash-*»: Եթե ​​ամեն ինչ ճիշտ է կազմաձևված, Kibana-ի ներքևում ցույց կտան կանոնների տակ գտնվող ինդեքսները:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Հաջորդ էջում ընտրեք ժամանակի դրոշմով բանալի դաշտը, մեր դեպքում դա այդպես է @timestamp.

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Սա կբացի ինդեքսի կարգավորումների էջը, բայց այս պահին մեզանից որևէ այլ գործողություն չի պահանջվում:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում

Այժմ մենք կարող ենք նորից գնալ Discover բաժին, որտեղ կտեսնենք գրանցամատյանների գրառումները:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում

Կարգավորման հարթակ

Ձախ մենյուում սեղմեք Dashboard-ի ստեղծում բաժինը և անցեք համապատասխան էջ։

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Կտտացրեք «Ստեղծեք նոր վահանակ» և անցեք էջ՝ վահանակում օբյեկտներ ավելացնելու համար:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Սեղմեք «Ստեղծել նոր» կոճակը, և համակարգը կհուշի ձեզ ընտրել տվյալների ցուցադրման տեսակը: Kibana-ն ունի դրանց մեծ քանակություն, բայց մենք կանդրադառնանք «Ուղղահայաց գծի» գրաֆիկական ներկայացման և «Տվյալների աղյուսակի» աղյուսակային պատկերի ստեղծմանը: Ներկայացման այլ տեսակներ կազմաձևված են նույն ձևով: 
Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Որոշ մատչելի օբյեկտներ պիտակավորված են B և E, ինչը նշանակում է, որ ձևաչափը փորձնական է կամ բետա փորձարկման մեջ: Ժամանակի ընթացքում ձևաչափը կարող է փոխվել կամ ամբողջությամբ անհետանալ Kibana-ից:

Ուղղահայաց բար

«Ուղղահայաց բարի» օրինակի համար եկեք ստեղծենք մեր ծառայության հաջող և անհաջող արձագանքման կարգավիճակների հարաբերակցության հիստոգրամ: Կարգավորումների վերջում մենք ստանում ենք հետևյալ գրաֆիկը.

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Մենք բոլոր հարցումները կդասակարգենք պատասխանի կարգավիճակով < 400 որպես հաջողված, և >= 400 որպես խնդրահարույց:

«Ուղղահայաց բար» գծապատկեր ստեղծելու համար մենք պետք է ընտրենք տվյալների աղբյուր: Ընտրեք Index Pattern-ը, որը մենք ստեղծել ենք ավելի վաղ:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Լռելյայնորեն, տվյալների աղբյուր ընտրելուց հետո կհայտնվի մեկ ամուր գրաֆիկ: Եկեք կարգավորենք այն:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
«Դույլեր» բլոկում սեղմեք «Ավելացնել» կոճակը, ընտրեք «X-asis» և կարգավորեք X առանցքը: Եկեք մի կողմ դնենք գրանցամատյանում գրառումների ստացման ժամանակային դրոշմները: «Aggregation» դաշտում ընտրել «Date Histogram», իսկ «Field»՝ «@timestamp»՝ նշելով ժամանակի դաշտը։ Եկեք թողնենք «Նվազագույն միջակայքը» «Ավտո» վիճակում, և այն ավտոմատ կերպով կհարմարվի մեր էկրանին: 

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Սեղմելով «Թարմացնել» կոճակը, մենք կտեսնենք 30 վայրկյանը մեկ հարցումների քանակով գրաֆիկ։

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Այժմ եկեք կարգավորենք սյունակները Y առանցքի երկայնքով: Այժմ մենք ցուցադրում ենք հարցումների ընդհանուր թիվը ընտրված ժամանակային միջակայքում:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Եկեք փոխենք «Aggregation» արժեքը «Sum Bucket»-ի, ինչը թույլ կտա մեզ միավորել տվյալները հաջող և անհաջող հարցումների համար: Bucket -> Aggregation բլոկում ընտրեք ագրեգացիան ըստ «Filters» և սահմանեք զտումը ըստ «statusCode >= 400»: Իսկ «Պատվերով պիտակ» դաշտում մենք նշում ենք ցուցիչի անունը՝ գծապատկերում և ընդհանուր ցանկում ավելի հասկանալի ցուցադրման համար:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Սեղմելով «Թարմացնել» կոճակը կարգավորումների բլոկի տակ, մենք կստանանք խնդրահարույց հարցումների գրաֆիկ:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Եթե ​​սեղմեք լեգենդի կողքին գտնվող շրջանագծի վրա, կհայտնվի պատուհան, որտեղ կարող եք փոխել սյունակների գույնը:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Այժմ եկեք աղյուսակում ավելացնենք հաջողված հարցումների տվյալները: «Չափանիշներ» բաժնում սեղմեք «Ավելացնել» կոճակը և ընտրեք «Y-axis»:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Ստեղծված չափման մեջ մենք կատարում ենք նույն կարգավորումները, ինչ սխալ հարցումների դեպքում: Միայն ֆիլտրում մենք նշում ենք «statusCode < 400»:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Նոր սյունակի գույնը փոխելով՝ մենք ստանում ենք խնդրահարույց և հաջողված հարցումների հարաբերակցության ցուցադրում։

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Սեղմելով էկրանի վերևում գտնվող «Պահպանել» կոճակը և նշելով անունը, մենք կտեսնենք վահանակի առաջին գծապատկերը:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում

Տվյալների աղյուսակ

Այժմ դիտարկենք «Տվյալների աղյուսակ» աղյուսակային տեսքը: Եկեք ստեղծենք աղյուսակ՝ բոլոր պահանջվող URL-ների և այդ հարցումների քանակի ցանկով: Ինչպես ուղղահայաց բարի օրինակում, մենք նախ ընտրում ենք տվյալների աղբյուրը:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Դրանից հետո էկրանին կցուցադրվի մեկ սյունակով աղյուսակ, որը ցույց է տալիս ընտրված ժամանակային միջակայքի հարցումների ընդհանուր թիվը:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Մենք կփոխենք միայն «Դույլեր» բլոկը։ Կտտացրեք «Ավելացնել» կոճակը և ընտրեք «Տողերի բաժանում»:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
«Համախմբում» դաշտում ընտրեք «Պայմաններ»: Իսկ հայտնված «Field» դաշտում ընտրեք «url.keyword»:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
«Custom label» դաշտում նշելով «Url» արժեքը և սեղմելով «Update»՝ մենք կստանանք ցանկալի աղյուսակը՝ յուրաքանչյուր URL-ի համար ընտրված ժամանակահատվածի հարցումների քանակով:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Էկրանի վերևում կրկին սեղմեք «Պահպանել» կոճակը և նշեք աղյուսակի անվանումը, օրինակ՝ Urls: Եկեք վերադառնանք Dashboard և տեսնենք ստեղծված երկու դիտումները:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում

Աշխատեք վահանակի հետ

Dashboard-ը ստեղծելիս ցուցադրման օբյեկտի կարգավորումներում մենք սահմանում ենք միայն դիտման հիմնական պարամետրերը: Օբյեկտներում ֆիլտրերի համար տվյալներ նշելն անիմաստ է, օրինակ՝ «ամսաթվերի միջակայք», «զտում ըստ օգտագործողի գործակալի», «զտում ըստ հարցումի երկրի» և այլն: Շատ ավելի հարմար է նշել ցանկալի ժամանակահատվածը կամ սահմանել անհրաժեշտ զտումը հարցման վահանակում, որը գտնվում է օբյեկտների վերևում:

Կիբանայում տեղեկամատյանները վերահսկելու համար վահանակի ստեղծում
Այս վահանակում ավելացված զտիչները կկիրառվեն ամբողջ վահանակի վրա, և ցուցադրվող բոլոր օբյեկտները կվերակառուցվեն իրական զտված տվյալների համաձայն:

Ամփոփում

Kibana-ն հզոր գործիք է, որը թույլ է տալիս հարմար ձևով պատկերացնել ցանկացած տվյալ: Ես փորձեցի ցույց տալ ցուցադրման երկու հիմնական տեսակների կարգավորումը: Բայց մյուս տեսակները կազմաձևված են նույն ձևով: Եվ պարամետրերի առատությունը, որը ես թողեցի «կուլիսների հետևում», թույլ կտա ձեզ շատ ճկուն կերպով հարմարեցնել գծապատկերները՝ ձեր կարիքներին համապատասխան:

Source: www.habr.com

Добавить комментарий