Tena koutou e nga kainoho o Khabrovsk! I te ahiahi o te timatanga o te whakaurunga hou mo te akoranga
He kupu whakataki poto tenei mo Loki. Kaupapa Loki
Ko te tino hiringa mo Loki
- te whakamahi tapanga hei penapena raraunga
- te kai iti rawa
Ka hoki ano tatou ki te mahi a Prometheus me te whakaatu i etahi tauira o tana whakamahinga i roto i te horopaki o Kubernetes.
He kupu torutoru mo Prometheus
Kia tino marama ki te mahi a Loki, he mea nui ki te hoki whakamuri me te mahara iti mo Prometheus.
Ko tetahi o nga ahuatanga motuhake o Prometheus ko te tangohanga o nga inenga mai i nga kohinga kohinga (ma nga kaihokohoko) me te penapena i roto i te TSDB (Waahi Raraunga Raraunga Waahi), me te taapiri i nga metadata i te ahua o nga tapanga.
He aha koe e hiahia ai
Ina tata nei, kua noho a Prometheus hei paerewa pono i roto i te ao o nga ipu me nga Kubernetes: he tino ngawari tana whakaurunga, a ka tae mai te kahui Kubernetes me tetahi pito taketake mo Prometheus. Ka taea hoki e Prometheus te tango i nga inenga mai i nga tono ka tukuna ki roto i te ipu i te wa e penapena ana nga tapanga motuhake. Na reira, he tino ngawari ki te whakatinana i te aroturuki tono.
Heoi ano, karekau he otinga mo te whakahaere i te raarangi, a me rapu e koe he otinga mo koe:
- te ratonga kapua whakahaere mo te whakauru i nga raarangi (AWS, Azure, Google ranei)
- ratonga aroturuki "aroturuki hei ratonga" (hei tauira, Datadog)
- te hanga i to ake ratonga kohinga rangitaki.
Mo te whiringa tuatoru, i whakamahia e ahau te Elasticsearch i nga wa katoa, ahakoa te mea kaore au i te harikoa ki a ia (ina koa te taumaha me te uaua o te whirihoranga).
I hoahoatia a Loki ki te whakangwari i te whakatinanatanga i runga i nga tikanga e whai ake nei:
- kia ngawari ki te timata
- pau noa nga rauemi
- mahi takitahi me te kore tiaki motuhake
- hei taapiri ki a Prometheus hei awhina i nga mahi tirotiro iro
Heoi, ka puta mai tenei ngawari i runga i te utu o etahi taupatupatu. Ko tetahi o enei ko te kore e tohu i nga ihirangi. Na reira, kaore i te tino pai, i te whai rawa ranei te rapu tuhinga, kaore hoki e whakaaehia nga tatauranga mo te ihirangi o te tuhinga. Engari i te mea kei te pirangi a Loki kia rite ki te grep me te taapiri ki a Prometheus, ehara tenei i te mea kino.
Whakatewhatewha aitua
Kia pai ake ai te maarama he aha te take kaore a Loki e hiahia ki te whakariterite, me hoki ano tatou ki te tikanga tirotiro i nga maiki i whakamahia e nga kaiwhakawhanake Loki:
1 Matohi → 2 Papatohu → 3 Uiui Adhoc → 4 Te Whakakotahitanga Rangitaki → 5 Te Tiri Tiri → 6 Whakatika!
(1 Whakatupato → 2 Papatohu → 3 Uiui Adhoc → 4 Whakakotahitanga Rangitaki → 5 Tuarihia Aroturuki → 6 Whakatika!)
Ko te whakaaro ka whiwhi tatou i etahi momo matohi (Slack Notification, SMS, etc.) a muri iho:
- titiro ki nga papatohu Grafana
- tirohia nga inenga ratonga (hei tauira, i Prometheus)
- titiro ki nga urunga rangitaki (hei tauira, i Elasticsearch)
- Tena pea tirohia nga tohu kua tohatohahia (Jaeger, Zipkin, etc.)
- ka mutu te whakatika i te raru tuatahi.
I konei, i te keehi o te Grafana + Prometheus + Elasticsearch + Zipkin stack, me whakamahi koe i nga taputapu rereke e wha. Hei whakaiti i te wa, he pai ki te mahi i enei mahi katoa ma te whakamahi i tetahi taputapu: Grafana. He mea tika kia mohio ko tenei huarahi ki te rangahau kua whakatinanahia i Grafana mai i te putanga 6. Na, ka taea te uru atu ki nga raraunga Prometheus mai i Grafana.
I wehea te mata o Explorer i waenga i a Prometheus me Loki
Mai i tenei mata ka taea e koe te tiro i nga raarangi Loki e pa ana ki nga inenga Prometheus ma te whakamahi i te ariā mata wehe. Mai i te putanga 6.5, ka taea e Grafana te tarai i te tohu id i roto i nga urunga rangitaki Loki ki te whai hononga ki o taputapu tirotiro tohatoha tino pai (Jaeger).
Whakamatau Loki rohe
Ko te huarahi ngawari ki te whakamatautau i a Loki a rohe ko te whakamahi docker-compose. Ko te kōnae docker-compose kei roto i te putunga Loki. Ka taea e koe te tiki i te putunga ma te whakamahi i te whakahau e whai ake nei git
:
$ git clone https://github.com/grafana/loki.git
Na me haere koe ki te raarangi whakaputa:
$ cd production
I muri i tenei ka taea e koe te tiki i te putanga hou o nga whakaahua Docker:
$ docker-compose pull
Ka mutu, ka whakarewahia te puranga Loki me te whakahau e whai ake nei:
$ docker-compose up
Loki hoahoanga
Anei tetahi hoahoa iti me te hoahoanga Loki:
Loki Architecture Principles
Ko te kiritaki tukutuku e whakahaere ana i nga tono i runga i te tūmau, ka kohia e Promtail nga rakau ka tukuna ki a Loki, ka tukuna ano e te kiritaki tukutuku nga metadata ki a Loki. Ka whakahiatohia e Loki nga mea katoa ka tukuna ki a Grafana.
Ka whakarewahia a Loki. Hei tiro i nga waahanga e waatea ana, whakahaerehia te whakahau e whai ake nei:
$ docker ps
Mena he Docker hou kua whakauruhia, me whakahoki e te whakahau te hua e whai ake nei:
IMAGE PORTS NAMES
grafana/promtail: production_promtail_1
grafana/grafana: m 0.0.0.0:3000->3000/tcp production_grafana_1
grafana/loki: late 80/tcp,0.0.0.0:3100... production_loki_1
Ka kite tatou i nga waahanga e whai ake nei:
- Promtail: te kaihoko te kawenga mo te whakauru i nga rakau
- Grafana: he taputapu papatohu rongonui
- Loki: Raraunga Centralization Daemon
Hei waahanga o te hanganga matarohia (hei tauira, i runga i nga miihini mariko), me tuku te kaihoko Promtail ki ia miihini. Ka taea te whakauru a Grafana me Loki ki te miihini kotahi.
Te tuku ki Kubernetes
Ko te whakauru i nga waahanga Loki ki runga i nga Kubernetes ka penei:
- daemonSet mo te tuku i te kaihoko Promtail ki ia miihini i roto i te roopu tūmau
- Tukuna Loki
- a ko te mea whakamutunga ko te tohatoha o Grafana.
Waimarie, kei te waatea a Loki hei kete Helm, he ngawari ki te hora.
Tāuta mā te Heml
Me whakauru kē a Heml. Ka taea te tango mai i te rehitatanga GitHub o te kaupapa. Ka whakauruhia ma te wetewete i te purongo e rite ana ki to hoahoanga me te taapiri i te urungi $PATH
.
Tuhipoka: Ko te putanga 3.0.0 o Helm i tukuna tata nei. I te mea he maha nga whakarereketanga, ka tohutohuhia te kaipanui kia tatari mo etahi wa i mua i te whakamahi..
Te taapiri i tetahi puna mo Helm
Ko te mahi tuatahi ko te taapiri i te putunga "loki" ma te whakamahi i te whakahau e whai ake nei:
$ helm add loki https://grafana.github.io/loki/charts
I muri i tenei, ka taea e koe te rapu mo nga kohinga ko "loki":
$ helm search loki
Hua:
loki/loki 0.17.2 v0.4.0 Loki: like Prometheus, but for logs.
loki/loki-stack 0.19.1 v0.4.0 Loki: like Prometheus, but for logs.
loki/fluent-bit 0.0.2 v0.0.1 Uses fluent-bit Loki go plugin for...
loki/promtail 0.13.1 v0.4.0 Responsible for gathering logs and...
Kei enei kete nga ahuatanga e whai ake nei:
- пакет loki/loki e ōrite ana ki te tūmau Loki anake
- пакет loki/rere-bit ka taea e koe te tuku i tetahi DaemonSet ma te whakamahi i te ipu-waahi ki te kohi rakau hei utu mo te Promtail
- пакет loki/promtail kei roto he kaihoko kohikohi kōnae rangitaki
- пакет loki/loki-stack, ka taea e koe te tuku tonu i a Loki me te Promtail.
Tāuta Loki
Hei tuku i a Loki ki nga Kubernetes, whakahaerehia te whakahau e whai ake nei i roto i te mokowā ingoa "aroturuki":
$ helm upgrade --install loki loki/loki-stack --namespace monitoring
Hei tiaki ki te kōpae, tāpirihia te tawhā --set loki.persistence.enabled = true:
$ helm upgrade --install loki loki/loki-stack
--namespace monitoring
--set loki.persistence.enabled=true
Tuhipoka: Mena kei te hiahia koe ki te tuku i te Grafana i te wa ano, ka taapirihia te tawhā
--set grafana.enabled = true
Ina whakahaere koe i tenei whakahau me whiwhi koe i nga putanga e whai ake nei:
LAST DEPLOYED: Tue Nov 19 15:56:54 2019
NAMESPACE: monitoring
STATUS: DEPLOYED
RESOURCES:
==> v1/ClusterRole
NAME AGE
loki-promtail-clusterrole 189d
…
NOTES:
The Loki stack has been deployed to your cluster. Loki can now be added as a datasource in Grafana.
See <a href="http://docs.grafana.org/features/datasources/loki/">http://docs.grafana.org/features/datasources/loki/</a> for more details.
Ma te titiro ki te ahua o nga pene i roto i te waahi ingoa "aroturuki", ka kite tatou kua tukuna nga mea katoa:
$ kubectl -n monitoring get pods -l release=loki
Hua:
NAME READY STATUS RESTARTS AGE
loki-0 1/1 Running 0 147m
loki-promtail-9zjvc 1/1 Running 0 3h25m
loki-promtail-f6brf 1/1 Running 0 11h
loki-promtail-hdcj7 1/1 Running 0 3h23m
loki-promtail-jbqhc 1/1 Running 0 11h
loki-promtail-mj642 1/1 Running 0 62m
loki-promtail-nm64g 1/1 Running 0 24m
Kei te rere nga poti katoa. Inaianei kua tae ki te waa ki te mahi i etahi whakamatautau!
Te hono atu ki a Grafana
Hei hono atu ki a Grafana i raro i a Kubernetes, me whakatuwhera koe i tetahi kohanga ki tona pona. Kei raro nei te whakahau ki te whakatuwhera i te tauranga 3000 mo te Pod Grafana:
$ kubectl -n port-forward monitoring svc/loki-grafana 3000:80
Ko tetahi atu mea nui ko te hiahia ki te whakaora i te kupuhipa a te kaiwhakahaere o Grafana. Ka huna te kupuhipa loki-grafana
i te mara .data.admin-user
i te whakatakotoranga turanga64.
Hei whakaora, me whakahaere e koe te whakahau e whai ake nei:
$ kubectl -n monitoring get secret loki-grafana
--template '{{index .data "admin-password" | base64decode}}'; echo
Whakamahia tenei kupuhipa me te kaute kaiwhakahaere taunoa (admin).
Te tautuhi i te puna raraunga Loki i Grafana
Tuatahi, kia mohio kua hangahia te puna raraunga Loki (Whakaritenga/Raraunga).
Anei he tauira:
He tauira mo te whakarite puna raraunga mo Loki
Ma te panui "Whakamatau" ka taea e koe te tirotiro i te hononga ki a Loki.
Te tono ki a Loki
Inaianei haere ki Grafana ki te waahanga "Tirotiro". Ina whiwhi rangitaki mai i nga ipu, ka taapirihia e Loki nga metadata mai i Kubernetes. Na, ka taea te tiro i nga raarangi o tetahi ipu motuhake.
Hei tauira, ki te kowhiri i nga raarangi ipu promtail, ka taea e koe te whakamahi i te patai e whai ake nei: {container_name = "promtail"}
.
I konei ka mahara ano ki te kowhiri i te puna raraunga Loki.
Ma tenei patai ka whakahoki mahi ipu penei e whai ake nei:
Ko te hua patai i Grafana
Tāpirihia ki te papatohu
Ka tiimata me te Grafana 6.4, ka taea e koe te tuu tika i nga korero takiuru ki runga i te papatohu. I muri i tenei, ka taea e te kaiwhakamahi te huri tere i waenga i te maha o nga tono i runga i tana papaanga me nga tohu tono.
Kei raro nei he tauira o te papatohu e whakatinana ana i tenei taunekeneke:
Tauira papatohu me nga inenga Prometheus me nga raarangi Loki
Te heke mai o Loki
I timata ahau ki te whakamahi i a Loki i te marama o Mei/Hune me te putanga 0.1. I tenei ra ko te putanga 1, tae noa ki te 1.1 me te 1.2 kua tukuna.
Me whakaae ko te putanga 0.1 kaore i tino pumau. Engari ko te 0.3 kua whakaatu i nga tohu tino o te pakeketanga, a ko nga putanga o muri mai (0.4, ka 1.0) i whakapakari noa i tenei whakaaro.
I muri i te 1.0.0, karekau he tangata e whai take kia kaua e whakamahi i tenei taputapu whakamiharo.
Ko etahi atu whakapainga kaua e pa ki a Loki, engari ko tana whakaurunga ki te Grafana tino pai. Inaa, he pai te whakaurunga a Grafana 6.4 me nga papatohu.
Ko te Grafana 6.5, i tukuna i mua tata nei, ka whakapai ake i tenei whakaurunga ma te mohio aunoa i nga ihirangi rangitaki kei te whakatakotoranga JSON.
Ko te ataata i raro nei e whakaatu ana i tetahi tauira iti o tenei tikanga:
Ma te whakamahi i nga aho Loki e kitea ana i Grafana
Ka taea te whakamahi i tetahi o nga mara JSON, hei tauira, mo:
- hononga ki te taputapu o waho
- tātari ihirangi rangitaki
Hei tauira, ka taea e koe te paato i te traceId kia haere ki a Zipkin, ki a Jaeger ranei.
Ka rite ki o mua, ka tumanako matou ki o korero me te tono kia haere mai koe
Source: will.com