ื ืืืืจ ืืคื ืืืจืืื ืืฉืื ืืืื ืืฆืืืื ืฉื ืคืชืจืื ืืช ืขื ื ืืื ืฉืืืืจืืืืช ืฉื ืืขืจืืืช ืืืืืจืืช ืขืืื. ืืฉ ืฆืืจื ืืืืื ืืช ืืืชื ืืืืช ืฉืืื. ืื ื ืืงืืงืื ืืืืื ื ืืชื ืื ืืืจืืื ืฉืืืืืื ืืืกืืฃ ื ืชืื ืื ืืื ืืฉืืจืืชืื - ืืืกืคืง ืืืืืืื ืืืฉืง ืืื ืขื ื ืืชืื ืืืฆืืขืื, ืืืืืช ืฉืืืืืช, ืืืื ืืช ืืืืื ืื.
ืืืชื ืืืื ืืืืืื ืืืืืช ืืขืืืื ืืคืจืืืืงืืืืืื. ืืืืืจ ืื, ื ืืื ืฉืชื ืขืจืืืืช ืืื ืืืืืื ืคืืคืืืจืืืช: EFK (Elasticsearch) ื-PLG (Loki) ืื ืืื ืืช ืืืจืืืืงืืืจืืช ืืืืืืืื ืฉืืื.
ืืืกื ืืช EFK
ืืืื ืืืจ ืฉืืขืชื ืขื ื-ELK ืื EFK ืืคืืคืืืจืืื ืืืื. ืืขืจืืื ืืืจืืืช ืืืื ืืืงืื ื ืคืจืืื: Elasticsearch (ืืืกืื ืืืืืืงืืื), Logstash ืื FluentD (ืืืกืืฃ ืืฆืืจืืฃ ืืืื ืื) ื-Kibana ืืืืืื.
ืืจืืืช ืขืืืื ืืืคืืกืืช ื ืจืืืช ืื:
Elasticsearch - ืืืกืื ืืืืืืงืืื ืืืืืจ ืขื ืืืคืืฉ ืื ืืชืื ืืืื ืืืช. ืคืชืจืื ืืฆืืื ืื ืชืื ืื ืืฆื ืืืื ืื ืืืื ืืืื ืื. ืืืืืข ื ืฉืืจ ืืืกืืื JSON, ืืชืืืกืฃ ืืืื ืืืช ืืืืคืฅ ืขื ืคื ื ืฆืืชื ืืฉืืื. ื ืขืฉื ืฉืืืืฉ ืืืื ืืงืก ืืคืื, ืืืืื ืืช ืื ืืืืืื ืืืืืืืืืช ืืืืกืืืื ืืืฉืืืืื ืืืืคืืฉ ืืืงืกื ืืื, ืืฉืจ ืืชืืจื ืืืืกืก ืขื ืื ืืข ืืืืคืืฉ Apache Lucene.
ืฉืืืฃD ืืื ืืืกืฃ ื ืชืื ืื ืืืืื ื ืชืื ืื ืืขืช ืืืกืืฃ ืืฆืจืืื ืฉืืื. ืืื ืื ืกื ืืืจืื ืืช ืื ืชืื ืื ื-JSON ืืื ืืืคืฉืจ. ืืืจืืืืงืืืจื ืฉืื ื ืืชื ืช ืืืจืืื, ืืฉ ืขืื
ืงืืืื ื - ืืื ืืืืืืืช ื ืชืื ืื ืขืืืจ Elasticsearch ืขื ืืืืืืช ื ืืกืคืืช ืฉืื ืืช, ืืืฉื ื ืืชืื ืกืืจืืช ืืื, ื ืืชืื ืืจืคืื, ืืืืืช ืืืื ื ืืขืื.
ืืจืืืืงืืืจืช Elasticsearch
ื ืชืื ื ืืฉืืื Elasticsearch ืืืืืกื ืื ืืคืจืืกื ืขื ืคื ื ืื ืืฆืืชืื ืฉืื. ืืฉืืื ืืืจืื ืืืกืคืจ ืฆืืชืื ืืื ืืฉืคืจ ืืช ืืืืื ืืช ืืืืืืฉืืช. ืื ืฆืืืช ืืืื ืืืฆืข ืืช ืื ืืชืคืงืืืื ืฉื ืืืฉืืื, ืืื ืืคืจืืกืืช ืืืืงืฃ ืืืื, ืืฆืืชืื ืืืงืฆืืช ืืืจื ืืื ืืฉืืืืช ืืืืืืช.
ืกืืื ืฆืืืช ืืฉืืื:
- ืฆืืืช ืืืกืืจ - ืื ืื ืืช ืืืฉืืื, ืืฉ ืฆืืจื ืืฉืืืฉื ืืคืืืช, ืืื ืชืืื ืคืขืื;
- ืฆืืืช ื ืชืื ืื - ืืืืกื ื ืชืื ืื ืืืื ืืงืก ืืืืฆืข ืืืชื ืืฉืืืืช ืฉืื ืืช;
- ingest node - ืืืจืื ืฆืื ืืจืืช ืืืืจืช ื ืชืื ืื ืืคื ื ืืืื ืืงืก;
- ืชืืืื ืฆืืืช - ื ืืชืื ืืงืฉืืช, ืฆืืฆืื ืฉืื ืขืืืื ืืืืคืืฉ, ืชืืืื ืืื ืืงืก ืืืื ื;
- ืฆืืืช ืืชืจืื - ืืคืขืืช ืืฉืืืืช ืืชืจืื;
- ืฆืืืช ืืืืืช ืืืื ื - ืขืืืื ืืฉืืืืช ืืืืืช ืืืื ื.
ืืชืจืฉืื ืฉืืืื ืืจืื ืืืฆื ื ืชืื ืื ืืืืืกื ืื ืืืฉืืคืืื ืขื ืคื ื ืฆืืชืื ืืื ืืืฉืื ืืืื ืืช ื ืชืื ืื ืืืืื ืืืชืจ.
ืื ืชืื ืื ืฉื ืื ืจืคืืืงื ืืืืืกื ืื ืืืื ืืงืก ืืคืื, ืืชืจืฉืื ืฉืืืื ืืจืื ืืืฆื ืื ืงืืจื:
ืืชืงื ื
ื ืืชื ืืจืืืช ืคืจืืื
$ helm install efk-stack stable/elastic-stack --set logstash.enabled=false --set fluentd.enabled=true --set fluentd-elastics
ืืืกื ืืช PLG
ืื ืชืชืคืืื ืื ืื ืชืืฆืื ืืช ืจืืฉื ืืชืืืืช ืืืื, ืืืืืื ืฉืืื ืืืืข ืืืชืจ ืืฉื Grafana Loki. ืืื ืืงืจื, ืืืกื ืืช ืื ืฆืืืจืช ืคืืคืืืจืืืช ืืืืืื ืฉืืื ืืฉืชืืฉืช ืืคืชืจืื ืืช ืืื ืืื ืืืืืื. ืืืื ืืืจ ืฉืืขืชื ืขื Grafana, ืืื ืืืืื ืคืืคืืืจื. ืืืฆืจืื, ืืืฉืจืืช ืคืจืืืชืืืก, ืคืืชืื ืืช Loki, ืืขืจืืช ืฆืืืจืช ืืืื ืื ืืขืืช ืืืฆืืขืื ืืืืืื ืื ืืชื ืช ืืืจืืื ืืืคืงืืช. ืืืงื ืืื ืืงืก ืจืง ืืช ืืืื-ื ืชืื ืื, ืื ืืช ืืชืื ืืขืช ืขืฆืื, ืคืชืจืื ืืื ื ืืืืคืฉืจ ืืช ืื ืงื ืืฉืืืืฉ ืืืกืืื ื.
ืคืจืืืืืื - ืกืืื ืืฉืืืืช ืืืื ืื ืืืขืจืืช ืืืคืขืื ืืืฉืืื Loki. ืืจืคื ื ืืื ืืื ืืืืื ืืืืืกืก ืขื ื ืชืื ืื ืฉื ืืืงื.
ืืืงื ืื ืื ืขื ืืืชื ืขืงืจืื ืืช ืืื ืคืจืืืชืืืก, ืื ืฉืืืคื ืืืชื ืืืชืืื ืืืื ืืืืกืื ืื ืืชืื ืืืื ื Kubernetes.
ืืืจืืืืืช ืืืงื
ื ืืชื ืืืคืขืื ืืช Loki ืืชืืืื ืืืื ืื ืืชืืืืืื ืืจืืืื, ืื ืฉืืืคืฉืจ ืฉืื ืื ืงื ื ืืืื ืืืคืงื.
ืื ืืืื ืืขืืื ืื ืืืืฉืื ืืื ืืืืื ืื ืืฉืืจืืช ืืืงืจื. ืืคืขืื ืืชืืืื ืืืื ืืืืื ืืืืืช ืฉืืืืฉืืช ืืคืืชืื ืืงืืื ืื ืื ืืืืจ ืงืื. ืืืืฉืื ืชืขืฉืืืชื ืืขืืืก ืขืืืื ื ืืชื ืืืจืืื, ืืืืืฅ ืืืฉืชืืฉ ืืืคืฉืจืืช ืืืืงืจื-ืฉืืจืืช. ืื ืชืืืื ืืืชืืื ืืืงืจืืืช ื ืชืื ืื ืืืคืจืืื, ืื ืฉื ืืชื ืืืืื ื ืืืชื ืืืืชืืื ืืืชื ืืคื ืืฆืืจื.
ืืืื ื ืกืชืื ืขื ืืืจืืืืงืืืจื ืฉื ืืขืจืืช ืืืกืืฃ ืืืืื ืื ืืืื ืืืืื ืก ืืคืจืืื:
ืืื ื ืืชืืืืจ (ืืจืืืืงืืืจืช ืืืงืจื-ืฉืืจืืช):
ืจืืืืื:
ืคืจืืืืืื - ืกืืื ืืืืชืงื ืืฆืืชืื (ืืืขืจืืช ืฉื ืฉืืจืืชืื), ืืื ืืกืืจ ืืืื ืื ืืืฉืืืืช ืื ืืืฉ ื-Kubernetes API ืืื ืืืฉืื ืืื ื ืชืื ืื ืฉืืชืืืื ืืช ืืืืื ืื. ืืืืจ ืืื ืืื ืฉืืื ืืช ืืืืื ืืฉืืจืืช ืืืงื ืืจืืฉื. ืืืคืื ืืื ื ืชืื ืื ืชืืื ืืืืชื ืืืื ืชืืื ืืื ืคืจืืืชืืืก.
ืืคืืฅ - ืืคืืฅ ืฉืืจืืชืื ืฉืคืืขื ืืืืืจ. ืืื ืืขืื ืืืืืื ื ืจืฉืืืืช, ืืื ืืืจื ื ืชืื ืื ื ืื ืกืื, ืืืืก ืืืชื ืืืืืงืื ืืฉืื ืืืืขืื. ืืกืคืจ ืืืืจื ื ืชืื ืื ืคืืขืืื ืื ืืื ืืช, ืื ืืืื ืื ืืฉืืืืื ืืืจื ื ืชืื ืื ื ืื ืก ืืื ืฆืจืืืื ืืืืคืืข ืจืง ืืืื ืืื ืขืืืจ ืื ืืืืืงืื ืฉืื. ืื ืืืืจืื ืืืืขืช ืฉื ืืืืจืื ืืืืืื ืจืฆืืฃ. ืขืืืจ ืกืืืื ืืช ืชืงืืืช ืืืชืืจืืช, ืื ื ืขืฉื n ืคืขืืื (3 ืื ืื ืืืืืจ).
ืืื ืืกืืจ - ืืงืื ืฉืืจืืช. ืืืืงื ื ืชืื ืื ืืืืขืื ืืืืกืื ืขื ืืืื ืื ืฉื ืืกืคื. ืืจืืข ืฉืืืืฉ ืืืืื ืืกืคืืง, ืืืืืง ื ืฉืืฃ ืืืกื ืื ืชืื ืื. ืืื ื ืชืื ืื ืขืืืจืื ืืืื ืืงืก, ืื ืชืื ืื ืืืืืง ืืืืื ืขืืืจืื ื-Chunks (ืืืจื ืืื ืืืกืื ืืืืืืงืืื). ืืืืจ ืืืืคืืก, ืืืงืื ืืืฆืจ ืืืืง ืืืฉ ืฉืื ืืชืืืกืคื ืขืจืืื ืืืฉืื.
ืืื - ืืกื ื ืชืื ืื, DynamoDB, Cassandra, Google BigTable ืืื'.
ืืืฉืื - ืืืืงื ืืืื ืืฆืืจื ืืืืกื, ืืืืืืกื ืื ืืืจื ืืื ืืืืกืื ืืืืืืงืืื, ืืืฉื, S3.
ืฉืืืืชื - ื ืชืื ืืงืจืืื ืฉืขืืฉื ืืช ืื ืืขืืืื ืืืืืืืืช. ืืื ืืกืชืื ืขื ืืืื ืืืื ืืืืชืืช ืืืื, ืืืืืจ ืืื ืืืื ืืช ืืืื ืืงืก ืืื ืืืฆืื ืืชืืืืช. ืืืืจ ืืื, ืืื ืงืืจื ืืืืงืื ืฉื ื ืชืื ืื ืืืกื ื ืืืชื ืืื ืืืฉืื ืืช ืืชืืฆืื.
ืขืืฉืื ืืืื ื ืจืื ืืื ืืคืขืืื.
ืืชืงื ื
ืืืจื ืืงืื ืืืืชืจ ืืืชืงืื ื-Kubernetes ืืื ืืืฉืชืืฉ ืืืื. ืื ื ืื ืืืื ืฉืืืจ ืืชืงื ืช ืืืืืจืช ืืืชื (
ืืืกืฃ ืืืืจ ืืืชืงื ืืืกื ืืช.
$ helm repo add loki https://grafana.github.io/loki/charts
$ helm repo update
$ helm upgrade --install loki loki/loki-stack --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false
ืืืื ืืื ืืืืื ืื ืืืืืื ืืืฆืื ื ืชืื ืื ื-Prometheus ืขืืืจ ืืืื Etcd ืื-Loki ืขืืืจ ืืืื ื Pod Etcd.
ืขืืฉืื ืืืื ื ืืื ืืืจืืืืงืืืจื ืฉื ืฉืชื ืืืขืจืืืช, ืืื ื ืฉืืื ืืช ืืืืืืืช ืฉืืื ืื ืขื ืื.
ืืฉืืืื
ืฉืคืช ืฉืืืืชื
Elasticsearch ืืฉืชืืฉ ื-Query DSL ืืฉืคืช ืฉืืืืชืืช Lucene ืืื ืืกืคืง ืืืืืืช ืืืคืืฉ ืืืงืกื ืืื. ืืื ืื ืืข ืืืคืืฉ ืืืืกืก ืืืืง ืขื ืชืืืืช ืืคืขืืืื ืจืืื. ืืขืืจืชื ืชืืืื ืืืคืฉ ืืคื ืืงืฉืจ ืืืืืื ืืคื ืจืืืื ืืืืช.
ืืฆื ืืฉื ื ืฉื ืืืืขืช ื ืืฆื LogQL, ืืฉืืืืฉ ืืืืงื, ืืืืจืฉ ืฉื PromQL (ืฉืคืช ืืฉืืืืชื ืฉื ืคืจืืืชืืืก). ืืื ืืฉืชืืฉ ืืชืื ืืืื ืืื ืืกื ื ืืืืืืจ ื ืชืื ื ืืืื. ืืคืฉืจ ืืืฉืชืืฉ ืืืื ืืืคืจืืืจืื ืืืืฉืืื ืืืชืืืจ
ืืืืืื ืฉืืืืชืืช ืืืืงื ืืฉืืืืืช ืืชืืืืช, ืงื ืืชืื ืืืชื ืขื ืืืืื, ืืืชืืฆืื ืืื ืงื ืืืชืจ ืืืจืื ืืืชื ื ืืืืจ ืชืคืขืืื.
ืืืจืืืืช
ืฉืชื ืืขืจืืืืช ื ืืชื ืืช ืืืจืืื ืืืคืงืืช, ืื ืืืงื ืืงื ืขื ืื ืืืืืื ืฉืืฉ ืื ื ืชืืื ืงืจืืื ืืืชืืื ื ืคืจืืื ืืืจืืืืงืืืจืช ืืืงืจื-ืฉืืจืืช. ื ืืชื ืืืชืืื ืืืฉืืช ืืช Loki ืืื ืืืชืืื ืืฆืจืืื ืฉืื ืื ืืชื ืืืฉืชืืฉ ืื ืขืืืจ ืืืืืืช ืืืืืืช ืืืื ืฉื ื ืชืื ื ืืืื.
ืจืืืื ืืืจืืช
ืจืืืื ืืืจืืช ืืืฉืืื ืืื ื ืืฉื ื ืคืืฅ ืืงืืฆืืจ OPEX, ืฉืชื ืืขืจืืืืช ืืกืคืงืืช ืจืืืื ืืืจืืช. ืืฉ ืืื ืขืืืจ Elasticsearch
ืขืืืช
ืืืงื ืืกืืื ื ืืืื ืืฉื ืืขืืืื ืฉืืื ืื ืืืกืืฃ ืืช ืื ืชืื ืื, ืืื ืจืง ืืช ืืืื ื ืชืื ืื. ืื ืืฉืื
ืืกืงื ื
ื ืืชื ืืืฉืชืืฉ ืืขืจืืืช ื-EFK ืืืืืื ืืืจืืช, ืืกืคืง ืืืืฉืืช ืืจืืืช ืืืืฉืง Kibana ืขืฉืืจ ืืชืืื ืืช ืื ืืชืื, ืืืืื ืืฉืืืืชืืช. ื ืืชื ืืฉืคืจ ืืืช ืขืื ืืืชืจ ืขื ืืื ืืืืืืช ืืืืืช ืืืื ื.
ืืืกื ืืช Loki ืฉืืืืฉืืช ืืืขืจืืช ืืืงืืืืืืช ืฉื Kubernetes ืืืื ืื ืื ืื ืืืืื ืืืื ื ืชืื ืื ืฉืื. ืืชื ืืืื ืืงืืืช ืืชืื ื ืชืื ืื ืื ืืืืจ ืืืชืืกืก ืขื ืกืืจืืช ืืื ืืืจืคืื ื ืืืืืื ืื.
ืืื ืื ืืืข ืืขืืืช ืืืืืกืื ืืืื ืื ืืืืื ืืจืื, Loki ืืืืื ื ืงืืืช ืื ืืกื ืืฆืืื ืช ืืคืชืจืื ืืช ืขื ื.
ืืฉื ื ืืืืจื ืืืืืช ื ืืกืคืืช ืืฉืืง - ืืืงื ืขืฉืืืืช ืืืืืช ืืืืืช ืืืชืจ ืขืืืจื. ืืืืืื, ื-GKE ืืฉ ืืื ืืืจืฆืื ืฉื Stackdriver ืืืกืคืงืช ืคืชืจืื ื ืืืืจ ืืฆืืื. ืื ืืืื ื ืืืชื ืื ืืชืื ืฉืื ื ืืืืืจ ืื.
ืงืืฉืืจืื:
https://github.com/grafana/loki/blob/master/docs/overview/comparisons.md https://www.elastic.co/blog/found-elasticsearch-from-the-bottom-up https://www.elastic.co/blog/found-elasticsearch-in-production/
ืืืืืจ ืชืืจืื ืืืืื ืืืืจ ืขื ืืื ืขืืืืื
ืืงืืจ: www.habr.com