Te kohi rakau mai i a Loki

Te kohi rakau mai i a Loki

I Badoo, ka aro turuki tonu matou i nga hangarau hou me te arotake mena he pai te whakamahi i roto i ta maatau punaha. E hiahia ana matou ki te whakapuaki i tetahi o enei rangahau ki te hapori. Kua whakatapua ki a Loki, he punaha whakahiato rakau.

He otinga a Loki mo te penapena me te tiro i nga raarangi, a ko tenei puranga he punaha ngawari mo te tātari me te tuku raraunga ki a Prometheus. I te marama o Haratua, i tukuna ano he whakahou, e kaha whakatairangatia ana e nga kaihanga. I pirangi matou ki nga mahi ka taea e Loki, he aha nga kaha ka tukuna e ia, me te whānuitanga ka taea e ia te mahi hei rereke ki te ELK, te puranga e whakamahia ana e matou inaianei.

He aha a Loki

Ko te Grafana Loki he huinga waahanga mo te punaha katoa mo te mahi me nga rakau. Kaore i rite ki etahi atu punaha rite, ko Loki i ahu mai i runga i te whakaaro ki te whakariterite i nga metadata rangitaki - tapanga (he rite ki a Prometheus), me te kopiri i nga rakau ki roto i nga waahanga motuhake.

Whārangi kāinga, GitHub

I mua i to urunga ki nga mea ka taea e koe ki a Loki, e hiahia ana ahau ki te whakamarama he aha ta matou e kii nei "te whakaaro o te tohu tohu metadata anake." Me whakatairite tatou i te huarahi Loki me te huarahi ki te whakariterite i nga rongoa tuku iho penei i a Elasticsearch, ma te whakamahi i te tauira o te raina mai i te raarangi nginx:

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"

Ka tohatohahia e nga punaha tuku iho te rarangi katoa, tae atu ki nga mara me te maha o nga uara kaiwhakamahi_id me nga mea_id, me te penapena i nga mea katoa ki roto i nga taupū nui. Ko te painga o tenei huarahi ka taea e koe te whakahaere tere i nga patai uaua, na te mea kua tata katoa nga raraunga kei roto i te taurangi. Engari he utu tenei na te mea ka nui te taurangi, ka huri ki nga whakaritenga mahara. Ko te mutunga mai, he rite te rahi o te taurangi rangitaki kupu-katoa ki nga raarangi. Kia tere te rapu i roto, me uta te taurangi ki te mahara. A, ka nui ake nga rakau, ka tere ake te tipu o te taurangi me te nui ake o te mahara ka pau.

Ko te huarahi Loki ko nga raraunga e tika ana kia tangohia mai i te aho, he iti te maha o nga uara. Ma tenei ka whiwhi tatou i tetahi taurangi iti ka taea te rapu i nga raraunga ma te tarai i te waa me nga mara kua tohua, katahi ka karapa i te toenga me nga korero auau me te rapu iti. Ko te ahua nei ehara i te mea tere, engari ka wehewehea e Loki te tono kia maha nga waahanga ka mahia kia riterite, ka tukatuka i te nui o nga raraunga i roto i te wa poto. Ko te maha o nga maramara me nga tono whakarara kei roto ka taea te whirihora; no reira, ko te nui o nga raraunga ka taea te tukatuka mo ia waeine wa ka whakawhirinaki ki te nui o nga rauemi e whakaratohia ana.

Ko tenei tauhokohoko i waenga i te taurangi nui, tere me te iti, whakarara whakarara taurangi kaha ka taea e Loki te whakahaere i te utu o te punaha. Ka taea te whirihora ngawari me te whakawhānui i runga i nga hiahia.

Ko te puranga Loki e toru nga waahanga: Promtail, Loki, Grafana. Ka kohia e Promtail nga rakau, ka tukatuka, ka tukuna ki a Loki. Ka mau a Loki. A ka taea e Grafana te tono raraunga mai i a Loki me te whakaatu. I te nuinga o te waa, ka taea te whakamahi a Loki ehara i te mea mo te penapena rakau me te rapu i a raatau. Ka whakaratohia e te puranga katoa nga huarahi pai mo te tukatuka me te tarai i nga raraunga taumai ma te whakamahi i te huarahi Prometheus.
Ka kitea he whakaahuatanga mo te tukanga whakauru konei.

Rapua ma nga rakau

Ka taea e koe te rapu i nga raarangi ki tetahi atanga Grafana motuhake - Explorer. Ka whakamahi nga patai i te reo LogQL, he tino rite ki te PromQL i whakamahia i Prometheus. Ko te tikanga, ka taea te whakaaro he grep kua tohatohahia.

He penei te ahua o te atanga rapu:

Te kohi rakau mai i a Loki

Ko te tono ano e rua nga waahanga: te kaiwhiriwhiri me te tātari. Ko te Kaiwhiri he rapunga ma te whakamahi i nga metadata kua taurangitia (tapanga) kua tohua ki nga raarangi, a ko te tātari he aho rapu, he regexp ranei e tarai ana i nga rekoata kua tautuhia e te kaiwhiriwhiri. I roto i te tauira i homai: I roto i nga taiapa mingimingi he kaikowhiri, ko nga mea katoa i muri mai he tātari.

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

Na te ahua o te mahi a Loki, kare e taea e koe te hanga patai me te kore he kaiwhiriwhiri, engari ka taea te hanga tapanga kia rite ki taau e pai ai.

Ko te kaikowhiri he uara uara matua i roto i nga taiapa mingimingi. Ka taea e koe te whakakotahi i nga kaiwhiriwhiri me te tautuhi i nga tikanga rapu rereke ma te whakamahi i nga kaiwhakahaere =, !=, ki nga korero auau ranei:

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

Ko te tātari he kuputuhi, he regexp ranei hei tātari i nga raraunga katoa ka riro mai i te kaiwhiriwhiri.

Ka taea te whiwhi kauwhata ad-hoc i runga i nga raraunga kua riro mai i te aratau inenga. Hei tauira, ka kitea e koe te maha o nga wa ka puta mai te urunga kei roto te taurangi aho i roto i nga raarangi nginx:

Te kohi rakau mai i a Loki

Ka kitea te katoa o nga korero mo nga kaha i roto i nga tuhinga RangitakiQL.

Poroporo rangitaki

He maha nga huarahi hei kohi i nga raarangi:

  • Ma te whakamahi i te Promtail, he waahanga paerewa o te puranga mo te kohi rakau.
  • Tika mai i te ipu docker e whakamahi ana Loki Docker Takitaki Atekōkiri.
  • Whakamahia te Fluentd, Fluent Bit ranei, ka taea te tuku raraunga ki a Loki. Kaore i rite ki a Promtail, he kaiporoporo kua rerihia mo te tata ki nga momo momo poro, ka taea hoki te hapai i nga raarangi raina maha.

I te nuinga o te wa ka whakamahia te Promtail mo te poroporoaki. E toru nga mahi:

  • Ka kimi puna raraunga.
  • Ka whakapiri i nga tapanga ki a raatau.
  • Ka tuku raraunga ki a Loki.

I tenei wa ka taea e Promtail te panui i nga raarangi mai i nga konae aa-rohe me te hautaka systemd. Me whakauru ki runga i ia miihini ka kohia nga rakau.

He whakaurunga ki a Kubernetes: Promtail aunoa, na roto i te Kubernetes REST API, ka mohio ki te ahua o te kahui me te kohi i nga raarangi mai i te node, ratonga, pod ranei, ka tuku tapanga i runga i nga metadata mai i Kubernetes (ingoa pod, ingoa kōnae, me etahi atu) .

Ka taea hoki te whakairi tapanga i runga i nga raraunga mai i te raarangi ma te whakamahi i te Pipeline. Ko te Pipeline Promtail e wha nga momo waahanga. Ētahi atu kōrero i roto i tuhinga whaimana, Ka kite tonu ahau i etahi ahuatanga.

  1. Nga wahanga parsing. Koinei te wahanga RegEx me JSON. I tenei wa, ka tangohia e matou nga raraunga mai i nga raarangi ki roto i te mapi kua tangohia. Ka taea e matou te tango mai i a JSON ma te kape noa i nga mara e hiahiatia ana e matou ki te mapi kua tangohia, ma roto ranei i nga korero auau (RegEx), kei reira nga roopu ingoa ka "mahere" ki te mapi kua tangohia. Ko te Mapi Tangohia he toa uara-matua, ko te matua te ingoa o te mara, ko te uara ko tona uara mai i nga raarangi.
  2. Hurihia nga waahanga. E rua nga waahanga o tenei waahanga: te huri, te waahi ka whakatauhia e matou nga ture huringa, me te puna - te puna raraunga mo te huringa mai i te mapi kua tangohia. Mena karekau he mara penei i te mapi kua tangohia, ka hangaia. Ma tenei ka taea te hanga tapanga kaore i runga i te mapi kua tangohia. I tenei wahanga ka taea e tatou te raweke i nga raraunga i roto i te mapi kua tangohia ma te whakamahi i te tino kaha Tātauira Golang. I tua atu, me mahara tatou kei te utaina katoatia te mapi i tangohia i te wa e poroporoaki ana, na reira ka taea, hei tauira, ki te tirotiro i te uara o roto: “{{if .tag}tag value exists{end}}”. Ka tautokohia e te tauira nga tikanga, nga koropiko, me etahi mahi aho penei i te Whakakapi me te Kuti.
  3. Nga waahanga mahi. I tenei wa ka taea e koe te mahi i tetahi mea me nga ihirangi kua tangohia:
    • Waihangahia he tapanga mai i nga raraunga kua tangohia, ka tohua e Loki.
    • Hurihia, tautuhia ranei te wa takahanga mai i te rangitaki.
    • Hurihia nga raraunga (takiuru kuputuhi) ka haere ki Loki.
    • Waihanga inenga.
  4. Nga waahanga tātari. Ko te waahi whakataetae, ka taea e taatau te tuku urunga kaore e hiahiatia kia /dev/null, tuku atu ranei mo etahi atu mahi.

Ma te whakamahi i tetahi tauira o te tukatuka i nga raarangi nginx auau, ka whakaatu ahau me pehea e taea ai e koe te tarai i nga raarangi ma te whakamahi i te Promtail.

Mo te whakamatautau, me tango hei nginx-proxy he ahua nginx kua whakarereketia jwilder/nginx-proxy:alpine me tetahi daemon iti ka taea te patai ma te HTTP. He maha nga waahi mutunga o te daemon, ka taea e ia te tuku whakautu o nga rahi rereke, me nga ahuatanga HTTP rereke me nga whakaroa rereke.

Ka kohia e matou he rakau mai i nga ipu docker, ka kitea i te huarahi /var/lib/docker/containers//-json.log

I roto i te docker-compose.yml ka whirihorahia e matou te Promtail ka tohua te ara ki te whirihora:

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'
 // ...

Tāpirihia te ara ki ngā rākau ki te promtail.yml (he kōwhiringa "docker" kei roto i te whirihora, he rite tonu te mahi ki te raina kotahi, engari kare e tino marama):

scrape_configs:
 - job_name: containers

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

Ina whakahohea tenei whirihoranga, ka tukuna nga raarangi mai i nga ipu katoa ki a Loki. Hei karo i tenei, ka hurihia e matou nga tautuhinga o te nginx whakamatautau i roto i te docker-compose.yml - taapirihia he mara tohu takiuru:

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

Te whakatika i te promtail.yml me te whakarite i te Pipeline. Kei roto i te whakaurunga nga raarangi o te momo e whai ake nei:

{"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"}

Te waahi paipa:

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

Ka tangohia e matou te awa mara, attrs, attrs.tag (mehemea kei te noho) mai i te JSON e haere mai ana ka maka ki te mapi kua tangohia.

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

Mena ka taea e matou te whakauru i te mara tohu ki te mapi kua tangohia, ka whakamahi i te regexp ka tangohia e matou nga ingoa o te ahua me te ipu.

 - labels:
     image_name:
     container_name:

Ka tohua e matou nga tapanga. Mena ka kitea nga taviri image_name me container_name i roto i nga raraunga kua tangohia, ka tohua o raatau uara ki nga tapanga e pa ana.

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

Ka whakakorehia e matou nga raarangi katoa kaore he tapanga ingoa_whakaahua me te ingoa_puinga.

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

Mo nga rangitaki katoa ko tona image_name ko nginx.promtail.test, tangohia te mara rangitaki mai i te raupapa puna ka hoatu ki roto i te mapi kua tangohia me te matua rarangi.

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

Ka whakakorehia e matou te raina whakauru me nga korero auau ka toia te ope mariko nginx me te raina raarangi nginx.

     - 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.]+)")?

Porohia te rangitaki nginx ma te whakamahi i nga korero auau.

    - 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>[^/?.]+).*$

Me poroporoaki request_url. Ma te whakamahi i te regexp ka whakatauhia e matou te kaupapa o te tono: ki nga raraunga pateko, ki nga whakaahua, ki te API me te tautuhi i te kii e rite ana ki te mapi kua tangohia.

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

Ma te whakamahi i nga kaiwhakahaere herenga i roto i te Tauira, ka tirohia e matou nga mara kua whakauruhia ki te mapi kua tangohia ka whakatauhia nga uara e hiahiatia ana mo te mara tono_type: whakaahua, pateko, API. Tautapa atu ki te rahua. request_type inaianei kei roto te momo tono.

       - labels:
           api_request:
           virtual_host:
           request_type:
           status:

I tautuhia e matou nga tapanga api_request, virtual_host, request_type me te mana (HTTP status) i runga i nga mea i taea e matou te whakauru ki te mapi kua tangohia.

       - output:
           source: nginx_log_row

Hurihia te putanga. Inaianei ko te raarangi nginx kua horoia mai i te mapi kua tangohia ki Loki.

Te kohi rakau mai i a Loki

I muri i te whakahaerenga o te whirihora i runga ake nei, ka kite koe kua tautapahia ia urunga he tapanga i runga i nga raraunga mai i te raarangi.

Ko tetahi mea hei maumahara ko te tango i nga tapanga me te maha o nga uara (cardinality) ka taea te whakaroa i te Loki. Arā, kaua e waiho, hei tauira, user_id ki te taupū. Pānuihia atu mo tenei i roto i te tuhinga "Me pehea e taea ai e nga tapanga i roto i te Loki te tere me te ngawari o nga uiui rangitaki" Engari ehara tenei i te mea kaore e taea e koe te rapu ma te user_id kaore he tohu. Me whakamahi koe i nga whiriwhiringa i te wa e rapu ana ("hopu" nga raraunga), a ko te taurangi i konei ka mahi hei tautohu roma.

Te whakakitenga o nga raarangi

Te kohi rakau mai i a Loki

Ka taea e Loki te mahi hei puna raraunga mo nga kauwhata Grafana ma te whakamahi i te LogQL. Ka tautokohia nga ahuatanga e whai ake nei:

  • tere — te maha o nga rekoata mo ia hekona;
  • tatau i te wa — te maha o nga rekoata i roto i te awhe kua tohua.

He mahi whakahiato hoki te Sum, Avg me etahi atu. Ka taea e koe te hanga kauwhata tino uaua, hei tauira he kauwhata o te maha o nga hapa HTTP:

Te kohi rakau mai i a Loki

Ko te puna raraunga paerewa Loki he iti ake te mahi ka whakaritea ki te puna raraunga Prometheus (hei tauira, kaore e taea e koe te whakarereke i te korero), engari ka taea te hono a Loki hei puna ki te momo Prometheus. Kaore au i te tino mohio mena kua tuhia tenei whanonga, engari ma te whakatau i nga whakautu a nga kaihanga "Me pehea te whirihora i a Loki hei puna raraunga Prometheus? · Putanga #1222 · grafana/loki”, hei tauira, he tino ture, he tino hototahi a Loki ki te PromQL.

Tāpirihia a Loki hei puna raraunga me te momo Prometheus me te taapiri URL /loki:

Te kohi rakau mai i a Loki

Ka taea e matou te hanga kauwhata, me te mea kei te mahi matou me nga inenga mai i Prometheus:

Te kohi rakau mai i a Loki

Ki taku whakaaro he wa poto te rereketanga o te mahi, a ka whakatikahia e nga kaihanga a muri ake nei.

Te kohi rakau mai i a Loki

Inenga

Ka whakawhiwhia e Loki te kaha ki te tango i nga inenga tau mai i nga raarangi ka tukuna atu ki a Prometheus. Hei tauira, kei roto i te rangitaki nginx te maha o nga paita mo ia whakautu, me etahi whakarereketanga o te whakatakotoranga raupapa paerewa, te wa i roto i nga hēkona i tangohia hei whakautu. Ka taea te tango i enei raraunga ka tukuna ki a Prometheus.

Tāpirihia tetahi atu waahanga ki te 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

Ko te whiringa ka taea e koe te tautuhi me te whakahou i nga inenga i runga i nga raraunga mai i te mapi kua tangohia. Karekau enei inenga i tukuna ki a Loki - ka puta ki te pito mutunga o Promtail /metrics. Me whirihora a Prometheus ki te whiwhi i nga raraunga kua riro mai i tenei waahanga. I te tauira i runga ake nei, mo te request_type=“api” ka kohia e matou he inenga histogram. Ma tenei momo inenga he watea ki te whiwhi i te ōrau. Mo te pateko me te whakaahua, ka kohia e matou te tapeke o nga paita me te maha o nga rarangi i whiwhi matou i nga paita hei tatau i te toharite.

Pānuihia atu mo nga inenga konei.

Whakatuwheratia te tauranga ki Promtail:

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

Me mohio ka puta mai nga inenga me te prefix promtail_custom:

Te kohi rakau mai i a Loki

Te whakatu Prometheus. Tāpirihia te tohu mahi:

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

A ka tuhia he kauwhata:

Te kohi rakau mai i a Loki

Ma tenei ka kitea e koe, hei tauira, nga patai e wha e puhoi ana. Ka taea hoki e koe te whakarite aroturuki mo enei inenga.

Tauine

Ka taea te Loki i roto i te aratau takirua kotahi, i te aratau marumaru ranei (aratau tauine-whakapae). I te tuarua o nga keehi, ka taea e ia te penapena raraunga ki te kapua, ka penapena motuhake nga tiihi me te taurangi. Ko te Putanga 1.5 e whakaatu ana i te kaha ki te penapena i te waahi kotahi, engari kaore ano kia whakamahia ki te whakaputa.

Te kohi rakau mai i a Loki

Ka taea te penapena i nga kongakonga ki roto i te rokiroki S3-hototahi, ka taea te whakamahi i nga papaunga raraunga whakapae whakapae hei penapena tohu: Cassandra, BigTable, DynamoDB ranei. Ko etahi atu waahanga o Loki - Kaituku (mo te tuhi) me te Querier (mo nga patai) - he koretake, he whakatau whakapae hoki.

I te huihuinga DevOpsDays Vancouver 2019, i kii tetahi o nga kaiuru a Callum Styan me Loki tana kaupapa he petabytes o nga raarangi me te tohu tohu iti iho i te 1% o te rahinga katoa: "Me pehea a Loki i te Whakariterite i nga Inenga me nga Rangitaki — Ka Tiaki Moni".

Te whakataurite o Loki me ELK

Rahi taupū

Hei whakamatautau i te rahi o te tohu, ka tango ahau i nga rakau mai i te ipu nginx i whirihorahia ai te Pipeline i runga ake nei. E 406 ngā rārangi kei roto i te kōnae rangitaki me te tapeke o te rōrahi 624 MB. I hangaia he rangitaki i roto i te haora, tata ki te 109 nga whakaurunga mo ia hekona.

He tauira o nga rarangi e rua mai i te rangitaki:

Te kohi rakau mai i a Loki

I te wa i tohuhia e ELK, he 30,3 MB te rahi o te taupū:

Te kohi rakau mai i a Loki

I roto i te take o Loki, i hua tenei i te 128 KB o te taupū me te 3,8 MB o nga raraunga i roto i nga wahanga. He mea tika kia mohio ko te pororakau he mea hanga horihori me te kore he maha nga momo raraunga. Ko te gzip ngawari i runga i te raarangi a Docker JSON taketake me nga raraunga i tukuna he 95,4%, me te whakaaro ko te raarangi nginx kua horoia anake i tukuna ki a Loki ake, ko te taapiri ki te 4 MB ka maarama. Ko te tapeke o nga uara ahurei mo nga tapanga Loki he 35, e whakamarama ana i te iti o te tohu. Mo te ELK i whakawāteatia hoki te rākau. No reira, i kopirihia e Loki nga raraunga taketake e 96%, me te ELK e 70%.

Kohi mahara

Te kohi rakau mai i a Loki

Mena ka whakatauritehia e tatou te katoa o te Prometheus me te ELK, ka "kai" a Loki he maha nga wa iti ake. E marama ana he iti ake te pau o te ratonga Go i te ratonga Java, me te whakatairite i te rahi o te JVM Heap Elasticsearch me te mahara kua tohatohahia mo Loki he he, engari he mea tika kia mohio he iti ake te mahara a Loki. Ko tana painga PTM kaore i te tino kitea, engari kei reira ano.

Tere

Ka tere ake te "kai" a Loki. Ko te tere e whakawhirinaki ana ki te maha o nga mea - he aha te ahua o nga raarangi, he pehea te mohio o ta maatau korero, te whatunga, te kōpae, me etahi atu - engari he tino teitei ake i tera o ELK (i taku whakamatautau - e rua pea nga wa). I whakamaramahia tenei na te mea he iti rawa nga raraunga ka tukuna e Loki ki roto i te taurangi, a, na reira, he iti ake te wa mo te tohu tohu. Ma te tere o te rapu, he rereke te ahuatanga: Ko te Loki ka tino puhoi i runga i nga raraunga nui atu i te maha o nga gigabytes, engari ko te tere rapu a ELK kaore i te whakawhirinaki ki te rahi o nga raraunga.

Rapua ma nga rakau

He iti rawa atu a Loki ki te ELK i runga i nga mahi rapu rangitaki. He kaha te Grep me nga korero auau, engari he iti iho i te papaaarangi pakeke. Ko te kore o nga paatai ​​awhe, ko te whakahiatotanga ma nga tapanga anake, ko te kore e kaha ki te rapu me te kore tapanga - na enei mea katoa ka aukati i a maatau ki te rapu korero e pai ana ki a Loki. Ehara i te mea karekau he mea e kitea ma te whakamahi i a Loki, engari ka tautuhia te rere o te mahi me nga rakau i te wa tuatahi ka kitea e koe he raru i roto i nga mahere Prometheus, katahi ka whakamahi i enei tapanga ki te rapu i nga mea i tupu i roto i nga raarangi.

atanga

Tuatahi, he ataahua (pouri, kaore e taea te tu). He pai te ahua o te atanga o Grafana, engari he nui ake te ahua o Kibana.

Te pai me te kino o Loki

Ko tetahi o nga painga ko te whakauru a Loki ki a Prometheus, na reira ka whiwhi maatau me te matohi mai i te pouaka. He watea mo te kohi rakau me te penapena mai i nga Kubernetes Pods, na te mea he kitenga ratonga i tuku iho mai i Prometheus me te taapiri aunoa i nga tapanga.

Ko te kino ko nga tuhinga ngoikore. Ko etahi mea, hei tauira, nga ahuatanga me nga kaha o Promtail, i kitea e au i te wa e ako ana ahau i te waehere, he waimarie he puna tuwhera. Ko tetahi atu ngoikoretanga ko te ngoikore o te kaha ki te poroporoaki. Hei tauira, kaore e taea e Loki te poroporo i nga raarangi raina maha. Ko tetahi atu ngoikoretanga ko te Loki he hangarau hou (te tuku 1.0 i te Whiringa-a-rangi 2019).

mutunga

Ko Loki he 100% te hangarau whakamere e tika ana mo nga kaupapa iti me te reo-rahi, ka taea e koe te whakaoti i nga raruraru maha o te whakahiato rakau, te rapu rangitaki, te aroturuki me te tirotiro i te rangitaki.

Kaore matou e whakamahi ana i te Loki i Badoo na te mea kei a matou he puranga ELK e pai ana ki a matou, a kua tipuhia ki nga momo otinga ritenga i roto i nga tau. Ki a matou, ko te tutukitanga e rapu ana i roto i nga rakau. Me te tata ki te 100 GB o nga raarangi mo ia ra, he mea nui kia kitea e tatou nga mea katoa me etahi atu iti ake ka mahi tere. Mo te whakatakoto mahere me te aro turuki, ka whakamahia e matou etahi atu otinga e rite ana ki o matou hiahia me te whakakotahi ki a raatau ano. He painga tino kitea te taapu Loki, engari kare e nui ake i a tatou i mua ake nei, a ko ona painga ka kore e nui ake i te utu o te heke.

A ahakoa i muri mai i nga rangahau ka maarama kaore e taea e matou te whakamahi i a Loki, ko te tumanako ka awhina tenei panui ki a koe i to whiringa.

Ko te putunga me te waehere i whakamahia i roto i te tuhinga kei roto konei.

Source: will.com

Tāpiri i te kōrero