Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх

Сайн байна уу, намайг Евгений гэдэг, би Citymobil компанийн B2B багийн ахлагч. Манай багийн нэг үүрэг бол түншүүдээс такси захиалах интеграцийг дэмжих явдал бөгөөд тогтвортой үйлчилгээг хангахын тулд бид микро үйлчилгээндээ юу болж байгааг үргэлж ойлгох ёстой. Үүний тулд та бүртгэлийг байнга хянаж байх хэрэгтэй.

Citymobil-д бид ELK стекийг (ElasticSearch, Logstash, Kibana) логуудтай ажиллахад ашигладаг бөгөөд тэнд ирж буй өгөгдлийн хэмжээ асар их байдаг. Шинэ кодыг ашигласны дараа гарч ирж буй энэ олон тооны хүсэлтээс асуудал олох нь нэлээд хэцүү байдаг. Мөн тэдний нүдээр танихын тулд Кибана нь Хяналтын самбарын хэсэгтэй.

Мэдээлэл хүлээн авах, хадгалахын тулд ELK стекийг хэрхэн тохируулах тухай жишээ бүхий Habré-ийн талаар нэлээд хэдэн нийтлэл байгаа боловч хяналтын самбар үүсгэх талаар холбогдох материал байхгүй байна. Тиймээс би Кибана дахь ирж буй логууд дээр үндэслэн өгөгдлийн дүрслэлийг хэрхэн бүтээхийг харуулахыг хүсч байна.

тохируулга

Үүнийг илүү ойлгомжтой болгохын тулд би ELK болон Filebeat ашиглан Docker дүрсийг бүтээсэн. Мөн жижиг саванд хийнэ хөтөлбөр Go-д байгаа бөгөөд энэ нь бидний жишээнд туршилтын бүртгэл үүсгэх болно. Би ELK-ийн тохиргоог нарийвчлан тайлбарлахгүй, энэ талаар Хабре дээр хангалттай бичсэн байдаг.

Тохиргооны агуулахыг клон хийх docker-compose болон ELK тохиргоог сонгоод тушаалаар ажиллуулна уу docker-compose up. Түлхүүрийг санаатайгаар нэмэхгүй байна -dELK стекийн явцыг харах.

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 Кибана нээгдэх ёстой.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Бидний тохируулах ёстой цорын ганц зүйл бол Кибана-д ямар өгөгдөл харуулах тухай мэдээлэл бүхий Индекс загвар үүсгэх явдал юм. Үүнийг хийхийн тулд бид 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 ашиглан индексийн загвар үүсгэх
Тохируулахын тулд зүүн цэсний Discover хэсгийг сонгоод Индекс загвар үүсгэх хуудас руу очно уу.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
"Индексийн загвар үүсгэх" товчийг дарснаар бид индекс үүсгэх хуудас руу очно. "Индекс загварын нэр" талбарт "logstash-*" гэж оруулна уу. Хэрэв бүх зүйл зөв тохируулагдсан бол доор Kibana дүрэмд хамаарах индексүүдийг харуулах болно.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Дараагийн хуудсан дээр цагийн тэмдэг бүхий түлхүүр талбарыг сонгоно уу, бидний тохиолдолд энэ нь тийм юм @timestamp.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Ингэснээр индексийн тохиргооны хуудас гарч ирэх боловч одоогоор биднээс нэмэлт үйлдэл хийх шаардлагагүй.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх

Одоо бид Discover хэсэг рүү дахин очиж, бүртгэлийн оруулгуудыг харах болно.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх

Самбар

Зүүн цэсний хяналтын самбар үүсгэх хэсгийг товшоод харгалзах хуудас руу очно уу.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
"Шинэ хяналтын самбар үүсгэх" дээр дарж хяналтын самбарт объект нэмэх хуудас руу очно уу.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
"Шинэ үүсгэх" товчийг дарахад систем танд өгөгдлийн дэлгэцийн төрлийг сонгохыг хүсэх болно. Кибана нь маш олон тоотой боловч бид "Босоо баар" болон хүснэгтийн "Өгөгдлийн хүснэгт"-ийн график дүрслэлийг бий болгохыг авч үзэх болно. Бусад төрлийн үзүүлэнгүүд ижил төстэй байдлаар тохируулагдсан байдаг. 
Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Зарим боломжтой объектуудыг B ба E гэж тэмдэглэсэн байдаг бөгөөд энэ нь формат нь туршилтын эсвэл бета туршилтынх гэсэн үг юм. Цаг хугацаа өнгөрөхөд формат өөрчлөгдөх эсвэл Кибанагаас бүрмөсөн алга болно.

Босоо баар

"Босоо баар" жишээний хувьд манай үйлчилгээний амжилттай болон амжилтгүй хариултын төлөвийн харьцааны гистограммыг үүсгэцгээе. Тохиргооны төгсгөлд бид дараах графикийг авна.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Бид < 400 хариултын статустай бүх хүсэлтийг амжилттай, >= 400 бол асуудалтай гэж ангилах болно.

"Босоо баар" диаграмм үүсгэхийн тулд бид мэдээллийн эх сурвалжийг сонгох хэрэгтэй. Бидний өмнө нь үүсгэсэн индексийн загварыг сонгоно уу.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Өгөгдлийн эх сурвалжийг сонгосны дараа анхдагч байдлаар нэг хатуу график гарч ирнэ. Үүнийг тохируулцгаая.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
"Хувин" блок дээр "Нэмэх" товчийг дарж, "X-asis" -ийг сонгоод X тэнхлэгийг тохируулна. Бүртгэлд бүртгэл хүлээн авах цагийн тэмдгийг хойш тавьцгаая. "Нэгтгэх" талбараас "Огнооны гистограмм"-ыг сонгоод, "Талбар" хэсэгт цагийн талбарыг зааж "@цаг хугацааны тамга"-г сонго. "Хамгийн бага интервал" -ыг "Авто" төлөвт үлдээе, энэ нь бидний дэлгэцэнд автоматаар тохируулагдах болно. 

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
"Шинэчлэх" товчийг дарснаар бид 30 секунд тутамд хүсэлтийн тоо бүхий графикийг харах болно.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Одоо Y тэнхлэгийн дагуу багануудыг тохируулъя.Одоо бид сонгосон хугацааны интервал дахь нийт хүсэлтийн тоог харуулж байна.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Амжилттай болон амжилтгүй хүсэлтийн өгөгдлийг нэгтгэх боломжийг олгох "Нэгтгэх" утгыг "Нийт хувин" болгон өөрчилье. Bucket -> Aggregation блок дотроос "Шүүлтүүрүүд"-ээр нэгтгэхийг сонгоод "statusCode >= 400" гэж шүүлтүүрийг тохируулна. Мөн "Захиалгат шошго" талбарт бид график болон ерөнхий жагсаалтын тэмдэглэгээнд илүү ойлгомжтой харуулахын тулд индикаторын нэрийг зааж өгнө.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Тохиргооны блокийн доор байрлах "Шинэчлэх" товчийг дарснаар бид асуудлын хүсэлт бүхий графикийг авах болно.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Хэрэв та домгийн хажууд байгаа тойрог дээр дарвал баганын өнгийг өөрчлөх боломжтой цонх гарч ирнэ.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Одоо амжилттай хүсэлтийн талаархи мэдээллийг графикт нэмж оруулцгаая. "Метрик" хэсэгт "Нэмэх" товчийг дараад "Y тэнхлэг" -ийг сонгоно уу.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Үүсгэсэн хэмжигдэхүүнд бид алдаатай хүсэлттэй ижил тохиргоог хийдэг. Зөвхөн шүүлтүүрт бид "statusCode < 400" гэж зааж өгдөг.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Шинэ баганын өнгийг өөрчилснөөр бид асуудалтай, амжилттай хүсэлтийн харьцааг харуулах болно.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Дэлгэцийн дээд хэсэгт байрлах "Хадгалах" товчийг дарж, нэрийг зааж өгснөөр бид хяналтын самбар дээрх эхний диаграмыг харах болно.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх

Мэдээллийн хүснэгт

Одоо "Өгөгдлийн хүснэгт" гэсэн хүснэгтийн харагдацыг авч үзье. Хүссэн бүх URL-уудын жагсаалт болон тэдгээр хүсэлтийн тоог агуулсан хүснэгт үүсгэцгээе. Vertical Bar жишээний нэгэн адил бид эхлээд өгөгдлийн эх сурвалжийг сонгоно.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Үүний дараа дэлгэцэн дээр нэг багана бүхий хүснэгт гарч ирэх бөгөөд энэ нь сонгосон хугацааны интервалын нийт хүсэлтийн тоог харуулдаг.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Бид зөвхөн "Хувин" блокыг өөрчлөх болно. "Нэмэх" товчийг дараад "Мөр хуваах" гэснийг сонгоно уу.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
"Нэгтгэх" талбарт "Нөхцөл" -ийг сонгоно уу. Мөн гарч ирсэн "Талбар" талбарт "url.keyword"-г сонгоно уу.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
"Захиалгат шошго" талбарт "Url" утгыг зааж, "Шинэчлэх" дээр дарснаар бид сонгосон хугацаанд URL бүрийн хүсэлтийн тоо бүхий хүссэн хүснэгтийг авах болно.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Дэлгэцийн дээд хэсэгт байгаа "Хадгалах" товчийг дахин дарж хүснэгтийн нэрийг зааж өгнө үү, жишээ нь Urls. Хяналтын самбар руу буцаж очоод хоёр харагдах байдлыг харцгаая.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх

Хяналтын самбартай ажиллах

Хяналтын самбар үүсгэх үед бид зөвхөн дэлгэцийн объектын тохиргоонд харагдах үндсэн параметрүүдийг тохируулдаг. Объект дахь шүүлтүүрийн өгөгдлийг зааж өгөх нь утгагүй юм, жишээлбэл, "огнооны хүрээ", "хэрэглэгчээр шүүх", "хүсэлтийн улсаар шүүх" гэх мэт. Объектуудын дээр байрлах асуулгын самбарт хүссэн хугацааг зааж өгөх эсвэл шаардлагатай шүүлтүүрийг тохируулах нь илүү тохиромжтой.

Бүртгэлийг хянахын тулд Кибана дахь хяналтын самбар үүсгэх
Энэ самбар дээр нэмсэн шүүлтүүрүүд нь бүхэл бүтэн хяналтын самбарт хэрэглэгдэх бөгөөд бүх дэлгэцийн объектууд бодит шүүсэн өгөгдлийн дагуу дахин бүтээгдэнэ.

дүгнэлт

Кибана бол аливаа өгөгдлийг тохиромжтой байдлаар дүрслэх боломжийг олгодог хүчирхэг хэрэгсэл юм. Би үндсэн хоёр төрлийн дэлгэцийн тохиргоог харуулахыг оролдсон. Гэхдээ бусад төрлүүд нь ижил төстэй байдлаар тохируулагдсан байдаг. Миний "хөшигний ард" үлдээсэн олон тооны тохиргоо нь танд диаграммуудыг өөрийн хэрэгцээнд нийцүүлэн уян хатан байдлаар өөрчлөх боломжийг олгоно.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх