Kolekte mòso bwa ki soti nan Loki

Kolekte mòso bwa ki soti nan Loki

Nan Badoo, nou toujou ap kontwole nouvo teknoloji ak evalye si yo vo itilize nan sistèm nou an. Nou ta renmen pataje youn nan etid sa yo ak kominote a. Li dedye a Loki, yon sistèm agrégation boutèy demi lit.

Loki se yon solisyon pou estoke ak gade mòso bwa, ak pil sa a bay tou yon sistèm fleksib pou analize yo epi voye done bay Prometheus. Nan mwa me, yon lòt aktyalizasyon te lage, ki se aktivman ankouraje pa kreyatè yo. Nou te enterese nan sa Loki ka fè, ki kapasite li bay, ak nan ki nivo li ka aji kòm yon altènativ a ELK, pil ke nou itilize kounye a.

Ki sa ki Loki

Grafana Loki se yon seri eleman pou yon sistèm konplè pou travay ak mòso bwa. Kontrèman ak lòt sistèm ki sanble, Loki baze sou lide pou endèks sèlman metadata boutèy demi lit - etikèt (menm jan ak nan Prometheus), ak konpresyon mòso bwa yo tèt yo nan fragman separe.

Paj Kay, GitHub

Anvan nou antre nan sa ou ka fè ak Loki, mwen vle klarifye sa nou vle di pa "lide a nan endèks sèlman metadata." Ann konpare apwòch Loki ak apwòch pou endèks nan solisyon tradisyonèl tankou Elasticsearch, lè l sèvi avèk egzanp yon liy ki soti nan log nginx la:

172.19.0.4 - - [01/Jun/2020:12:05:03 +0000] "GET /purchase?user_id=75146478&item_id=34234 HTTP/1.1" 500 8102 "-" "Stub_Bot/3.0" "0.001"

Sistèm tradisyonèl yo analize tout ranje a, ki gen ladan jaden ki gen yon gwo kantite inik user_id ak item_id valè, epi estoke tout bagay nan gwo endèks. Avantaj nan apwòch sa a se ke ou ka kouri demann konplèks byen vit, paske prèske tout done yo se nan endèks la. Men, sa a vini nan yon pri nan ke endèks la vin gwo, ki tradwi nan kondisyon memwa. Kòm yon rezilta, endèks plen tèks la se konparab nan gwosè ak mòso bwa yo tèt yo. Yo nan lòd yo byen vit rechèch nan li, endèks la dwe chaje nan memwa. Ak plis mòso bwa, pi vit endèks la ap grandi ak plis memwa li konsome.

Apwòch Loki mande pou sèlman done ki nesesè yo dwe ekstrè soti nan yon fisèl, ki kantite valè yo piti. Nan fason sa a nou jwenn yon ti endèks epi nou ka chèche done yo lè nou filtre yo pa tan ak pa jaden endèks yo, ak Lè sa a, analize rès la ak ekspresyon regilye oswa rechèch substring. Pwosesis la pa sanble pi rapid la, men Loki divize demann lan an plizyè pati epi egzekite yo an paralèl, trete yon gwo kantite done nan yon ti tan. Nimewo a nan shards ak demann paralèl nan yo se configurable; konsa, kantite done ki ka trete pou chak inite tan depann lineyèman sou kantite resous yo bay.

Komès sa a ant yon gwo endèks rapid ak yon ti endèks paralèl fòs brital pèmèt Loki kontwole pri sistèm lan. Li ka fleksib konfigirasyon ak elaji selon bezwen yo.

Pile Loki a konsiste de twa eleman: Promtail, Loki, Grafana. Promtail kolekte mòso bwa, trete yo epi voye yo bay Loki. Loki kenbe yo. Epi Grafana ka mande done nan men Loki epi montre li. An jeneral, Loki ka itilize pa sèlman pou estoke mòso bwa ak rechèch nan yo. Pile a tout antye bay gwo opòtinite pou trete ak analize done fèk ap rantre lè l sèvi avèk fason Prometheus la.
Ou ka jwenn yon deskripsyon pwosesis enstalasyon an isit la.

Log Search

Ou ka chèche mòso bwa yo nan yon koòdone espesyal Grafana - Explorer. Rekèt yo sèvi ak lang LogQL, ki sanble anpil ak PromQL yo itilize nan Prometheus. Nan prensip, li ka konsidere kòm yon grep distribiye.

Koòdone rechèch la sanble sa a:

Kolekte mòso bwa ki soti nan Loki

Demann nan tèt li konsiste de de pati: seleksyon ak filtre. Selektè a se yon rechèch ki sèvi ak metadone endis (etikèt) ke yo asiyen nan mòso bwa, ak filtè se yon chèn rechèch oswa regexp ki filtre dosye yo defini pa seleksyon an. Nan egzanp yo bay la: Nan aparèy òtopedik boukle gen yon seleksyon, tout bagay apre se yon filtè.

{image_name="nginx.promtail.test"} |= "index"

Akòz fason Loki travay, ou pa ka fè demann san yon seleksyon, men etikèt yo ka fè kòm jeneral jan ou vle.

Yon seleksyon se yon valè kle-valè nan atèl boukle. Ou ka konbine seleksyon yo epi presize kondisyon rechèch diferan lè l sèvi avèk operatè yo =, != oswa ekspresyon regilye:

{instance=~"kafka-[23]",name!="kafka-dev"} 
// Найдёт логи с лейблом instance, имеющие значение kafka-2, kafka-3, и исключит dev 

Yon filtè se tèks oswa regexp ki pral filtre tout done seleksyon an resevwa.

Li posib pou jwenn graf ad-hoc ki baze sou done yo resevwa nan mòd metrik. Pou egzanp, ou ka chèche konnen konbyen fwa yon antre ki gen endèks fisèl parèt nan mòso nginx yo:

Kolekte mòso bwa ki soti nan Loki

Ou ka jwenn yon deskripsyon konplè sou kapasite yo nan dokiman an LogQL.

Log analiz

Gen plizyè fason pou kolekte mòso bwa:

  • Sèvi ak Promtail, yon eleman estanda nan pil la pou kolekte mòso bwa.
  • Dirèkteman soti nan veso a Docker lè l sèvi avèk Loki Docker Logging Driver.
  • Sèvi ak Fluentd oswa Fluent Bit, ki ka voye done bay Loki. Kontrèman ak Promtail, yo gen parsè pare pou prèske nenpòt kalite boutèy demi lit epi yo ka tou okipe mòso bwa multiligne.

Anjeneral Promtail yo itilize pou analiz. Li fè twa bagay:

  • Jwenn sous done yo.
  • Tache etikèt sou yo.
  • Voye done bay Loki.

Kounye a Promtail ka li mòso bwa nan dosye lokal yo ak nan jounal systemd. Li dwe enstale sou chak machin kote yo kolekte mòso bwa.

Gen entegrasyon ak Kubernetes: Promtail otomatikman, atravè API REST Kubernetes, rekonèt eta a nan gwoup la epi kolekte mòso bwa ki soti nan yon ne, sèvis oswa gous, imedyatman afiche etikèt ki baze sou metadata ki soti nan Kubernetes (non gous, non dosye, elatriye) .

Ou kapab tou pann etikèt ki baze sou done ki soti nan boutèy la lè l sèvi avèk Pipeline. Pipeline Promtail ka konpoze de kat kalite etap. Plis detay nan dokiman ofisyèl yo, Mwen pral imedyatman note kèk nuans.

  1. Etap analiz. Sa a se etap RegEx ak JSON. Nan etap sa a, nou ekstrè done ki soti nan mòso bwa yo nan sa yo rele kat jeyografik la ekstrè. Nou ka ekstrè soti nan JSON pa senpleman kopye jaden yo nou bezwen nan kat la ekstrè, oswa atravè ekspresyon regilye (RegEx), kote gwoup yo te rele yo "map" nan kat la ekstrè. Kat la Ekstrè se yon magazen kle-valè, kote kle se non an nan jaden an, ak valè se valè li nan mòso bwa yo.
  2. Transfòme etap yo. Etap sa a gen de opsyon: transfòme, kote nou mete règ transfòmasyon yo, ak sous - sous done pou transfòmasyon soti nan kat jeyografik la ekstrè. Si pa gen okenn jaden sa yo nan kat jeyografik la ekstrè, li pral kreye. Nan fason sa a li posib yo kreye etikèt ki pa baze sou kat jeyografik la ekstrè. Nan etap sa a nou ka manipile done yo nan kat jeyografik la ekstrè lè l sèvi avèk yon jistis pwisan Modèl Golang. Anplis de sa, nou dwe sonje ke kat la ekstrè chaje antyèman pandan analiz, sa ki fè li posib, pou egzanp, tcheke valè a nan li: "{{si .tag}valè tag egziste{end}}". Modèl sipòte kondisyon, bouk, ak kèk fonksyon fisèl tankou Ranplase ak Taye.
  3. Etap aksyon. Nan pwen sa a ou ka fè yon bagay ak kontni an ekstrè:
    • Kreye yon etikèt ki soti nan done yo ekstrè, ki pral endis pa Loki.
    • Chanje oswa mete tan evènman an soti nan boutèy la.
    • Chanje done yo (tèks log) ki pral ale nan Loki.
    • Kreye metrik.
  4. Etap filtraj yo. Etap match la, kote nou ka swa voye antre ke nou pa bezwen /dev/null oswa voye yo pou plis pwosesis.

Sèvi ak yon egzanp pou trete mòso nginx regilye, mwen pral montre kijan ou ka analize mòso bwa lè l sèvi avèk Promtail.

Pou tès la, ann pran kòm nginx-proxy yon imaj nginx modifye jwilder/nginx-proxy:alpine ak yon ti demon ki ka mande tèt li atravè HTTP. Demon an gen plizyè pwen final, kote li ka bay repons diferan gwosè, ak diferan estati HTTP ak diferan reta.

Nou pral kolekte mòso bwa nan resipyan docker, ki ka jwenn sou chemen /var/lib/docker/containers/. / -json.log

Nan docker-compose.yml nou konfigirasyon Promtail epi presize chemen an nan konfigirasyon an:

promtail:
  image: grafana/promtail:1.4.1
 // ...
 volumes:
   - /var/lib/docker/containers:/var/lib/docker/containers:ro
   - promtail-data:/var/lib/promtail/positions
   - ${PWD}/promtail/docker.yml:/etc/promtail/promtail.yml
 command:
   - '-config.file=/etc/promtail/promtail.yml'
 // ...

Ajoute chemen an nan mòso bwa yo nan promtail.yml (gen yon opsyon "docker" nan konfigirasyon an, ki fè menm bagay la nan yon sèl liy, men li pa ta dwe tèlman klè):

scrape_configs:
 - job_name: containers

   static_configs:
       labels:
         job: containerlogs
         __path__: /var/lib/docker/containers/*/*log  # for linux only

Lè konfigirasyon sa a aktive, mòso bwa ki soti nan tout resipyan yo pral voye bay Loki. Pou evite sa a, nou chanje paramèt nginx tès la nan docker-compose.yml - ajoute yon jaden tag enregistrement:

proxy:
 image: nginx.test.v3
//…
 logging:
   driver: "json-file"
   options:
     tag: "{{.ImageName}}|{{.Name}}"

Edite promtail.yml ak mete kanpe Pipeline. Antre a gen ladan mòso bwa kalite sa a:

{"log":"u001b[0;33;1mnginx.1    | u001b[0mnginx.test 172.28.0.3 - - [13/Jun/2020:23:25:50 +0000] "GET /api/index HTTP/1.1" 200 0 "-" "Stub_Bot/0.1" "0.096"n","stream":"stdout","attrs":{"tag":"nginx.promtail.test|proxy.prober"},"time":"2020-06-13T23:25:50.66740443Z"}
{"log":"u001b[0;33;1mnginx.1    | u001b[0mnginx.test 172.28.0.3 - - [13/Jun/2020:23:25:50 +0000] "GET /200 HTTP/1.1" 200 0 "-" "Stub_Bot/0.1" "0.000"n","stream":"stdout","attrs":{"tag":"nginx.promtail.test|proxy.prober"},"time":"2020-06-13T23:25:50.702925272Z"}

Etap tiyo:

 - json:
     expressions:
       stream: stream
       attrs: attrs
       tag: attrs.tag

Nou ekstrè jaden yo kouran, attrs, attrs.tag (si yo egziste) soti nan JSON fèk ap rantre epi mete yo nan kat jeyografik la ekstrè.

 - regex:
     expression: ^(?P<image_name>([^|]+))|(?P<container_name>([^|]+))$
     source: "tag"

Si nou te jere yo mete jaden an tag nan kat jeyografik la ekstrè, Lè sa a, lè l sèvi avèk regexp nou ekstrè non yo nan imaj la ak veso.

 - labels:
     image_name:
     container_name:

Nou bay etikèt. Si kle image_name ak container_name yo jwenn nan done yo ekstrè, Lè sa a, valè yo pral asiyen nan etikèt ki koresponn yo.

 - match:
     selector: '{job="docker",container_name="",image_name=""}'
     action: drop

Nou jete tout mòso bwa ki pa gen etikèt ki enstale non_image ak non_conteneur.

  - match:
     selector: '{image_name="nginx.promtail.test"}'
     stages:
       - json:
           expressions:
             row: log

Pou tout mòso bwa ki gen image_name nginx.promtail.test, ekstrè jaden boutèy la nan mòso bwa sous la epi mete l nan kat jeyografik la ekstrè ak kle ranje a.

  - regex:
         # suppress forego colors
         expression: .+nginx.+|.+[0m(?P<virtual_host>[a-z_.-]+) +(?P<nginxlog>.+)
         source: logrow

Nou klè liy opinyon an ak ekspresyon regilye epi rale lame vityèl nginx la ak liy log nginx la.

     - regex:
         source: nginxlog
         expression: ^(?P<ip>[w.]+) - (?P<user>[^ ]*) [(?P<timestamp>[^ ]+).*] "(?P<method>[^ ]*) (?P<request_url>[^ ]*) (?P<request_http_protocol>[^ ]*)" (?P<status>[d]+) (?P<bytes_out>[d]+) "(?P<http_referer>[^"]*)" "(?P<user_agent>[^"]*)"( "(?P<response_time>[d.]+)")?

Analize log nginx lè l sèvi avèk ekspresyon regilye.

    - regex:
           source: request_url
           expression: ^.+.(?P<static_type>jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|html|htm)$
     - regex:
           source: request_url
           expression: ^/photo/(?P<photo>[^/?.]+).*$
       - regex:
           source: request_url
           expression: ^/api/(?P<api_request>[^/?.]+).*$

Ann analize request_url. Sèvi ak regexp nou detèmine objektif demann lan: nan done estatik, nan foto, nan API epi mete kle ki koresponn lan nan kat jeyografik la ekstrè.

       - template:
           source: request_type
           template: "{{if .photo}}photo{{else if .static_type}}static{{else if .api_request}}api{{else}}other{{end}}"

Sèvi ak operatè kondisyonèl nan Modèl, nou tcheke jaden yo enstale nan kat jeyografik la ekstrè epi mete valè yo mande pou jaden demann_type: foto, estatik, API. Bay lòt si li echwe. request_type kounye a gen kalite demann lan.

       - labels:
           api_request:
           virtual_host:
           request_type:
           status:

Nou mete etikèt yo api_request, virtual_host, request_type ak estati (estati HTTP) ki baze sou sa nou jere mete nan kat jeyografik la ekstrè.

       - output:
           source: nginx_log_row

Chanje pwodiksyon an. Koulye a, boutèy nginx netwaye soti nan kat jeyografik la ekstrè ale nan Loki.

Kolekte mòso bwa ki soti nan Loki

Apre ou fin kouri konfigirasyon ki anwo a, ou ka wè ke chak antre yo asiyen etikèt ki baze sou done ki soti nan boutèy la.

Youn nan bagay ou dwe kenbe nan tèt ou se ke rekipere etikèt ak yon gwo kantite valè (kardinalite) ka siyifikativman ralanti Loki. Sa vle di, ou pa ta dwe mete, pou egzanp, user_id nan endèks la. Li plis sou sa a nan atik la "Ki jan etikèt nan Loki ka fè rechèch sou boutèy demi lit pi vit ak pi fasil" Men, sa pa vle di ke ou pa ka fè rechèch pa user_id san endèks. Ou bezwen sèvi ak filtè lè w ap chèche ("pran" done yo), epi endèks la aji kòm yon idantifyan kouran.

Visualisation de journaux

Kolekte mòso bwa ki soti nan Loki

Loki ka aji kòm yon sous done pou graf Grafana lè l sèvi avèk LogQL. Karakteristik sa yo sipòte:

  • rate — kantite dosye pa segonn;
  • konte sou tan - kantite dosye nan seri a espesifye.

Genyen tou fonksyon agrégation Sòm, Avg ak lòt moun. Ou ka bati graf byen konplèks, pou egzanp yon graf ki montre kantite erè HTTP:

Kolekte mòso bwa ki soti nan Loki

Sous done estanda Loki a yon ti jan redwi nan fonksyonalite konpare ak sous done Prometheus (pa egzanp, ou pa ka chanje lejand la), men Loki ka konekte kòm yon sous ak kalite Prometheus la. Mwen pa sèten si sa a se konpòtman dokimante, men jije pa repons devlopè yo "Ki jan yo konfigirasyon Loki kòm sous done Prometheus? · Nimewo #1222 · grafana/loki”, pou egzanp, se konplètman legal, ak Loki se konplètman konpatib ak PromQL.

Ajoute Loki kòm yon sous done ak kalite Prometheus epi ajoute URL /loki:

Kolekte mòso bwa ki soti nan Loki

Epi nou ka fè graf, tankou si nou t ap travay ak mezi ki soti nan Prometheus:

Kolekte mòso bwa ki soti nan Loki

Mwen panse ke diferans nan fonksyonalite se tanporè ak devlopè yo pral korije sa a nan lavni.

Kolekte mòso bwa ki soti nan Loki

Metrik

Loki bay kapasite pou ekstrè mezi nimerik nan mòso bwa epi voye yo bay Prometheus. Pou egzanp, nginx boutèy la gen kantite bytes pou chak repons, osi byen ke, ak yon modifikasyon sèten nan fòma boutèy la estanda, tan an nan segonn ke li te pran pou reponn. Done sa yo ka ekstrè epi voye bay Prometheus.

Ajoute yon lòt seksyon nan promtail.yml:

- match:
   selector: '{request_type="api"}'
   stages:
     - metrics:
         http_nginx_response_time:
           type: Histogram
           description: "response time ms"
           source: response_time
           config:
             buckets: [0.010,0.050,0.100,0.200,0.500,1.0]
- match:
   selector: '{request_type=~"static|photo"}'
   stages:
     - metrics:
         http_nginx_response_bytes_sum:
           type: Counter
           description: "response bytes sum"
           source: bytes_out
           config:
             action: add
         http_nginx_response_bytes_count:
           type: Counter
           description: "response bytes count"
           source: bytes_out
           config:
             action: inc

Opsyon an pèmèt ou defini ak mete ajou mezi ki baze sou done ki soti nan kat jeyografik la ekstrè. Paramèt sa yo pa voye bay Loki - yo parèt nan pwen final Promtail/metrics. Prometheus dwe configuré pou resevwa done yo resevwa nan etap sa a. Nan egzanp ki anwo a, pou request_type = "api" nou kolekte yon metrik istogram. Avèk sa a kalite metrik li bon pou jwenn percentiles. Pou estatik ak foto, nou kolekte sòm bytes ak kantite ranje kote nou te resevwa bytes pou kalkile mwayèn.

Li plis sou mezi isit la.

Louvri pò a sou Promtail:

promtail:
     image: grafana/promtail:1.4.1
     container_name: monitoring.promtail
     expose:
       - 9080
     ports:
       - "9080:9080"

Asire w ke paramèt ak prefiks promtail_custom parèt:

Kolekte mòso bwa ki soti nan Loki

Mete kanpe Prometheus. Ajoute pwomtail travay:

- job_name: 'promtail'
 scrape_interval: 10s
 static_configs:
   - targets: ['promtail:9080']

Epi nou trase yon graf:

Kolekte mòso bwa ki soti nan Loki

Nan fason sa a ou ka jwenn, pou egzanp, kat demann ki pi dousman yo. Ou kapab tou mete siveyans pou mezi sa yo.

Eskalad

Loki ka swa nan yon sèl mòd binè oswa nan mòd sharded (mòd orizontal-évolutive). Nan dezyèm ka a, li ka sove done nan nwaj la, epi moso yo ak endèks yo estoke separeman. Vèsyon 1.5 prezante kapasite nan magazen nan yon sèl kote, men li poko rekòmande yo sèvi ak li nan pwodiksyon an.

Kolekte mòso bwa ki soti nan Loki

Ti moso yo ka estoke nan depo S3-konpatib, epi yo ka itilize baz done orizontal pou sere endèks: Cassandra, BigTable oswa DynamoDB. Lòt pati nan Loki - Distribitè (pou ekri) ak Querier (pou demann) - yo apatrid epi tou echèl orizontal.

Nan konferans DevOpsDays Vancouver 2019, youn nan patisipan yo Callum Styan te anonse ke ak Loki pwojè li a gen petabyte nan mòso bwa ak yon endèks ki mwens pase 1% nan gwosè total la: "Kijan Loki Korele Metrik ak mòso bwa - epi sove ou lajan".

Konparezon Loki ak ELK

Gwosè endèks

Pou teste gwosè endèks la ki kapab lakòz, mwen te pran mòso bwa ki soti nan veso nginx pou ki Pipeline ki pi wo a te configuré. Fichye jounal la te genyen 406 liy ak yon volim total de 624 MB. Jounal yo te pwodwi nan yon èdtan, apeprè 109 antre pou chak segonn.

Egzanp de liy ki soti nan boutèy demi lit la:

Kolekte mòso bwa ki soti nan Loki

Lè ELK endis, sa a te bay yon gwosè endèks 30,3 MB:

Kolekte mòso bwa ki soti nan Loki

Nan ka a nan Loki, sa a te lakòz apeprè 128 KB nan endèks ak apeprè 3,8 MB nan done an fragman. Li se vo anyen ke boutèy la te pwodwi atifisyèlman epi li pa t 'gen yon gwo varyete done. Yon senp gzip sou jounal Docker JSON orijinal la ak done te bay yon konpresyon nan 95,4%, epi pran an kont lefèt ke se sèlman boutèy la netwaye nginx te voye bay Loki tèt li, konpresyon ki rive jiska 4 MB se konprann. Kantite total valè inik pou etikèt Loki te 35, sa ki eksplike ti gwosè endèks la. Pou ELK, boutèy la te netwaye tou. Kidonk, Loki konprese done orijinal yo pa 96%, ak ELK pa 70%.

Konsomasyon memwa

Kolekte mòso bwa ki soti nan Loki

Si nou konpare tout pil Prometheus ak ELK, Lè sa a, Loki "manje" plizyè fwa mwens. Li klè ke yon sèvis Go konsome mwens pase yon sèvis Java, epi konpare gwosè JVM Heap Elasticsearch la ak memwa atribye ba a pou Loki pa kòrèk, men kanmenm li vo sonje ke Loki itilize anpil mwens memwa. Avantaj CPU li yo pa tèlman evidan, men li prezan tou.

Speed

Loki "devore" mòso bwa pi vit. Vitès la depann de anpil faktè - ki kalite mòso bwa yo, ki jan sofistike nou ye nan analiz yo, rezo, disk, elatriye - men li se definitivman pi wo pase ELK (nan tès mwen an - apeprè de fwa plis). Sa a se eksplike pa lefèt ke Loki mete anpil mwens done nan endèks la epi, kòmsadwa, depanse mwens tan sou Indexing. Avèk vitès rechèch la, sitiyasyon an se opoze a: Loki ralanti sou done ki pi gwo pase plizyè jigokte, pandan y ap vitès rechèch ELK a pa depann de gwosè done yo.

Log Search

Loki se siyifikativman enferyè a ELK an tèm de kapasite rechèch boutèy demi lit. Grep ak ekspresyon regilye yo pwisan, men li enferyè a yon baz done ki gen matirite. Mank de requêtes ranje, agrégation sèlman pa étiquettes, enkapasite pou fè rechèch san étiquettes - tout sa limite nou nan chache enfòmasyon ki enterese nan Loki. Sa pa vle di ke pa ka jwenn anyen lè l sèvi avèk Loki, men li defini koule nan travay ak mòso bwa lè ou premye jwenn yon pwoblèm nan tablo yo Prometheus, ak Lè sa a, sèvi ak etikèt sa yo pou chèche sa ki te pase nan mòso bwa yo.

koòdone

Premye a tout, li bèl (rekize, pa t 'kapab reziste). Grafana gen yon koòdone bèl kap, men Kibana se pi plis rich karakteristik.

Avantaj ak dezavantaj nan Loki

Youn nan avantaj yo se ke Loki entegre ak Prometheus, kidonk nou jwenn mezi ak alèt soti nan bwat la. Li bon pou kolekte mòso bwa ak estoke yo nan Kubernetes Pods, paske li gen dekouvèt sèvis eritye nan men Prometheus epi otomatikman tache etikèt.

Dezavantaj la se dokiman ki fèb. Gen kèk bagay, pou egzanp, karakteristik yo ak kapasite nan Promtail, mwen dekouvri sèlman nan pwosesis la nan etidye kòd la, erezman li se louvri-sous. Yon lòt dezavantaj se kapasite analiz fèb. Pou egzanp, Loki pa ka analize mòso bwa miltiliy. Yon lòt dezavantaj se ke Loki se yon teknoloji relativman jèn (lage 1.0 te nan Novanm 2019).

Konklizyon

Loki se yon teknoloji 100% enteresan ki apwopriye pou pwojè ti ak mwayen gwosè, ki pèmèt ou rezoud anpil pwoblèm nan agrégation boutèy demi lit, rechèch boutèy demi lit, siveyans ak analiz boutèy demi lit.

Nou pa sèvi ak Loki nan Badoo paske nou gen yon pil ELK ki kostim nou epi ki te anvayi ak divès kalite solisyon koutim pandan ane yo. Pou nou, katye a ap chèche nan mòso bwa. Avèk prèske 100 GB mòso bwa pa jou, li enpòtan pou nou kapab jwenn tout bagay ak yon ti kras plis epi fè li byen vit. Pou fè tablo ak siveyans, nou itilize lòt solisyon ki adapte a bezwen nou yo epi ki entegre youn ak lòt. Pile Loki a gen benefis byen mèb, men li pa pral ba nou plis pase sa nou deja genyen, ak benefis li yo sètènman pa pral depase pri migrasyon an.

Ak byenke apre rechèch li te vin klè ke nou pa ka itilize Loki, nou espere ke pòs sa a pral ede w nan chwa ou.

Repotwa a ak kòd yo itilize nan atik la sitiye isit la.

Sous: www.habr.com

Add nouvo kòmantè