
Badoo-แจแ แฉแแแ แแฃแแแแแแ แแแแแแ แแแแแ แแฎแแ แขแแฅแแแแแแแแแก แแ แแแคแแกแแแ แฆแแ แก แแฃ แแ แ แแแแ แแแแแงแแแแแ แฉแแแแก แกแแกแขแแแแจแ. แฉแแแ แแแกแฃแ แก แแแแฃแแแแ แแ แแ แ-แแ แแ แแกแแแ แแแแแแ แกแแแแแแแแแแแก. แแแ แแซแฆแแแแแ แแแแแก, แแฃแ แแแแแก แแแ แแแแชแแแก แกแแกแขแแแแก.
Loki แแ แแก แแแแแฌแงแแแขแ แแฃแ แแแแแแแก แจแแกแแแแฎแแ แแ แกแแแแฎแแแแ แแ แแก แแแกแขแ แแกแแแ แฃแแ แฃแแแแแงแแคแก แแแฅแแแ แกแแกแขแแแแก แแแแ แแแแแแแแกแ แแ แแแแแชแแแแแแก แแ แแแแแแกแแแแก แแแแแแแแแกแแแแก. แแแแกแจแ แแแแแ แแ แแ แแแแแฎแแแแ แแแแแแแแ, แ แแแแแกแแช แจแแแฅแแแแแแแ แแฅแขแแฃแ แแ แฃแญแแ แแ แแฎแแ แก. แฉแแแ แแแแแแขแแ แแกแแแแ, แ แแกแ แแแแแแแแ แจแแฃแซแแแ Loki-แก, แ แ แจแแกแแซแแแแแแแแแก แแซแแแแ แแ แ แแแแแแแ แจแแฃแซแแแ แแแแฅแแแแแก แ แแแแ แช แแแขแแ แแแขแแแ ELK-แแก, แกแขแแแแก, แ แแแแแกแแช แแฎแแ แแแงแแแแแ.
แ แ แแ แแก แแแแ
Grafana Loki แแ แแก แแแแแแแแแขแแแแก แแแแ แแแ แแแแแแแแ แแฃแจแแแแแก แกแ แฃแแ แกแแกแขแแแแกแแแแก. แกแฎแแ แแกแแแแกแ แกแแกแขแแแแแแกแแแ แแแแกแฎแแแแแแแ, แแแแ แแแงแแ แแแ แแฎแแแแ แแฃแ แแแแแก แแแขแแแแแแชแแแแแแก - แแขแแแแขแแแแก แแแแแฅแกแแ แแแแก แแแแแก (แแแแแ, แ แแช แแ แแแแแแจแ) แแ แแแแแ แแฃแ แแแแแแแก แชแแแแแฃแ แแแฌแแแแแแ แจแแแฃแแจแแแก.
,
แกแแแแ แจแแแแกแฌแแแแแ แแฃ แ แแกแ แแแแแแแแ แจแแแแซแแแแ Loki-แกแแแ, แแกแฃแ แก แแแแแแแ แขแ แ แแก แแแฃแแแกแฎแแแแ โแแฎแแแแ แแแขแแแแแแชแแแแแแก แแแแแฅแกแแ แแแแก แแแแแจแโ. แแแแแ แจแแแแแแ แแ Loki แแแแแแแ แแ แแแแแฅแกแแ แแแแก แแแแแแแ แขแ แแแแชแแฃแ แแแแแฌแงแแแขแแแแแแแจแ, แ แแแแ แแชแแ Elasticsearch, nginx log-แแก แฎแแแแก แแแแแแแแแก แแแแแงแแแแแแ:
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"แขแ แแแแชแแฃแแ แกแแกแขแแแแแ แแแแแแแแแแแ แแแแ แ แแแก, แแแ แจแแ แแก แแแแแแก แแแแ แ แแแแแแแแแ แฃแแแแแแฃแ แ user_id แแ item_id แแแแจแแแแแแแแแแ แแ แแแแฎแแแก แงแแแแแคแแ แก แแแ แแแแแฅแกแแแจแ. แแ แแแแแแแแก แฃแแแ แแขแแกแแแ แแก แแ แแก, แ แแ แแฅแแแ แจแแแแซแแแแ แกแฌแ แแคแแ แแแฃแจแแแ แ แแฃแแ แแแแฎแแแแแแ, แ แแแแแ แแแแฅแแแก แงแแแแ แแแแแชแแแ แแ แแก แแแแแฅแกแจแ. แแแแ แแ แแแแก แคแแกแ แแฅแแก แแแแ, แ แแ แแแแแฅแกแ แแแแ แฎแแแแ, แ แแช แแแแ แแแแแแ แแแฎแกแแแ แแแแก แแแแฎแแแแแแจแ. แจแแแแแแ, แกแ แฃแแ แขแแฅแกแขแแก แแฃแ แแแแแก แแแแแฅแกแ แแแแแ แจแแแแ แแแฃแแแ แแแแแ แแฃแ แแแแแแแแ. แแแแกแแแแแก, แ แแ แกแฌแ แแคแแ แแแซแแแแแ แแแ, แแแแแฅแกแ แฃแแแ แฉแแแขแแแ แแแก แแแฎแกแแแ แแแแจแ. แแ แ แแช แฃแคแ แ แแแขแ แแฃแ แแแแ, แแแ แฃแคแ แ แกแฌแ แแคแแ แแแ แแแแ แแแแแฅแกแ แแ แแแข แแแฎแกแแแ แแแแก แแแแฎแแแ แก.
Loki แแแแแแแ แแแแแฎแแแก, แ แแ แแฎแแแแ แกแแญแแ แ แแแแแชแแแแแแก แแแแฆแแแ แกแขแ แแฅแแแแแแ, แ แแแแแก แแแแจแแแแแแแแแแก แ แแแแแแแแ แแชแแ แแ. แแ แแแแ แฉแแแ แแแฆแแแ แแชแแ แ แแแแแฅแกแก แแ แจแแแแแซแแแ แแแแแซแแแ แแแแแชแแแแแ แแ แแแกแ แแ แแแแแฅแกแแ แแแฃแแ แแแแแแแก แแแคแแแขแแ แแ, แจแแแแแ แแ แแแแแ แฉแแแแก แกแแแแแ แแแแ แ แแแฃแแแ แฃแแ แแแแแแแแฅแแแแแแแ แแ แฅแแแกแขแ แแฅแแแฃแแ แซแแแแแ. แแ แแชแแกแ แแ แฉแแแก แงแแแแแแ แกแฌแ แแคแ, แแแแ แแ Loki แงแแคแก แแแแฎแแแแแก แ แแแแแแแแ แแแฌแแแแ แแ แแฎแแ แชแแแแแแก แแแ แแแ แแแแแฃแ แแ, แแแฃแจแแแแแก แแแแ แ แแแแแแแแแ แแแแแชแแแแแก แแแแแ แแ แแจแ. แแแแจแ แคแ แแแแแแขแแแแก แแ แแแ แแแแแฃแ แ แแแแฎแแแแแแแก แ แแแแแแแแ แแแแคแแแฃแ แแ แแแแแแ; แแแ แแแแ, แแแแแชแแแแ แ แแแแแแแแ, แ แแแแแแช แจแแแซแแแแ แแแแฃแจแแแแแก แแ แแแก แแ แแแฃแแแ, แฌแ แคแแแแ แแแแแแแแแแฃแแแ แแแฌแแแแแฃแแ แ แแกแฃแ แกแแแแก แ แแแแแแแแแแ.
แแแ, แกแฌแ แแค แแแแแฅแกแกแ แแ แแชแแ แ, แแแ แแแแแฃแ แแ แฃแฎแแจแ แซแแแแก แแแแแฅแกแก แจแแ แแก แแก แแแชแแแ แกแแจแฃแแแแแแก แแซแแแแก แแแแแก แแแแแแแขแ แแแแก แกแแกแขแแแแก แฆแแ แแแฃแแแแ. แแแกแ แแแฅแแแแแ แแแแคแแแฃแ แแชแแ แแ แแแคแแ แแแแแ แจแแกแแซแแแแแแแ แกแแญแแ แแแแแแแก แแแฎแแแแแ.
Loki แกแขแแแ แจแแแแแแ แกแแแ แแแแแแแแแขแแกแแแ: Promtail, Loki, Grafana. Promtail แแแ แแแแแก แแฃแ แแแแแแก, แแแฃแจแแแแแก แแแ แแ แแแแแแแแก Loki-แจแ. แแแแ แแแแฎแแแก แแแ. แแ Grafana-แก แจแแฃแซแแแ แแแแแฎแแแแก แแแแแชแแแแแ Loki-แกแแแ แแ แแฉแแแแแก แแกแแแ. แแแแแแแ, Loki แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแ แ แแฎแแแแ แแฃแ แแแแแแแก แจแแกแแแแฎแแ แแ แแแแจแ แกแแซแแแแแแ. แแแแแ แแแกแขแ แแซแแแแ แแแ แจแแกแแซแแแแแแแแแก แแ แแแแแแก แแแแ แจแแแแแแแแแ แแแแแชแแแแแแก แแแแฃแจแแแแแแกแ แแ แแแแแแแแกแแแแก.
แแแกแขแแแแชแแแก แแ แแชแแกแแก แแฆแฌแแ แ แจแแแแซแแแแ แแฎแแแแ .
แแฃแ แแแแแก แซแแแแ
แแฅแแแ แจแแแแซแแแแ แแแซแแแแแ แแฃแ แแแแแแ แกแแแชแแแแฃแ Grafana แแแขแแ แคแแแกแจแ - Explorer. แจแแแแแฎแแแแจแ แแแแแแงแแแแแ LogQL แแแ, แ แแแแแแช แซแแแแแ แฐแแแแก Prometheus-แจแ แแแแแงแแแแแฃแ PromQL-แก. แแ แแแชแแแจแ, แแก แจแแแซแแแแ แฉแแแแแแแแก แแแแแฌแแแแแฃแ แแ แแแแ.
แกแแซแแแแ แแแขแแ แคแแแกแ แแกแ แแแแแแงแฃแ แแแ:

แแแแแ แแแแฎแแแแ แจแแแแแแ แแ แ แแแฌแแแแกแแแ: แกแแแแฅแขแแ แ แแ แคแแแขแ แ. แกแแแแฅแขแแ แ แแ แแก แซแแแแ แแแแแฅแกแแ แแแฃแแ แแแขแแแแแแชแแแแแแก (แแขแแแแขแแแแก) แแแแแงแแแแแแ, แ แแแแแแแช แแแแแญแแแฃแแแ แแฃแ แแแแแแแกแแแแก, แฎแแแ แคแแแขแ แ แแ แแก แกแแซแแแแ แกแขแ แแฅแแแ แแ regexp, แ แแแแแแช แคแแแขแ แแแก แกแแแแฅแขแแ แแก แแแแ แแแแกแแแฆแแ แฃแ แฉแแแแฌแแ แแแก. แแแชแแแฃแ แแแแแแแแจแ: แฎแแแฃแ แแ แแแแขแแแจแ แแ แแก แกแแแแฅแขแแ แ, แงแแแแแคแแ แ แจแแแแแ แแ แแก แคแแแขแ แ.
{image_name="nginx.promtail.test"} |= "index"Loki แแฃแจแแแแแก แแ แแแชแแแแก แแแแ, แแฅแแแ แแ แจแแแแซแแแแ แจแแแแแฎแแแก แแแกแแ แกแแแแฅแขแแ แแก แแแ แแจแ, แแแแ แแ แแแแแแแแ แจแแแซแแแแ แแแแแแแแก แแกแ แแแแแแ, แ แแแแ แช แแกแฃแ แ.
แกแแแแฅแขแแ แ แแ แแก แแแกแแฆแแแ-แแแแจแแแแแแแแก แแแแจแแแแแแแ แฎแแแฃแแ แแ แแแแขแแแจแ. แแฅแแแ แจแแแแซแแแแ แแแแแแแจแแ แแ แกแแแแฅแขแแ แแแ แแ แแแฃแแแแแ แกแฎแแแแแกแฎแแ แกแแซแแแแ แแแ แแแแแ แแแแ แแขแแ แแแแก =, != แแ แ แแแฃแแแ แฃแแ แแแแแแแแฅแแแแแแแก แแแแแงแแแแแแ:
{instance=~"kafka-[23]",name!="kafka-dev"}
// ะะฐะนะดัั ะปะพะณะธ ั ะปะตะนะฑะปะพะผ instance, ะธะผะตััะธะต ะทะฝะฐัะตะฝะธะต kafka-2, kafka-3, ะธ ะธัะบะปััะธั dev แคแแแขแ แ แแ แแก แขแแฅแกแขแ แแ regexp, แ แแแแแแช แแแคแแแขแ แแแก แกแแแแฅแขแแ แแก แแแแ แแแฆแแแฃแ แงแแแแ แแแแแชแแแก.
แแแฆแแแฃแแ แแแแแชแแแแแแก แกแแคแฃแซแแแแแ แจแแกแแซแแแแแแแ แแ-แฐแแ แแ แแคแแแแแแก แแแฆแแแ แแแขแ แแแแก แ แแแแแจแ. แแแแแแแแแ, แจแแแแซแแแแ แแแแแแ, แ แแแแแแแ แฎแจแแ แแ แฉแแแแแ แฉแแแแฌแแ แ, แ แแแแแแช แจแแแชแแแก แกแขแ แแฅแแแแแแก แแแแแฅแกแก nginx แแฃแ แแแแแแจแ:

แจแแกแแซแแแแแแแแแแก แกแ แฃแแ แแฆแฌแแ แ แจแแแแซแแแแ แแฎแแแแ แแแแฃแแแแขแแชแแแจแ .
แแฃแ แแแแแก แแแ แฉแแแ
แแแ แแแแก แจแแแ แแแแแแก แ แแแแแแแแ แแแ แแ แกแแแแแก:
- Promtail-แแก แแแแแงแแแแแ, แแแกแขแแก แกแขแแแแแ แขแฃแแ แแแแแแแแแขแ แแฃแ แแแแแแแก แจแแแ แแแแแแกแแแแก.
- แแแ แแแแแ แแแแแ แแก แแแแขแแแแแ แแแแ แแแแแงแแแแแแ
- แแแแแแงแแแแ Fluentd แแ Fluent Bit, แ แแแแแกแแช แจแแฃแซแแแ แแแแแชแแแแแแก แแแแแแแแ Loki-แแ. Promtail-แแกแแแ แแแแกแฎแแแแแแแ, แแแ แแฅแแ แแแ แแแ แกแแ แ แแแแฅแแแก แแแแแกแแแแ แ แขแแแแก แแฃแ แแแแแกแแแแก แแ แแกแแแ แจแแฃแซแแแแ แแ แแแแแฎแแแแแแแ แแฃแ แแแแแแแก แแแ แแแ.
แฉแแแฃแแแแ แแ Promtail แแแแแแงแแแแแ แแแ แกแแแแแกแแแแก. แแก แแแแแแแก แกแแ แ แแแแก:
- แแแฃแแแแก แแแแแชแแแแ แฌแงแแ แแแแก.
- แแแแแ แแแก แแแ แแขแแแแขแแแก.
- แฃแแแแแแแก แแแแแชแแแแแก แแแแแก.
แแแแแแแ Promtail-แก แจแแฃแซแแแ แฌแแแแแแฎแแก แแฃแ แแแแแแ แแแแแแฃแ แ แคแแแแแแแแแ แแ แกแแกแขแแแฃแ แ แแฃแ แแแแแแแ. แแก แฃแแแ แแแแแแขแแแแแก แแแแแแฃแ แแแแฅแแแแแ, แกแแแแแแแช แแ แแแแแแ แแฃแ แแแแแแ.
แแ แแก Kubernetes-แแแ แแแขแแแ แแชแแ: Promtail แแแขแแแแขแฃแ แแ, Kubernetes REST API-แแก แแแจแแแแแแ, แแแแแชแแแแก แแแแกแขแแ แแก แแแแแแแ แแแแแก แแ แแแ แแแแแก แแฃแ แแแแแแก แแแแแซแแแแ, แกแแ แแแกแแแแ แแ แแแแแแแ, แแแฃแงแแแแแแแแ แแฅแแแงแแแแก แแแแแแแแก Kubernetes-แแก แแแขแแแแแแชแแแแแแ (แแแแแก แกแแฎแแแ, แคแแแแแก แกแแฎแแแ แแ แ.แจ.) .
แแฅแแแ แแกแแแ แจแแแแซแแแแ แแแแแแแ แแขแแแแขแแแ แแฃแ แแแแแก แแแแแชแแแแแแก แกแแคแฃแซแแแแแ Pipeline-แแก แแแแแงแแแแแแ. Pipeline Promtail แจแแแซแแแแ แจแแแแแแแแแก แแแฎแ แขแแแแก แแขแแแแกแแแ. แแแแแขแแแแแ แแแขแแแแแ แจแ , แแแจแแแแ แแฆแแแแจแแแ แ แแแแแแแแ แแแฃแแแกแก.
- แแแแแแแแแแก แแขแแแแแ. แแก แแ แแก RegEx แแ JSON แแขแแแ. แแ แแขแแแแ แฉแแแ แแแฆแแแ แแแแแชแแแแแก แแฃแ แแแแแแแแแ แ.แฌ. แฉแแแ แจแแแแแซแแแ แแแแแแงแแ JSON-แแแ, แฃแแ แแแแ, แกแแญแแ แ แแแแแแแก แแแแแ แแแแ แแแแฆแแแฃแ แ แฃแแแจแ, แแ แ แแแฃแแแ แฃแแ แแแแแแแแฅแแแแแแแก (RegEx) แแแจแแแแแแ, แกแแแแช แแแกแแฎแแแแแฃแแ แฏแแฃแคแแแ โแแแกแแฎแฃแแแโ แแแแฆแแแฃแ แ แฃแแแจแ. Extracted แ แฃแแ แแ แแก แแแกแแฆแแแ-แแแแจแแแแแแแแก แแแฆแแแแ, แกแแแแช แแแกแแฆแแแ แแ แแก แแแแแก แกแแฎแแแ แแ แแแแจแแแแแแแ แแ แแก แแแกแ แแแแจแแแแแแแ แแฃแ แแแแแแแแแ.
- แขแ แแแกแคแแ แแแชแแแก แแขแแแแแ. แแ แแขแแแก แแฅแแก แแ แ แแแ แแแแขแ: แขแ แแแกแคแแ แแแชแแ, แกแแแแช แแแแแแแ แขแ แแแกแคแแ แแแชแแแก แฌแแกแแแก แแ แฌแงแแ แ - แแแแแชแแแแ แฌแงแแ แ แแแแฆแแแฃแแ แ แฃแฅแแแแ แขแ แแแกแคแแ แแแชแแแกแแแแก. แแฃ แแแแฆแแแฃแ แ แฃแแแจแ แแกแแแ แแแแ แแ แแ แแก, แแก แจแแแฅแแแแแ. แแ แแแแ แจแแกแแซแแแแแแแ แแขแแแแขแแแแก แจแแฅแแแ, แ แแแแแแแช แแ แแ แแก แแแคแฃแซแแแแฃแแ แแแแฆแแแฃแ แ แฃแแแแ. แแ แแขแแแแ แฉแแแ แจแแแแแซแแแ แแแแแแแแฃแแ แ แฃแแแก แแแแแชแแแแแแ แแแแแแฃแแแ แแแ แกแแแแแแ แแซแแแแ แ แแแแแงแแแแแแ . แแแ แแ แแแแกแ, แฃแแแ แแแแฎแกแแแแแก, แ แแ แแแแฆแแแฃแแ แ แฃแแ แแแแแแแแ แแขแแแ แแแแ แแแแแแแแก แแ แแก, แ แแช แจแแกแแซแแแแแแก แฎแแแก, แแแแแแแแแ, แแแกแจแ แแ แกแแแฃแแ แแแแจแแแแแแแแก แจแแแแฌแแแแ: โ{{if .tag}tag value is exist{end}}โ. แจแแแแแแ แแฎแแ แก แฃแญแแ แก แแแ แแแแแก, แแแ แงแฃแแแแก แแ แกแขแ แแฅแแแแแแก แแแแแแ แ แคแฃแแฅแชแแแก, แ แแแแ แแชแแ Replace แแ Trim.
- แแแฅแแแแแแแก แแขแแแแแ. แแ แแขแแแแ แจแแแแซแแแแ แแแแแแแแ แ แแฆแแช แแแแฆแแแฃแแ แจแแแแแ แกแแ:
- แจแแฅแแแแแ แแแแแแ แแแแฆแแแฃแแ แแแแแชแแแแแแแแ, แ แแแแแแช แแฅแแแแ แแแแแฅแกแแ แแแฃแแ Loki-แก แแแแ .
- แจแแชแแแแแ แแ แแแแงแแแแ แฆแแแแกแซแแแแแก แแ แ แแฃแ แแแแแแแ.
- แจแแชแแแแแ แแแแแชแแแแแ (แแแแแก แขแแฅแกแขแ), แ แแแแแแช แแแแแแ Loki-แแ.
- แจแแฅแแแแแ แแแขแ แแแ.
- แคแแแขแ แแชแแแก แแขแแแแแ. แแแขแฉแแก แแขแแแ, แกแแแแช แฉแแแ แจแแแแแซแแแ แแแแแแแแแแแ แฉแแแแฌแแ แแแ, แ แแแแแแแช แแ แแแญแแ แแแแ /dev/null, แแ แแแแแแแแแแแ แจแแแแแแแ แแแแฃแจแแแแแแกแแแแก.
แฉแแแฃแแแแ แแแ nginx แแฃแ แแแแแแแก แแแแฃแจแแแแแแก แแแแแแแแแก แแแแแงแแแแแแ, แแ แแแฉแแแแแแ, แแฃ แ แแแแ แจแแแแซแแแแ แแแแแแแแแแ แแฃแ แแแแแแ Promtail-แแก แแแแแงแแแแแแ.
แขแแกแขแแกแแแแก แแแแฆแแ แ แแแแ แช nginx-proxy แจแแชแแแแแ nginx แกแฃแ แแแ jwilder/nginx-proxy:alpine แแ แแแขแแ แ แแแแแแ, แ แแแแแกแแช แจแแฃแซแแแ แฐแแแแฎแแก แกแแแฃแแแ แแแแก HTTP-แแก แกแแจแฃแแแแแแ. แแแแแแก แแฅแแก แ แแแแแแแแ แกแแแแแแ แฌแแ แขแแแ, แ แแแแแแแแช แแแก แจแแฃแซแแแ แกแฎแแแแแกแฎแแ แแแแแก แแแกแฃแฎแแแ, แกแฎแแแแแกแฎแแ HTTP แกแขแแขแฃแกแแ แแ แกแฎแแแแแกแฎแแ แแแงแแแแแแแ.
แฉแแแ แจแแแแแ แแแแแ แแฃแ แแแแแแก แแแแแ แแก แแแแขแแแแแ แแแแแแ, แ แแแแแแแช แจแแแแซแแแแ แแฎแแแแ แแแแแ /var/lib/docker/containers//-json.log
docker-compose.yml-แจแ แฉแแแ แแแแแแคแแแฃแ แแ แแแ Promtail-แก แแ แแแแฃแกแขแแแ แแแแคแแแฃแ แแชแแแก แแแแก:
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'
// ...
แแแแแแขแแ แแแแแแแก แแแแแแ promtail.yml-แแ (แแแแคแแแฃแ แแชแแแจแ แแ แแก โแแแแแ แแกโ แแแ แแแแขแ, แ แแแแแแช แแแแแแก แแแแแแแก แแ แ แกแขแ แแฅแแแจแ, แแแแ แแ แแก แแ แช แแกแ แแแแแแ แแฅแแแแ):
scrape_configs:
- job_name: containers
static_configs:
labels:
job: containerlogs
__path__: /var/lib/docker/containers/*/*log # for linux onlyแ แแแแกแแช แแก แแแแคแแแฃแ แแชแแ แฉแแ แแฃแแแ, แแฃแ แแแแแแ แงแแแแ แแแแขแแแแแ แแแแ แแแแแแแแแแแ Loki-แก. แแแแก แแแแแแแ แแกแแชแแแแแแแ, แฉแแแ แแชแแแแ แกแแขแแกแขแ nginx-แแก แแแ แแแแขแ แแแก docker-compose.yml-แจแ - แแแแแแแขแแแ แแฃแ แแแแแก แขแแแแก แแแแก:
proxy:
image: nginx.test.v3
//โฆ
logging:
driver: "json-file"
options:
tag: "{{.ImageName}}|{{.Name}}"promtail.yml-แแก แ แแแแฅแขแแ แแแ แแ Pipeline-แแก แแแงแแแแแ. แจแแงแแแแ แแแแชแแแก แจแแแแแแ แขแแแแก แแฃแ แแแแแแก:
{"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"}แแแแกแแแแแแก แแขแแแ:
- json:
expressions:
stream: stream
attrs: attrs
tag: attrs.tagแฉแแแ แแแแแแฆแแแ แแแแแแก stream, attrs, attrs.tag (แแฃ แแกแแแ แแ แกแแแแแก) แจแแแแแแแแแ JSON-แแแ แแ แแแแแ แแแแฆแแแฃแ แ แฃแแแจแ.
- regex:
expression: ^(?P<image_name>([^|]+))|(?P<container_name>([^|]+))$
source: "tag"แแฃ แแแแแฎแแ แฎแแ แขแแแแก แแแแแก แแแแแแกแแแ แแแแฆแแแฃแ แ แฃแแแจแ, แแแจแแ regexp-แแก แแแแแงแแแแแแ แแแแแแงแแแแ แแแแแกแแฎแฃแแแแแก แแ แแแแขแแแแแ แแก แกแแฎแแแแแ.
- labels:
image_name:
container_name:แฉแแแ แแแซแแแแ แแขแแแแขแแแก. แแฃ แแแแฆแแแฃแ แแแแแชแแแแแจแ แแแแแแแแ image_name แแ container_name แแแแแแจแแแ, แแแจแแ แแแแ แแแแจแแแแแแแแแ แแแแแแญแแแ แจแแกแแแแแแก แแขแแแแขแแแก.
- match:
selector: '{job="docker",container_name="",image_name=""}'
action: dropแฉแแแ แฃแแ แแงแแคแ แงแแแแ แแฃแ แแแแก, แ แแแแแกแแช แแ แแฅแแก แแแแแกแขแแแแ แแแฃแแ แแแแแแแแ image_name แแ container_name.
- match:
selector: '{image_name="nginx.promtail.test"}'
stages:
- json:
expressions:
row: logแงแแแแ แแฃแ แแแแแกแแแแก, แ แแแแแก image_name แแ แแก nginx.promtail.test, แแแแแฆแแ แแฃแ แแแแแก แแแแ แฌแงแแ แแก แแฃแ แแแแแแแ แแ แฉแแแแ แแแ แแแแฆแแแฃแ แ แฃแแแจแ แแฌแแ แแแแก แฆแแแแแแ.
- regex:
# suppress forego colors
expression: .+nginx.+|.+[0m(?P<virtual_host>[a-z_.-]+) +(?P<nginxlog>.+)
source: logrowแฉแแแ แแแกแฃแคแแแแแแ แจแแงแแแแแก แฎแแแก แ แแแฃแแแ แฃแแ แแแแแแแแฅแแแแแแแ แแ แแแแแแฆแแแ nginx แแแ แขแฃแแแฃแ แฐแแกแขแก แแ nginx log แฎแแแก.
- 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.]+)")?แแแแแแแแแแแ nginx แแฃแ แแแแ แ แแแฃแแแ แฃแแ แแแแแแแแฅแแแแแแแก แแแแแงแแแแแแ.
- 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>[^/?.]+).*$แแแแแ แแแแแแแแแแแแ request_url. regexp-แแก แแแแแงแแแแแแ แแแแแกแแแฆแแ แแแ แแแแฎแแแแแก แแแแแแก: แกแขแแขแแแฃแ แ แแแแแชแแแแแแก, แคแแขแแแแแก, API-แก แแ แจแแกแแแแแแกแ แแแกแแฆแแแแก แแแงแแแแแ แแแแฆแแแฃแ แ แฃแแแแ.
- template:
source: request_type
template: "{{if .photo}}photo{{else if .static_type}}static{{else if .api_request}}api{{else}}other{{end}}"แจแแแแแแจแ แแแ แแแแแ แแแแ แแขแแ แแแแก แแแแแงแแแแแแ, แฉแแแ แแแแแฌแแแแ แแแแแกแขแแแแ แแแฃแ แแแแแแก แแแแฆแแแฃแ แ แฃแแแจแ แแ แแแงแแแแแ แกแแญแแ แ แแแแจแแแแแแแแแก แแแแฎแแแแ_แขแแแแก แแแแแกแแแแก: แคแแขแ, แกแขแแขแแแฃแ แ, API. แแแแแแญแแ แกแฎแแ, แแฃ แแก แแแ แแแฎแแ แฎแแ. request_type แแฎแแ แจแแแชแแแก แแแแฎแแแแแก แขแแแก.
- labels:
api_request:
virtual_host:
request_type:
status:แฉแแแ แแแแแงแแแแ แแขแแแแขแแแ api_request, virtual_host, request_type แแ status (HTTP status) แแแแก แแแฎแแแแแ, แ แแช แแแแแฎแแ แฎแแ แแแแฆแแแฃแ แ แฃแแแจแ แฉแแกแแ.
- output:
source: nginx_log_rowแจแแชแแแแแ แแแแแแแแแแ. แแฎแแ แแแฌแแแแแแแ nginx แแฃแ แแแแ แแแแฆแแแฃแแ แ แฃแแแแแ แแแแแก Loki-แแ.

แแแแแแฆแแแจแแฃแแ แแแแคแแแฃแ แแชแแแก แแแจแแแแแก แจแแแแแ, แฎแแแแแ, แ แแ แแแแแแฃแ แฉแแแแฌแแ แก แแแแญแแแ แแแแแแแแ แแฃแ แแแแแแแ แแแฆแแแฃแแ แแแแแชแแแแแแก แกแแคแฃแซแแแแแ.
แแ แแ แ แแ แฃแแแ แแแแฎแกแแแแแก, แ แแ แแแแ แ แแแแแแแแแ แแแแจแแแแแแแแแแก แแฅแแแ แแขแแแแขแแแแก แแแซแแแแแ แจแแแซแแแแ แแแแจแแแแแแแแแ แจแแแแแแแก แแแแ. แแแฃ แแแแแฅแกแจแ แแ แฃแแแ แฉแแแแ, แแแแแแแแแ, user_id. แแแฌแแ แแแแแแ แแแแก แจแแกแแฎแแ แกแขแแขแแแจแ โ" แแแแ แแ แแก แแ แแแจแแแแก แแแแก, แ แแ แแฅแแแ แแ แจแแแแซแแแแ แแแซแแแแแ user_id-แแก แแแฎแแแแแ แแแแแฅแกแแแแก แแแ แแจแ. แแฅแแแ แฃแแแ แแแแแแงแแแแ แคแแแขแ แแแ แซแแแแแกแแก (แแแแแชแแแแแแก โแแแญแแ แโ) แแ แแฅ แแแแแฅแกแ แแแฅแแแแแแก แ แแแแ แช แแแแแแแก แแแแแขแแคแแแแขแแ แ.
แแแ แแแแก แแแแฃแแแแแแชแแ

Loki-แก แจแแฃแซแแแ แแแแฅแแแแแก แ แแแแ แช แแแแแชแแแแ แฌแงแแ แ Grafana แแ แแคแแแแแแกแแแแก LogQL-แแก แแแแแงแแแแแแ. แจแแแแแแ แคแฃแแฅแชแแแแ แแฎแแ แแแญแแ แแแแ:
- แแแฉแแแแแแแแ โ แฉแแแแฌแแ แแแแก แ แแแแแแแแ แฌแแแจแ;
- แแ แแแ แแแแแแแแแแแจแ แแแแแแ โ แฉแแแแฌแแ แแแแก แ แแแแแแแแ แแแแแแแแฃแ แแแแแแแแแจแ.
แแกแแแ แแ แกแแแแแก แแแ แแแแชแแแก แคแฃแแฅแชแแแแ Sum, Avg แแ แกแฎแแ. แแฅแแแ แจแแแแซแแแแ แจแแฅแแแแ แกแแแแแแ แ แแฃแแ แแ แแคแแแแแ, แแแแแแแแแ HTTP แจแแชแแแแแแแก แ แแแแแแแแแก แแ แแคแแแ:

แแแแแชแแแแ แกแขแแแแแ แขแฃแแ แฌแงแแ แ Loki แแแ แแแแฃแแฌแแแแ แจแแแชแแ แแแฃแแแ แคแฃแแฅแชแแแแแแฃแ แแแแ แแ แแแแแแก แแแแแชแแแแ แฌแงแแ แแกแแแ แจแแแแ แแแแ (แแแแแแแแแ, แแฅแแแ แแ แจแแแแซแแแแ แจแแชแแแแแ แแแแแแแ), แแแแ แแ แแแแ แจแแแซแแแแ แแแฃแแแแจแแ แแแก แฌแงแแ แแก แแ แแแแแแก แขแแแก. แแ แแ แแแ แแแ แฌแแฃแแแแฃแแ, แแ แแก แแฃ แแ แ แแก แแแแฃแแแแขแแ แแแฃแแ แฅแชแแแ, แแแแ แแ แแแแกแฏแแแแแ แแแแแแแแแ แแแแก แแแกแฃแฎแแก แแแฎแแแแแ "โ, แแแแแแแแแ, แกแ แฃแแแแ แแแแแแฃแ แแ แแ Loki แกแ แฃแแแ แแแแกแแแแแแ PromQL-แแแ.
แแแแแแขแแ Loki, แ แแแแ แช แแแแแชแแแแ แฌแงแแ แ, แขแแแแ Prometheus แแ แแแแแแขแแ URL /loki:

แฉแแแ แจแแแแแซแแแ แจแแแฅแแแแ แแ แแคแแแแแ, แแแแฅแแก แแ แแแแแแก แแแขแ แแแแแ แแแฃแจแแแแแแ:

แแ แแคแแฅแ แแ, แ แแ แคแฃแแฅแชแแแแแแฃแ แแแแก แจแแฃแกแแแแแแแ แแ แแแแแแแ แแ แแแแแแแแแ แแแ แแแแก แแแแแแแแจแ แแแแแแกแฌแแ แแแแ.

แแแขแ แแแ
Loki แแซแแแแ แจแแกแแซแแแแแแแแก แแแแแฆแแก แ แแชแฎแแแแ แแแขแ แแแ แแฃแ แแแแแแแแแ แแ แแแฃแแแแแแแก แแกแแแ แแ แแแแแแก. แแแแแแแแแ, nginx แแฃแ แแแแ แจแแแชแแแก แแแแ แแแกแฃแฎแแก แแแแขแแแแก แ แแแแแแแแแก, แแกแแแ แ แแแแ แช, แกแขแแแแแ แขแฃแแ แแฃแ แแแแแก แคแแ แแแขแแก แแแ แแแแฃแแ แแแแแคแแแแชแแแ, แฌแแแแแจแ, แ แแช แแแกแญแแ แแ แแแกแฃแฎแก. แแ แแแแแชแแแแแแก แแแแฆแแแ แแ แแ แแแแแแก แแแแแแแแ แจแแกแแซแแแแแแแ.
แแแแแแขแแ แกแฎแแ แแแแงแแคแแแแแ 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แแคแชแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแกแแแฆแแ แแ แแ แแแแแแฎแแแ แแแขแ แแแ แแแแฆแแแฃแแ แ แฃแฅแแก แแแแแชแแแแแแ แแแงแ แแแแแแ. แแก แแแขแ แแแ แแ แแแแแแแแแ Loki-แจแ - แแกแแแ แแแแแฉแแแแแ Promtail /metrics แแแแ แฌแแ แขแแแจแ. แแ แแขแแแแ แแแฆแแแฃแแ แแแแแชแแแแแแก แแแกแแฆแแแแ แแ แแแแแ แฃแแแ แแงแแก แแแแคแแแฃแ แแ แแแฃแแ. แแแแแ แแแงแแแแแ แแแแแแแแจแ, request_type=โapiโ-แกแแแแก แฉแแแ แแแแ แแแแแ แฐแแกแขแแแ แแแแก แแแขแ แแแแก. แแ แขแแแแก แแแขแ แแแแแแ แแแกแแฎแแ แฎแแแแแแ แแ แแชแแแขแแแแก แแแฆแแแ. แกแขแแขแแแฃแ แ แแ แคแแขแแกแแแแก, แฉแแแ แแแแ แแแแแ แแแแขแแแแก แฏแแแก แแ แ แแแแแแก แ แแแแแแแแแก, แ แแแแแแจแแช แแแแแฆแแ แแแแขแแแ, แ แแแ แแแแแแแแแแแ แกแแจแฃแแแ.
แฌแแแแแแฎแแ แแแขแ แแแขแ แแแแก แจแแกแแฎแแ .
แแแฎแกแแแแ แแแ แขแ Promtail-แแ:
promtail:
image: grafana/promtail:1.4.1
container_name: monitoring.promtail
expose:
- 9080
ports:
- "9080:9080"แแแ แฌแแฃแแแแ, แ แแ แแแขแ แแแ แแแแแฉแแแแแ promtail_custom แแ แแคแแฅแกแแ:

แแ แแแแแแก แแแงแแแแแ. แแแแแแแขแแ แแแแแแกแแแก แแ แแแขแแแแ:
- job_name: 'promtail'
scrape_interval: 10s
static_configs:
- targets: ['promtail:9080']แแ แฉแแแ แแฎแแขแแแ แแ แแคแแแก:

แแ แแแแ แจแแแแซแแแแ แแแแแแ, แแแแแแแแแ, แแแฎแ แงแแแแแแ แแแแ แจแแแแแฎแแ. แแฅแแแ แแกแแแ แจแแแแซแแแแ แแแแงแแแแ แแแแแขแแ แแแแ แแ แแแขแ แแแแแแกแแแแก.
แกแแแแแ แแแ
Loki แจแแแซแแแแ แแงแแก แ แแแแ แช แแ แ แแแแแ แฃแ แ แแแแแจแ, แแกแแแ แแแฎแแฎแแ แ แแแแแจแ (แฐแแ แแแแแขแแแฃแ แแ แแแกแจแขแแแแ แแแแแ แ แแแแแ). แแแแ แ แจแแแแฎแแแแแจแ, แแแก แจแแฃแซแแแ แแแแแชแแแแแแก แจแแแแฎแแ แฆแ แฃแแแแจแ, แฎแแแ แแแฌแแแแแ แแ แแแแแฅแกแ แชแแแแ แแแแฎแแแ. แแแ แกแแ 1.5 แจแแแแแฅแแก แแ แ แแแแแแแก แจแแแแฎแแแก แจแแกแแซแแแแแแแแก, แแแแ แแ แฏแแ แแ แแ แแก แ แแแแแแแแแแฃแแ แแแกแ แแแแแงแแแแแ แฌแแ แแแแแแจแ.

แแแญแ แแแแก แจแแแแฎแแ แจแแกแแซแแแแแแแ S3-แแแ แแแแกแแแแ แกแแชแแแจแ, แฎแแแ แฐแแ แแแแแขแแแฃแ แแ แแแกแจแขแแแแ แแแแแ แแแแแชแแแแ แแแแแแแก แแแแแงแแแแแ แจแแกแแซแแแแแแแ แแแแแฅแกแแแแก แจแแกแแแแฎแแ: Cassandra, BigTable แแ DynamoDB. Loki-แก แกแฎแแ แแแฌแแแแแ - แแแกแขแ แแแฃแขแแ แแแ (แฌแแ แแกแแแแก) แแ Querier (แจแแแแแฎแแแแแกแแแแก) - แแ แแก แแแฅแแแแฅแแแแแก แแ แแฅแแแ แแ แแกแแแ แฐแแ แแแแแขแแแฃแ แแ แแแกแจแขแแแฃแ แ.
DevOpsDays Vancouver 2019 แแแแคแแ แแแชแแแแ, แแ แ-แแ แแแ แแแแแฌแแแแ แแแแฃแ แกแขแแแแแ แแแแแแชแฎแแแ, แ แแ แแแแแกแแแ แแ แแแ แแแก แแ แแแฅแขแก แแฅแแก แแแขแแแแแขแ แแฃแ แแแแ, แกแแแ แแ แแแแแก 1%-แแ แแแแแแแ แแแแแฅแกแแ: โ".
แแแแแก แแ ELK-แแก แจแแแแ แแแ
แแแแแฅแกแแก แแแแ
แแแฆแแแฃแแ แแแแแฅแกแแก แแแแแก แจแแกแแแแฌแแแแแแ, แแ แแแแฆแ แแฃแ แแแแแแ nginx-แแก แแแแขแแแแแ แแแแ, แ แแแแแกแแแแกแแช แแแแแ แแงแ แแแแคแแแฃแ แแ แแแฃแแ แแแแกแแแแแ. แแฃแ แแแแแก แคแแแแ แจแแแชแแแแ 406 แกแขแ แแฅแแแก, แกแแแ แแ แแแชแฃแแแแแ 624 แแ. แแฃแ แแแแแแ แจแแแฅแแแ แแ แ แกแแแแจแ, แแแแฎแแแแแแ 109 แฉแแแแฌแแ แ แฌแแแจแ.
แแ แ แฎแแแแก แแแแแแแแ แแฃแ แแแแแแแ:

ELK-แแก แแแแ แแแแแฅแกแแ แแแแกแแก, แแแ แแแแฆแ แแแแแฅแกแแก แแแแ 30,3 แแ:

Loki-แก แจแแแแฎแแแแแจแ, แแแแ แแแแแแฌแแแ แแแแฎแแแแแแ 128 KB แแแแแฅแกแ แแ แแแแฎแแแแแแ 3,8 MB แแแแแชแแแแแ แแแฌแแแแแแ. แแฆแกแแแแจแแแแแ, แ แแ แแฃแ แแแแ แฎแแแแแแฃแ แแ แแงแ แแแแแ แแ แแแฃแแ แแ แแ แแแแฉแแแ แแ แแแแแคแแ แแแแแ แแแแแชแแแแแ. แแ แแแแแแแฃแ Docker JSON แแฃแ แแแแแ แแแ แขแแแ gzip แแแแแชแแแแแแ แจแแแฃแแจแแ แแงแ 95,4% แแ แแแแก แแแแแแแแกแฌแแแแแแ, แ แแ แแฎแแแแ แแแฌแแแแแแแ nginx แแฃแ แแแแ แแแแแแแแแ แแแแแ Loki-แก, แแแกแแแแแแ 4 แแ-แแแ แจแแแฃแแจแแ. Loki แแขแแแแขแแแแก แฃแแแแแแฃแ แ แแแแจแแแแแแแแแแก แกแแแ แแ แ แแแแแแแแ แแงแ 35, แ แแช แฎแกแแแก แแแแแฅแกแแก แแชแแ แ แแแแแก. ELK-แกแแแแก แแฃแ แแแแแช แแแกแฃแคแแแแแ. แแแ แแแแ, แแแแแ แจแแแฃแแจแ แแ แแแแแแแฃแ แ แแแแแชแแแแแ 96%-แแ, แฎแแแ ELK 70%-แแ.
แแแฎแกแแแ แแแแก แแแฎแแแ แแแ

แแฃ แจแแแแแแ แแแ แแแแ แแ แแแแแแก แแ ELK แแแกแขแแก, แแแจแแ แแแแ แ แแแแแแฏแแ แแ แแแแแแแก "แญแแแก". แแแแแแแ, แ แแ Go แกแแ แแแกแ แแแแฎแแแ แก Java แกแแ แแแกแแ แแแแแแแก แแ JVM Heap Elasticsearch-แแก แแแแแกแ แแ Loki-แกแแแแก แแแแแงแแคแแแ แแแฎแกแแแ แแแแก แจแแแแ แแแ แแ แแกแฌแแ แแ, แแแแ แแ แแแฃแฎแแแแแแ แแแแกแ, แแฆแกแแแแจแแแแแ, แ แแ Loki แแงแแแแแก แแแชแแแแแแ แแแแแแ แแแฎแกแแแ แแแแก. แแแกแ CPU แฃแแแ แแขแแกแแแ แแ แช แแกแ แแจแแแ แแ, แแแแ แแ แแก แแกแแแ แแ แกแแแแแก.
แกแแฉแฅแแ แแก
แแแแ แฃแคแ แ แกแฌแ แแคแแ โแญแแแกโ แแแแแแแแก. แกแแฉแฅแแ แ แแแแ แคแแฅแขแแ แแแ แแแแแแแแแแฃแแ - แ แแแแ แ แแแแแแแ, แ แแแแแแแ แแแฎแแแฌแแแ แแแ แ แแแ แแแแแแแจแ, แฅแกแแแจแ, แแแกแแแ แแ แ.แจ. - แแแแ แแ แแก แแแแแแแแแ แฃแคแ แ แแแฆแแแแ แแแแ แ ELK (แฉแแแก แขแแกแขแจแ - แแแแฎแแแแแแ แแ แฏแแ แแแขแ). แแก แแแฎแกแแแแ แแแแ, แ แแ แแแแ แแแชแแแแแแ แแแแแแ แแแแแชแแแก แแแแก แแแแแฅแกแจแ แแ แจแแกแแแแแแกแแ แแแแแแ แแ แแก แฎแแ แฏแแแก แแแแแฅแกแแ แแแแแ. แซแแแแแก แกแแฉแฅแแ แแ, แกแแขแฃแแชแแ แกแแแแ แแกแแแ แแ: Loki แจแแกแแแฉแแแแแ แแแแแแแก แ แแแแแแแแ แแแแแแแแขแแ แแแ แแแแแชแแแแแก, แฎแแแ ELK-แแก แซแแแแแก แกแแฉแฅแแ แ แแ แแ แแก แแแแแแแแแแฃแแ แแแแแชแแแแ แแแแแแ.
แแฃแ แแแแแก แซแแแแ
Loki แแแแจแแแแแแแแแ แฉแแแแ แฉแแแ ELK-แก แแฃแ แแแแแก แซแแแแแก แจแแกแแซแแแแแแแแแแก แแฎแ แแ. แ แแแฃแแแ แฃแแ แแแแแแแแฅแแแแแแแ Grep แซแแแแ แแ, แแแแ แแ แฉแแแแฃแแแ แแแแ แกแแฅแกแฃแแแฃแ แแแแแชแแแแ แแแแแก. แแแแแแแแแแก แแแแฎแแแแแแแก แแแแแแแแแ, แแฎแแแแ แแขแแแแขแแแแก แแแ แแแแชแแ, แแขแแแแขแแแแก แแแ แแจแ แซแแแแแก แจแแฃแซแแแแแแแ - แแก แงแแแแแคแแ แ แแแแฆแฃแแแแก Loki-แจแ แกแแแแขแแ แแกแ แแแคแแ แแแชแแแก แซแแแแแจแ. แแก แแ แแแจแแแแก, แ แแ Loki-แแก แแแแแงแแแแแแ แแแ แแคแแ แ แแแแซแแแแแแ, แแแแ แแ แแก แแแแกแแแฆแแ แแแก แแแแแแแแ แแฃแจแแแแแก แแแแแแก, แ แแแแกแแช แแแ แแแแแ แแฆแแแแฉแแแ แแ แแแแแแแก แแ แแแแแแก แกแฅแแแแแจแ แแ แจแแแแแ แแงแแแแแ แแ แแขแแแแขแแแก, แ แแแ แแแซแแแแแ แ แ แแแฎแแ แแฃแ แแแแแแจแ.
แแแขแแ แคแแแกแ
แฃแแแ แแแแแก แงแแแแแกแ, แแแแแแแ (แแแแแจแ, แฌแแแแแฆแแแแแแแ แแแ แแแแฃแฌแแ). Grafana-แก แแฅแแก แแแแแแ แแแ แแแแแแแก แแแขแแ แคแแแกแ, แแแแ แแ Kibana แแแแ แแ แฃแคแ แ แแแแแแ แแ แคแฃแแฅแชแแแแแ.
แแแแแก แแแแแแแแ แแ แฃแแ แงแแคแแแ แแฎแแ แแแแ
แแ แ-แแ แแ แฃแแแ แแขแแกแแแ แแก แแ แแก, แ แแ แแแแ แแแขแแแ แแ แแแแ แแ แแแแแแกแแแ, แแกแ แ แแ, แฉแแแ แแแฆแแแ แแแขแ แแแแก แแ แแแคแ แแฎแแแแแแก. แแแกแแฎแแ แฎแแแแแแ แแฃแ แแแแแแแก แจแแแ แแแแแ แแ แแแแ แจแแกแแแแฎแ Kubernetes Pods-แแแ, แ แแแแแ แแแก แแฅแแก Prometheus-แแกแแแ แแแแแแแแ แแแแแ แแแฆแแแฃแแ แกแแ แแแกแแก แแฆแแแฉแแแ แแ แแแขแแแแขแฃแ แแ แแแแแ แแแก แแขแแแแขแแแก.
แแแแฃแกแ แแ แแก แกแฃแกแขแ แแแแฃแแแแขแแชแแ. แแแแแแ แแ แ แแ, แแแแแแแแแ, Promtail-แแก แคแฃแแฅแชแแแแ แแ แจแแกแแซแแแแแแแแแ, แแ แแฆแแแแแฉแแแ แแฎแแแแ แแแแแก แจแแกแฌแแแแแก แแ แแชแแกแจแ, แกแแแแแแแแ แแ แแก แแ แแก แฆแแ แแแแ. แแแแแ แแ แแ แแแแฃแกแ แแ แแก แกแฃแกแขแ แแแแแแแแก แจแแกแแซแแแแแแแแแ. แแแแแแแแแ, Loki-แก แแ แจแแฃแซแแแ แแ แแแแแฎแแแแแแแ แแฃแ แแแแแแแก แแแ แฉแแแ. แแแแแ แแ แแ แแแแฃแกแ แแ แแก แแก, แ แแ Loki แแ แแก แจแแแแ แแแแ แแฎแแแแแแ แแ แขแแฅแแแแแแแ (แแแแแจแแแแ 1.0 แแงแ 2019 แฌแแแก แแแแแแแ แจแ).
แแแกแแแแ
Loki แแ แแก 100% แกแแแแขแแ แแกแ แขแแฅแแแแแแแ, แ แแแแแแช แจแแกแแคแแ แแกแแ แแชแแ แ แแ แกแแจแฃแแแ แแแแแก แแ แแแฅแขแแแแกแแแแก, แ แแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแแญแ แแ แแฃแ แแแแแแแก แแแ แแแแชแแแก, แแฃแ แแแแแก แซแแแแแก, แแแแแขแแ แแแแแกแ แแ แแฃแ แแแแแก แแแแแแแแก แแ แแแแแ แแ แแแแแแ.
แฉแแแ แแ แแแงแแแแแ Loki-แก Badoo-แจแ, แ แแแแแ แแแแฅแแก ELK แกแขแแแ, แ แแแแแแช แฉแแแแแแแก แจแแกแแคแแ แแกแแ แแ แ แแแแแแช แฌแแแแแก แแแแแแแแแแแจแ แแแแแขแแแ แแฃแแ แแงแ แกแฎแแแแแกแฎแแ แแแ แแแแฃแแ แแแแแฌแงแแแขแแแแแแแแ. แฉแแแแแแแก แแแแ แแแแแแ แแ แแก แแฃแ แแแแแแแก แซแแแแ. แแฆแแจแ แแแแฅแแแก 100 แแ แแฃแ แแแแแก แแแแ, แฉแแแแแแแก แแแแจแแแแแแแแแแ, แ แแ แงแแแแแคแแ แ แแ แชแแขแ แแแขแแช แแแแแแแ แแ แกแฌแ แแคแแ แแแแแแแแแ. แแแแแ แแแแแแกแ แแ แแแแแขแแ แแแแแกแแแแก แฉแแแ แแแงแแแแแ แกแฎแแ แแแแแฌแงแแแขแแแแแแแก, แ แแแแแแแช แแแ แแแแฃแแแ แฉแแแแก แกแแญแแ แแแแแแแ แแ แแแขแแแ แแ แแแฃแแแ แแ แแแแแแแแแ. Loki แกแขแแแก แแฅแแก แฎแแแจแแกแแฎแแแ แกแแ แแแแแแ, แแแแ แแ แแก แแ แแแแแชแแแก แแแแแ แแแขแก, แแแแ แ แฃแแแ แแแแฅแแก แแ แแแกแ แกแแ แแแแแแ, แ แ แแฅแแ แฃแแแ, แแ แแแแแฌแแแแก แแแแ แแชแแแก แฆแแ แแแฃแแแแแก.
แแ แแแฃแฎแแแแแแ แแแแกแ, แ แแ แแแแแแแก แจแแแแแ แแแแ แแแ, แ แแ แฉแแแ แแแ แแแแแแแงแแแแแ Loki-แก, แแแแแแแแแแแ, แ แแ แแก แแแกแขแ แแแแแฎแแแ แแแแ แแฅแแแแก แแ แฉแแแแแจแ.
แแแแแแ แแแแก แกแขแแขแแแจแ แแแแแงแแแแแฃแแ แแแแแก แกแแชแแแ .
แฌแงแแ แ: www.habr.com
