Salutate, Khabrovites! In antecessum initium novae dilectionis ad cursum
Hic articulus est Lokii brevis introductio. Project Loki
Pelagus spiritus Loki erat
- per pittacia congregem notitia
- humilis resource consummatio
Ad Promethei principia revertemur et eius usus exempla quaedam in Kubernetis contextu dabimus.
Pauca de Prometheo
Ut plene intellegas quomodo Lokius operatus sit, Gravis est gradum retro capere et Prometheum aliquantulum revisere.
Una e notis Promethei est extractio metri e punctis collectis (per exportatores) et ea in TSDB (Tempus Series Data Base, temporis series database) addito metadata in forma pittacii.
Quid faciam
Nuper Prometheus de facto vexillum in mundo vasorum et Kubernetes factus est: eius institutionem valde simplex est, et Kubernetes botrus initio finem Promethei habet. Prometheus etiam metricas ex applicationibus extrahere potest in vase in vase servato specificas notas explicandas. Facillime ergo applicationis vigilantia ad efficiendum.
Proh dolor, nulla adhuc turnkey solutionis causarum administrationis est, et tibi solutionem invenire debes:
- managed nubes ministerium ad centralizing ligna (AWS, caeruleum vel Google)
- magna servitium "pro servitio monitoring" (exempli gratia: Datadog)
- tuum stipes collectio muneris faciendi.
Pro tertia optione, elastica inquisitione tradito usus sum, quamvis non semper gavisus sum cum ea (praesertim gravitati et multiplicitati suae paroeciali).
Lokius designatus est facilis ad efficiendum secundum sequentia principia;
- facile committitur
- paucas opes consumunt
- sine speciali sustentationem operari sine
- ut sit addendi ad Promethei auxilium cum cimex investigationum
Sed haec simplicitas in aliquorum mediorum dispendio venit. Unus ex his contentus non est indicare. Ideo textus inquisitionis non multum efficax vel dives est nec te permittit ut statistica in argumento textus retinere possit. Sed quia Lokius cum Prometheo aequivalens et complementum esse vult, hoc incommodum non est.
Inquisitio incident
Ut melius intelligatur quare Loki indexing non indiget, revertamur ad methodum inquisitionis incidentis adhibita a Loki tincidunt:
1 erecti β 2 Dashboard β 3 Adhoc Query β 4 Stipes aggregatio β 5 Distributa Tracing β 6 Fix!
(1 Admonitio β 2 Dashboard β 3 Adhoc Query β 4 Stipes aggregatio β 5 Distribuit Tracing β 6 Redintegro!)
Idea est quod quaedam vigilantia (Slack Notification, SMS, etc.) et postea:
- at Grafana dashboards
- vide Servitium metri (exempli gratia in Prometheo)
- at iniuriarum viscus (exempli gratia, in Elasticsearch)
- perhaps Vide vestigia distributa (Jaeger, Zipkin, etc.)
- postremo problema originale figere.
Hic, in Grafana + Prometheus + Elasticsearch + Zipkin acervus, quattuor diversis instrumentis uti debebis. Ut tempus conserves, satis belle erit posse omnes hos gradus uno instrumento facere: Grafana. Notatu dignum est hunc accessum ad investigationes in Grafana ex quo versio consecuta est 6. Ita fiet, ut Prometheus e Grafana recta notitia accedere possit.
Explorer velum scissum est inter Prometheum et Lokium
Ex hoc velo, inspicere potes trabes in Loki ad Prometheum pertinentes metricas conceptus screen scindendi utentes. Cum versione 6.5, Grafana permittit te vestigium id in Loki viscus logorum sequi nexus cum instrumentis instrumentis distributis ad ventus (Jaeger).
Loki loci test
Facillima via Lokii localiter probandi est uti compositorio. Scapus docker-compositorium in reposito Loki situm est. Potes repositio cum sequenti imperio git
:
$ git clone https://github.com/grafana/loki.git
Tunc debes mutare directorium productionis;
$ cd production
Post hoc, imagines recentissimas Docker licebit accipere:
$ docker-compose pull
Denique Loki acervus cum sequenti mandato incepit:
$ docker-compose up
Loki architectura
Hic parvum schemate de architectura Loki est:
Loki Architecture Principia
Cliens telae applicationes in servo decurrit, Promtail ligna colligit et ad Lokium mittit, client interretialis etiam metadata ad Lokium mittit. Lokius omnia aggregat et ad Grafanam transit.
Loki currit. Ut partes in promptu considerent, hoc mandatum currunt;
$ docker ps
In casu recenter Docker inauguratus, mandatum sequens exitum reddere debet:
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
Composita sequentia videmus:
- Promtail: centralizing agente reus omnia
- Grafana, celebre ashboardday instrumentum
- Loki: data centralem daemonem
Cum pars infrastructurae classicae (exempli gratia in machinis virtualibus fundatur), Promtail agens in unaquaque machina explicari debet. Grafana et Loki in eadem machina institui possunt.
Instruere ad Kubernetes
Partes insertas Loki in Kubernetes hoc modo erunt:
- daemonSet explicandi Promtail agentis in singulis machinis in servo botri
- Loki instruere
- et ultima est instruere Grafana.
Feliciter Loki praesto est ut sarcina Helm, quod facile explicatur.
Installation per Heml
Iam tibi Heml inauguratus est. Deponi potest e promptuario GitHub incepti. Instituitur extrahendo archivum architecturae opportunum ad clavum addendo $PATH
.
Note: versio 3.0.0 Helm nuper dimissa est. Cum multae in eo mutationes fuerint, admonetur lector ut paulo ante utatur..
Addens fontem Helm
Primus gradus est repositorium "loki" addere cum mandato sequenti:
$ helm add loki https://grafana.github.io/loki/charts
Postea, quaerere fasciculos "loki" nominatos potes.
$ helm search loki
effectus:
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...
Hae fasciculi sequentes notas habent:
- ΠΏΠ°ΠΊΠ΅Ρ loki/loki tantum aequet Loki servo
- ΠΏΠ°ΠΊΠ΅Ρ loki / fluente-bit sino vos explicandi DaemonSet usura disertus bin ad colligunt omnia pro Promtail
- ΠΏΠ°ΠΊΠ΅Ρ loki / promtail contineat iniuriarum collectione agente
- ΠΏΠ°ΠΊΠ΅Ρ loki/loki-ACERVUSpermittit ut Lokius una cum Promtail statim explicandam.
installing Loki
Ad Lokium ad Kubernetes explicandam, hoc mandatum currite in spatio spatii "vigilandi";
$ helm upgrade --install loki loki/loki-stack --namespace monitoring
Ut salvum facere disco, optio adde --set loki.persistence.enabled = true:
$ helm upgrade --install loki loki/loki-stack
--namespace monitoring
--set loki.persistence.enabled=true
Note: si vis Grafana explicari simul, adde modulum
--set grafana.enabled = true
Cum hoc praeceptum curris, hoc output habebis:
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.
Siliquae statum in spatiis "magna" spatii intuentes, videre possumus omnia explicari:
$ kubectl -n monitoring get pods -l release=loki
effectus:
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
Siliquae omnes currunt. Nunc tempus aliquam volutpat!
Grafana connectens
Ut Grafana sub Kubernetes coniungere, cuniculum suum podagra aperire debes. Hoc mandatum est ut Grafana vasculum 3000 portu aperiat;
$ kubectl -n port-forward monitoring svc/loki-grafana 3000:80
Alius momenti punctum opus est tesseram administratoris Grafanae recuperandae. Tesseras secreta loki-grafana
in agro .data.admin-user
in base64 format.
Ad illud restituendum, sequenti mandato currere debes;
$ kubectl -n monitoring get secret loki-grafana
--template '{{index .data "admin-password" | base64decode}}'; echo
Hoc password utere in conjunctione cum administratore defalta ratione (admin).
Lokius notitia fontis definitio in Grafana
Imprimis fac fontem datae Loki (Configurationis / Datasource) creatum est.
Hic exemplum est:
Exemplum constituendi fons est data Loki
Strepitando in "teste" probare potes nexum cum Loki.
Petitiones ad Loki
Nunc ire ad Grafanam et ad sectionem "explorare". Tigna accepta ab vasis, Lokius metadata ab Kubernetes addit. Sic igitur tigna vasis specifici fieri potest considerari.
Exempli gratia, receptaculum promtail deligere, sequenti interrogatione uti potes: {container_name = "promtail"}
.
Noli oblivisci ut Lokium hic quoque fontem eligat.
Haec quaestio reddet continens activitatem hoc modo:
Query eventum in Grafana
Addit ad ashboardday
Incipiens cum Grafana 6.4, fieri potest ut notitias logas directe in ashboardday. Post hoc, usor celeriter poterit inter numerum postulationum in loco suo ad vestigia applicanda transibit.
Infra exemplum est ashboardday qui hanc commercium instrumentat;
Sample ashboardday cum Prometheo metrice et Loki acta
Futurum Loki
Loki usus sum reversus mense Maio/Iuni cum versione 0.1. Versiones 1 hodie iam dimissa est, nec non 1.1 et 1.2.
Fatendum est versionem 0.1 satis stabilem non fuisse. Sed 0.3 iam vera signa maturitatis demonstraverunt, et versiones sequentes (0.4, deinde 1.0) tantum hanc impressionem corroboraverunt.
Post 1.0.0, nemo excusationem habere potest quin hoc mirifico instrumento utatur.
Meliora praeterea non debent esse circa Lokium, sed potius integratio eius cum egregio Grafana. In facto, Grafana 6.4 iam bonam integrationem cum dashboards habet.
Grafana 6.5, quae nuper dimissa est, ulteriorem hanc integrationem emendavit per automatice contenta lignorum in forma JSON agnoscens.
Vide infra parvum exemplum huius mechanismi ostendit:
Usura Loki chordis in Grafana rendered
Fieri potest uti unus e JSON arvis, ex gr.
- Nexus ad instrumentum externum
- iniuriarum contentus eliquare
Exempli gratia, deprime in traceId ad Zipkin vel Jaeger ire.
Ut solet, tuas commentarios expectamus et te invitamus
Source: www.habr.com