. . , â , , .
. : EFK (Elasticsearch) PLG (Loki) .
EFK
, ELK EFK. : Elasticsearch ( ), Logstash FluentD ( ) Kibana .
:
Elasticsearch â . , . JSON, . , , Apache Lucene.
FluentD â , . JSON . , , , .
Kibana â Elasticsearch , , , , .
Elasticsearch
Elasticsearch . . , .
:
- aster node â , , ;
- data node â ;
- ingest node â ;
- coordinating node â , , ;
- alerting node â ;
- machine learning node â .
, .
, , :
$ helm install efk-stack stable/elastic-stack --set logstash.enabled=false --set fluentd.enabled=true --set fluentd-elastics
PLG
, , Grafana Loki. , . , , Grafana, . , Prometheus, Loki, . Loki , , .
Promtail â Loki. Grafana â Loki.
Loki , Prometheus, Kubernetes.
Loki
Loki , , .
, , . . . , .
:
â ( ):
:
Promtail â , ( ), API Kubernetes , . Loki. , Prometheus.
Distributor â -, . , . , , . . n (3, ).
Ingester â -. . , . , Chunks ( ). , .
Index â , DynamoDB, Cassandra, Google BigTable .
Chunks â , , , S3.
Querier â , . , . .
.
Kubernetes helm. , ( ! . )
.
$ 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 Etcd.
, .
Elasticsearch Query DSL Lucene query language, . . .
â LogQL, Loki, PromQL (Prometheus query language). . , , Elastic language.
Loki â , .
, Loki , , . Loki .
â OPEX, . Elasticsearch : , , , . Loki HTTP X-Scope-OrgID.
Loki - , , . (), , Elasticsearch.
EFK , Kibana , . .
Loki Kubernetes - . Grafana .
, 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/
â , (Kubernetes, DevOps, Docker, Ansible, Ceph, SRE, Agile)