ื›ื ื™ืกื” ืœ-Kubernetes: EFK ื ื’ื“ PLG

ื›ื ื™ืกื” ืœ-Kubernetes: EFK ื ื’ื“ PLG

ื ื™ื˜ื•ืจ ื”ืคืš ืœืžืจื›ื™ื‘ ื—ืฉื•ื‘ ืžืื•ื“ ื‘ืฆืžื™ื—ื” ืฉืœ ืคืชืจื•ื ื•ืช ืขื ืŸ ื›ื›ืœ ืฉื”ืžื•ืจื›ื‘ื•ืช ืฉืœ ืžืขืจื›ื•ืช ืžื‘ื•ื–ืจื•ืช ืขื•ืœื”. ื™ืฉ ืฆื•ืจืš ืœื”ื‘ื™ืŸ ืืช ื”ื”ืชื ื”ื’ื•ืช ืฉืœื”ื. ืื ื• ื–ืงื•ืงื™ื ืœื›ืœื™ื ื ื™ืชื ื™ื ืœื”ืจื—ื‘ื” ืฉื™ื›ื•ืœื™ื ืœืืกื•ืฃ ื ืชื•ื ื™ื ืžื›ืœ ื”ืฉื™ืจื•ืชื™ื - ื•ืœืกืคืง ืœืžื•ืžื—ื™ื ืžืžืฉืง ืื—ื“ ืขื ื ื™ืชื•ื— ื‘ื™ืฆื•ืขื™ื, ื”ื“ื’ืžืช ืฉื’ื™ืื•ืช, ื–ืžื™ื ื•ืช ื•ื™ื•ืžื ื™ื.

ืื•ืชื ื›ืœื™ื ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ื™ืขื™ืœื™ื ื•ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื™ื. ื‘ืžืืžืจ ื–ื”, ื ื‘ื—ืŸ ืฉืชื™ ืขืจื™ืžื•ืช ื˜ื›ื ื•ืœื•ื’ื™ื” ืคื•ืคื•ืœืจื™ื•ืช: EFK (Elasticsearch) ื•-PLG (Loki) ื•ื ื‘ื—ืŸ ืืช ื”ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ื•ื”ื”ื‘ื“ืœื™ื ืฉืœื”ืŸ.

ืžื—ืกื ื™ืช EFK

ืื•ืœื™ ื›ื‘ืจ ืฉืžืขืชื ืขืœ ื”-ELK ืื• EFK ื”ืคื•ืคื•ืœืจื™ื™ื ืžืื•ื“. ื”ืขืจื™ืžื” ืžื•ืจื›ื‘ืช ืžื›ืžื” ื—ืœืงื™ื ื ืคืจื“ื™ื: Elasticsearch (ืื—ืกื•ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื), Logstash ืื• FluentD (ืื™ืกื•ืฃ ื•ืฆื™ืจื•ืฃ ื™ื•ืžื ื™ื) ื•-Kibana ืœื”ื“ืžื™ื”.

ื–ืจื™ืžืช ืขื‘ื•ื“ื” ื˜ื™ืคื•ืกื™ืช ื ืจืื™ืช ื›ืš:

ื›ื ื™ืกื” ืœ-Kubernetes: EFK ื ื’ื“ PLG

Elasticsearch - ืื—ืกื•ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื ืžื‘ื•ื–ืจ ืขื ื—ื™ืคื•ืฉ ื•ื ื™ืชื•ื— ื‘ื–ืžืŸ ืืžืช. ืคืชืจื•ืŸ ืžืฆื•ื™ืŸ ืœื ืชื•ื ื™ื ื—ืฆื™ ืžื•ื‘ื ื™ื ื›ื’ื•ืŸ ื™ื•ืžื ื™ื. ื”ืžื™ื“ืข ื ืฉืžืจ ื›ืžืกืžื›ื™ JSON, ืžืชื•ื•ืกืฃ ื‘ื–ืžืŸ ืืžืช ื•ืžื•ืคืฅ ืขืœ ืคื ื™ ืฆืžืชื™ ืืฉื›ื•ืœ. ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืื™ื ื“ืงืก ื”ืคื•ืš, ื”ืžื›ื™ืœ ืืช ื›ืœ ื”ืžื™ืœื™ื ื”ื™ื™ื—ื•ื“ื™ื•ืช ื•ื”ืžืกืžื›ื™ื ื”ืžืฉื•ื™ื›ื™ื ืœื—ื™ืคื•ืฉ ื‘ื˜ืงืกื˜ ืžืœื, ืืฉืจ ื‘ืชื•ืจื• ืžื‘ื•ืกืก ืขืœ ืžื ื•ืข ื”ื—ื™ืคื•ืฉ Apache Lucene.

ืฉื•ื˜ืฃD ื”ื•ื ืื•ืกืฃ ื ืชื•ื ื™ื ื”ืžืื—ื“ ื ืชื•ื ื™ื ื‘ืขืช ืื™ืกื•ืฃ ื•ืฆืจื™ื›ื” ืฉืœื”ื. ื”ื•ื ืžื ืกื” ืœืืจื’ืŸ ืืช ื”ื ืชื•ื ื™ื ื‘-JSON ื›ื›ืœ ื”ืืคืฉืจ. ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœื• ื ื™ืชื ืช ืœื”ืจื—ื‘ื”, ื™ืฉ ืขื•ื“ ืžืื•ืช ื”ืจื—ื‘ื•ืช ืฉื•ื ื•ืช, ื‘ืชืžื™ื›ืช ื”ืงื”ื™ืœื”, ืœื›ืœ ืื™ืจื•ืข.

ืงื™ื‘ืื ื” - ื›ืœื™ ืœื”ื“ืžื™ื™ืช ื ืชื•ื ื™ื ืขื‘ื•ืจ Elasticsearch ืขื ื™ื›ื•ืœื•ืช ื ื•ืกืคื•ืช ืฉื•ื ื•ืช, ืœืžืฉืœ ื ื™ืชื•ื— ืกื“ืจื•ืช ื–ืžืŸ, ื ื™ืชื•ื— ื’ืจืคื™ื, ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืขื•ื“.

ืืจื›ื™ื˜ืงื˜ื•ืจืช Elasticsearch

ื ืชื•ื ื™ ืืฉื›ื•ืœ Elasticsearch ืžืื•ื—ืกื ื™ื ื‘ืคืจื™ืกื” ืขืœ ืคื ื™ ื›ืœ ื”ืฆืžืชื™ื ืฉืœื•. ืืฉื›ื•ืœ ืžื•ืจื›ื‘ ืžืžืกืคืจ ืฆืžืชื™ื ื›ื“ื™ ืœืฉืคืจ ืืช ื”ื–ืžื™ื ื•ืช ื•ื”ื’ืžื™ืฉื•ืช. ื›ืœ ืฆื•ืžืช ื™ื›ื•ืœ ืœื‘ืฆืข ืืช ื›ืœ ื”ืชืคืงื™ื“ื™ื ืฉืœ ื”ืืฉื›ื•ืœ, ืื‘ืœ ื‘ืคืจื™ืกื•ืช ื‘ื”ื™ืงืฃ ื’ื“ื•ืœ, ืœืฆืžืชื™ื ืžื•ืงืฆื•ืช ื‘ื“ืจืš ื›ืœืœ ืžืฉื™ืžื•ืช ื‘ื•ื“ื“ื•ืช.

ืกื•ื’ื™ ืฆื•ืžืช ืืฉื›ื•ืœ:

  • ืฆื•ืžืช ืžืืกื˜ืจ - ืžื ื”ืœ ืืช ื”ืืฉื›ื•ืœ, ื™ืฉ ืฆื•ืจืš ื‘ืฉืœื•ืฉื” ืœืคื—ื•ืช, ืื—ื“ ืชืžื™ื“ ืคืขื™ืœ;
  • ืฆื•ืžืช ื ืชื•ื ื™ื - ืžืื—ืกืŸ ื ืชื•ื ื™ื ื‘ืื™ื ื“ืงืก ื•ืžื‘ืฆืข ืื™ืชื ืžืฉื™ืžื•ืช ืฉื•ื ื•ืช;
  • ingest node - ืžืืจื’ืŸ ืฆื™ื ื•ืจื•ืช ืœื”ืžืจืช ื ืชื•ื ื™ื ืœืคื ื™ ื”ืื™ื ื“ืงืก;
  • ืชื™ืื•ื ืฆื•ืžืช - ื ื™ืชื•ื‘ ื‘ืงืฉื•ืช, ืฆืžืฆื•ื ืฉืœื‘ ืขื™ื‘ื•ื“ ื”ื—ื™ืคื•ืฉ, ืชื™ืื•ื ืื™ื ื“ืงืก ื”ืžื•ื ื™;
  • ืฆื•ืžืช ื”ืชืจืื” - ื”ืคืขืœืช ืžืฉื™ืžื•ืช ื”ืชืจืื”;
  • ืฆื•ืžืช ืœืžื™ื“ืช ืžื›ื•ื ื” - ืขื™ื‘ื•ื“ ืžืฉื™ืžื•ืช ืœืžื™ื“ืช ืžื›ื•ื ื”.

ื”ืชืจืฉื™ื ืฉืœื”ืœืŸ ืžืจืื” ื›ื™ืฆื“ ื ืชื•ื ื™ื ืžืื•ื—ืกื ื™ื ื•ืžืฉื›ืคืœื™ื ืขืœ ืคื ื™ ืฆืžืชื™ื ื›ื“ื™ ืœื”ืฉื™ื’ ื–ืžื™ื ื•ืช ื ืชื•ื ื™ื ื’ื‘ื•ื”ื” ื™ื•ืชืจ.

ื›ื ื™ืกื” ืœ-Kubernetes: EFK ื ื’ื“ PLG

ื”ื ืชื•ื ื™ื ืฉืœ ื›ืœ ืจืคืœื™ืงื” ืžืื•ื—ืกื ื™ื ื‘ืื™ื ื“ืงืก ื”ืคื•ืš, ื”ืชืจืฉื™ื ืฉืœื”ืœืŸ ืžืจืื” ื›ื™ืฆื“ ื–ื” ืงื•ืจื”:

ื›ื ื™ืกื” ืœ-Kubernetes: EFK ื ื’ื“ PLG

ื”ืชืงื ื”

ื ื™ืชืŸ ืœืจืื•ืช ืคืจื˜ื™ื ื›ืืŸ, ืื ื™ ืืฉืชืžืฉ ื‘ืชืจืฉื™ื ื”ื”ื’ื”:

$ 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: EFK ื ื’ื“ PLG

ืœื•ืงื™ ื‘ื ื•ื™ ืขืœ ืื•ืชื ืขืงืจื•ื ื•ืช ื›ืžื• ืคืจื•ืžืชืื•ืก, ืžื” ืฉื”ื•ืคืš ืื•ืชื• ืœืžืชืื™ื ื”ื™ื˜ื‘ ืœืื—ืกื•ืŸ ื•ื ื™ืชื•ื— ื™ื•ืžื ื™ Kubernetes.

ืื“ืจื™ื›ืœื•ืช ืœื•ืงื™

ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืืช Loki ื›ืชื”ืœื™ืš ื‘ื•ื“ื“ ืื• ื›ืชื”ืœื™ื›ื™ื ืžืจื•ื‘ื™ื, ืžื” ืฉืžืืคืฉืจ ืฉื™ื ื•ื™ ืงื ื” ืžื™ื“ื” ืื•ืคืงื™.

ื›ื ื™ืกื” ืœ-Kubernetes: EFK ื ื’ื“ PLG

ื–ื” ื™ื›ื•ืœ ืœืขื‘ื•ื“ ื’ื ื›ื™ื™ืฉื•ื ืžื•ื ื•ืœื™ื˜ื™ ืื• ื›ืฉื™ืจื•ืช ืžื™ืงืจื•. ื”ืคืขืœื” ื›ืชื”ืœื™ืš ื‘ื•ื“ื“ ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ืช ืœืคื™ืชื•ื— ืžืงื•ืžื™ ืื• ืœื ื™ื˜ื•ืจ ืงื˜ืŸ. ืœื™ื™ืฉื•ื ืชืขืฉื™ื™ืชื™ ื•ืขื•ืžืก ืขื‘ื•ื“ื” ื ื™ืชืŸ ืœื”ืจื—ื‘ื”, ืžื•ืžืœืฅ ืœื”ืฉืชืžืฉ ื‘ืืคืฉืจื•ืช ื”ืžื™ืงืจื•-ืฉื™ืจื•ืช. ื”ื ืชื™ื‘ื™ื ืœื›ืชื™ื‘ื” ื•ืœืงืจื™ืืช ื ืชื•ื ื™ื ืžื•ืคืจื“ื™ื, ื›ืš ืฉื ื™ืชืŸ ืœื›ื•ื•ื ืŸ ืื•ืชื ื•ืœื”ืชืื™ื ืื•ืชื ืœืคื™ ื”ืฆื•ืจืš.

ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœ ืžืขืจื›ืช ืื™ืกื•ืฃ ื”ื™ื•ืžื ื™ื ืžื‘ืœื™ ืœื”ื™ื›ื ืก ืœืคืจื˜ื™ื:

ื›ื ื™ืกื” ืœ-Kubernetes: EFK ื ื’ื“ PLG

ื•ื”ื ื” ื”ืชื™ืื•ืจ (ืืจื›ื™ื˜ืงื˜ื•ืจืช ืžื™ืงืจื•-ืฉื™ืจื•ืช):

ื›ื ื™ืกื” ืœ-Kubernetes: EFK ื ื’ื“ PLG

ืจื›ื™ื‘ื™ื:

ืคืจื•ืžื˜ื™ื™ืœ - ืกื•ื›ืŸ ื”ืžื•ืชืงืŸ ื‘ืฆืžืชื™ื (ื›ืžืขืจื›ืช ืฉืœ ืฉื™ืจื•ืชื™ื), ื”ื•ื ืžืกื™ืจ ื™ื•ืžื ื™ื ืžืžืฉื™ืžื•ืช ื•ื ื™ื’ืฉ ืœ-Kubernetes API ื›ื“ื™ ืœื”ืฉื™ื’ ืžื˜ื ื ืชื•ื ื™ื ืฉื™ืชื™ื™ื’ื• ืืช ื”ื™ื•ืžื ื™ื. ืœืื—ืจ ืžื›ืŸ ื”ื•ื ืฉื•ืœื— ืืช ื”ื™ื•ืžืŸ ืœืฉื™ืจื•ืช ืœื•ืงื™ ื”ืจืืฉื™. ืžื™ืคื•ื™ ืžื˜ื ื ืชื•ื ื™ื ืชื•ืžืš ื‘ืื•ืชื ื›ืœืœื™ ืชื™ื•ื’ ื›ืžื• ืคืจื•ืžืชืื•ืก.

ืžืคื™ืฅ - ืžืคื™ืฅ ืฉื™ืจื•ืชื™ื ืฉืคื•ืขืœ ื›ืžืื’ืจ. ื›ื“ื™ ืœืขื‘ื“ ืžื™ืœื™ื•ื ื™ ืจืฉื•ืžื•ืช, ื”ื•ื ืื•ืจื– ื ืชื•ื ื™ื ื ื›ื ืกื™ื, ื“ื•ื—ืก ืื•ืชื ื‘ื‘ืœื•ืงื™ื ื›ืฉื”ื ืžื’ื™ืขื™ื. ืžืกืคืจ ื›ื™ื•ืจื™ ื ืชื•ื ื™ื ืคื•ืขืœื™ื ื‘ื• ื–ืžื ื™ืช, ืืš ื™ื•ืžื ื™ื ื”ืฉื™ื™ื›ื™ื ืœื–ืจื ื ืชื•ื ื™ื ื ื›ื ืก ืื—ื“ ืฆืจื™ื›ื™ื ืœื”ื•ืคื™ืข ืจืง ื‘ืื—ื“ ืžื”ื ืขื‘ื•ืจ ื›ืœ ื”ื‘ืœื•ืงื™ื ืฉืœื•. ื–ื” ืžืื•ืจื’ืŸ ืœื˜ื‘ืขืช ืฉืœ ื›ื™ื•ืจื™ื ื•ื’ื™ื‘ื•ื‘ ืจืฆื™ืฃ. ืขื‘ื•ืจ ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ื•ื™ืชื™ืจื•ืช, ื–ื” ื ืขืฉื” n ืคืขืžื™ื (3 ืื ืœื ืžื•ื’ื“ืจ).

ืื™ื ื’ืกื˜ืจ - ืžืงืœื˜ ืฉื™ืจื•ืช. ื‘ืœื•ืงื™ ื ืชื•ื ื™ื ืžื’ื™ืขื™ื ื“ื—ื•ืกื™ื ืขื ื™ื•ืžื ื™ื ืฉื ื•ืกืคื•. ื‘ืจื’ืข ืฉื”ื’ื•ืฉ ื‘ื’ื•ื“ืœ ืžืกืคื™ืง, ื”ื‘ืœื•ืง ื ืฉื˜ืฃ ืœืžืกื“ ื”ื ืชื•ื ื™ื. ืžื˜ื ื ืชื•ื ื™ื ืขื•ื‘ืจื™ื ืœืื™ื ื“ืงืก, ื•ื ืชื•ื ื™ื ืžื‘ืœื•ืง ื”ื™ื•ืžืŸ ืขื•ื‘ืจื™ื ืœ-Chunks (ื‘ื“ืจืš ื›ืœืœ ืื—ืกื•ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื). ืœืื—ืจ ื”ืื™ืคื•ืก, ื”ืžืงืœื˜ ื™ื•ืฆืจ ื‘ืœื•ืง ื—ื“ืฉ ืฉื‘ื• ื™ืชื•ื•ืกืคื• ืขืจื›ื™ื ื—ื“ืฉื™ื.

ื›ื ื™ืกื” ืœ-Kubernetes: EFK ื ื’ื“ PLG

ืžื“ื“ - ืžืกื“ ื ืชื•ื ื™ื, 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.

ื›ื ื™ืกื” ืœ-Kubernetes: EFK ื ื’ื“ PLG

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ื•ืŸ ื‘ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœ ืฉืชื™ ื”ืžืขืจื›ื•ืช, ื•ื’ื ื ืฉื•ื•ื” ืืช ื”ื™ื›ื•ืœื•ืช ืฉืœื”ืŸ ื–ื• ืขื ื–ื•.

ื”ืฉื•ื•ืื”

ืฉืคืช ืฉืื™ืœืชื”

Elasticsearch ืžืฉืชืžืฉ ื‘-Query DSL ื•ืฉืคืช ืฉืื™ืœืชื•ืช Lucene ื›ื“ื™ ืœืกืคืง ื™ื›ื•ืœื•ืช ื—ื™ืคื•ืฉ ื‘ื˜ืงืกื˜ ืžืœื. ื–ื”ื• ืžื ื•ืข ื—ื™ืคื•ืฉ ืžื‘ื•ืกืก ื•ื—ื–ืง ืขื ืชืžื™ื›ืช ืžืคืขื™ืœื™ื ืจื—ื‘ื”. ื‘ืขื–ืจืชื• ืชื•ื›ืœื• ืœื—ืคืฉ ืœืคื™ ื”ืงืฉืจ ื•ืœืžื™ื™ืŸ ืœืคื™ ืจืœื•ื•ื ื˜ื™ื•ืช.

ื‘ืฆื“ ื”ืฉื ื™ ืฉืœ ื”ื˜ื‘ืขืช ื ืžืฆื LogQL, ื‘ืฉื™ืžื•ืฉ ื‘ืœื•ืงื™, ื”ื™ื•ืจืฉ ืฉืœ PromQL (ืฉืคืช ื”ืฉืื™ืœืชื” ืฉืœ ืคืจื•ืžืชืื•ืก). ื”ื•ื ืžืฉืชืžืฉ ื‘ืชื’ื™ ื™ื•ืžืŸ ื›ื“ื™ ืœืกื ืŸ ื•ืœื‘ื—ื•ืจ ื ืชื•ื ื™ ื™ื•ืžืŸ. ืืคืฉืจ ืœื”ืฉืชืžืฉ ื‘ื›ืžื” ืื•ืคืจื˜ื•ืจื™ื ื•ื‘ื—ืฉื‘ื•ืŸ ื›ืžืชื•ืืจ ื›ืืŸ, ืื‘ืœ ืžื‘ื—ื™ื ืช ื”ื™ื›ื•ืœื•ืช ื”ื•ื ืžืคื’ืจ ืื—ืจื™ ืฉืคื” ืืœืกื˜ื™ืช.

ืžื›ื™ื•ื•ืŸ ืฉืื™ืœืชื•ืช ื‘ืœื•ืงื™ ืžืฉื•ื™ื›ื•ืช ืœืชื’ื™ื•ืช, ืงืœ ืœืชืื ืื•ืชืŸ ืขื ืžื“ื“ื™ื, ื•ื›ืชื•ืฆืื” ืžื›ืš ืงืœ ื™ื•ืชืจ ืœืืจื’ืŸ ืื™ืชืŸ ื ื™ื˜ื•ืจ ืชืคืขื•ืœื™.

ืžื“ืจื’ื™ื•ืช

ืฉืชื™ ื”ืขืจื™ืžื•ืช ื ื™ืชื ื•ืช ืœื”ืจื—ื‘ื” ืื•ืคืงื™ืช, ืืš ืœื•ืงื™ ืžืงืœ ืขืœ ื›ืš ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืœื” ื ืชื™ื‘ื™ ืงืจื™ืื” ื•ื›ืชื™ื‘ื” ื ืคืจื“ื™ื ื•ืืจื›ื™ื˜ืงื˜ื•ืจืช ืžื™ืงืจื•-ืฉื™ืจื•ืช. ื ื™ืชืŸ ืœื”ืชืื™ื ืื™ืฉื™ืช ืืช Loki ื›ื“ื™ ืœื”ืชืื™ื ืœืฆืจื›ื™ื ืฉืœืš ื•ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ืขื‘ื•ืจ ื›ืžื•ื™ื•ืช ื’ื“ื•ืœื•ืช ืžืื•ื“ ืฉืœ ื ืชื•ื ื™ ื™ื•ืžืŸ.

ืจื™ื‘ื•ื™ ื“ื™ืจื•ืช

ืจื™ื‘ื•ื™ ื“ื™ืจื•ืช ื‘ืืฉื›ื•ืœ ื”ื•ื ื ื•ืฉื ื ืคื•ืฅ ื‘ืงื™ืฆื•ืจ OPEX, ืฉืชื™ ื”ืขืจื™ืžื•ืช ืžืกืคืงื•ืช ืจื™ื‘ื•ื™ ื“ื™ืจื•ืช. ื™ืฉ ื›ืžื” ืขื‘ื•ืจ Elasticsearch ื“ืจื›ื™ื ื”ืคืจื“ืช ืœืงื•ื—: ืื™ื ื“ืงืก ื ืคืจื“ ืœื›ืœ ืœืงื•ื—, ื ื™ืชื•ื‘ ืžื‘ื•ืกืก ืœืงื•ื—, ืฉื“ื•ืช ืœืงื•ื— ื™ื™ื—ื•ื“ื™ื™ื, ืžืกื ื ื™ ื—ื™ืคื•ืฉ. ืœืœื•ืงื™ ื™ืฉ ืœืชืžื•ืš ื‘ืฆื•ืจื” ืฉืœ ื›ื•ืชืจืช HTTP X-Scope-OrgID.

ืขืœื•ืช

ืœื•ืงื™ ื—ืกื›ื•ื ื™ ืœืžื“ื™ ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉื”ื•ื ืœื ืžื•ืกื™ืฃ ืืช ื”ื ืชื•ื ื™ื, ืืœื ืจืง ืืช ื”ืžื˜ื ื ืชื•ื ื™ื. ื–ื” ืžืฉื™ื’ ื—ื™ืกื›ื•ืŸ ื‘ืื—ืกื•ืŸ ื•ื–ื™ื›ืจื•ืŸ (ืžื˜ืžื•ืŸ), ืžื›ื™ื•ื•ืŸ ืฉืื—ืกื•ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื ื–ื•ืœ ื™ื•ืชืจ ืžืื—ืกื•ืŸ ื‘ืœื•ืง, ื”ืžืฉืžืฉ ื‘ืืฉื›ื•ืœื•ืช Elasticsearch.

ืžืกืงื ื”

ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืขืจื™ืžืช ื”-EFK ืœืžื’ื•ื•ืŸ ืžื˜ืจื•ืช, ืœืกืคืง ื’ืžื™ืฉื•ืช ืžืจื‘ื™ืช ื•ืžืžืฉืง Kibana ืขืฉื™ืจ ื‘ืชื›ื•ื ื•ืช ืœื ื™ืชื•ื—, ื”ื“ืžื™ื” ื•ืฉืื™ืœืชื•ืช. ื ื™ืชืŸ ืœืฉืคืจ ื–ืืช ืขื•ื“ ื™ื•ืชืจ ืขืœ ื™ื“ื™ ื™ื›ื•ืœื•ืช ืœืžื™ื“ืช ืžื›ื•ื ื”.

ืžื—ืกื ื™ืช Loki ืฉื™ืžื•ืฉื™ืช ื‘ืžืขืจื›ืช ื”ืืงื•ืœื•ื’ื™ืช ืฉืœ Kubernetes ื‘ื’ืœืœ ืžื ื’ื ื•ืŸ ื’ื™ืœื•ื™ ื”ืžื˜ื ื ืชื•ื ื™ื ืฉืœื”. ืืชื” ื™ื›ื•ืœ ื‘ืงืœื•ืช ืœืชืื ื ืชื•ื ื™ื ืœื ื™ื˜ื•ืจ ื‘ื”ืชื‘ืกืก ืขืœ ืกื“ืจื•ืช ื–ืžืŸ ื‘ื’ืจืคืื ื” ื•ื‘ื™ื•ืžื ื™ื.

ื‘ื›ืœ ื”ื ื•ื’ืข ืœืขืœื•ืช ื•ืœืื—ืกื•ืŸ ื™ื•ืžื ื™ื ืœื˜ื•ื•ื— ืืจื•ืš, Loki ืžื”ื•ื•ื” ื ืงื•ื“ืช ื›ื ื™ืกื” ืžืฆื•ื™ื ืช ืœืคืชืจื•ื ื•ืช ืขื ืŸ.

ื™ืฉื ืŸ ืืœื˜ืจื ื˜ื™ื‘ื•ืช ื ื•ืกืคื•ืช ื‘ืฉื•ืง - ื—ืœืงืŸ ืขืฉื•ื™ื•ืช ืœื”ื™ื•ืช ื˜ื•ื‘ื•ืช ื™ื•ืชืจ ืขื‘ื•ืจืš. ืœื“ื•ื’ืžื”, ืœ-GKE ื™ืฉ ืื™ื ื˜ื’ืจืฆื™ื” ืฉืœ Stackdriver ื”ืžืกืคืงืช ืคืชืจื•ืŸ ื ื™ื˜ื•ืจ ืžืฆื•ื™ืŸ. ืœื ื›ืœืœื ื• ืื•ืชื ื‘ื ื™ืชื•ื— ืฉืœื ื• ื‘ืžืืžืจ ื–ื”.

ืงื™ืฉื•ืจื™ื:

ื”ืžืืžืจ ืชื•ืจื’ื ื•ื”ื•ื›ืŸ ืœื”ื‘ืจ ืขืœ ื™ื“ื™ ืขื•ื‘ื“ื™ื ืžืจื›ื– ืื™ืžื•ื ื™ ืกืœืจื - ืงื•ืจืกื™ื ืื™ื ื˜ื ืกื™ื‘ื™ื™ื, ืงื•ืจืกื™ ื•ื™ื“ืื• ื•ื”ื›ืฉืจื” ืืจื’ื•ื ื™ืช ืžืžื•ืžื—ื™ื ืžืชืจื’ืœื™ื (Kubernetes, DevOps, Docker, Ansible, Ceph, SRE, Agile)

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”