Das Kubernetes-Protokollierungssystem startet Loki-Stack neu

Das Kubernetes-Protokollierungssystem startet Loki-Stack neu

Betriebs- und Wartungsgespräch für Scofield-Neulinge

Einführung in Loki


Grafana Loki ist eine Reihe von Komponenten, die einen voll funktionsfähigen Protokollierungsstapel bilden können.
Im Gegensatz zu anderen Protokollierungssystemen basiert Loki auf der Idee, nur Metadaten zu Protokollen zu indizieren: Tags (genau wie Prometheus-Tags). Anschließend werden die Protokolldaten selbst komprimiert und in Blöcken im Objektspeicher (z. B. S3 oder GCS) oder sogar lokal im Dateisystem gespeichert. Kleine Indizes und stark komprimierte Blöcke vereinfachen den Betrieb und senken die Kosten von Loki erheblich.
Im Vergleich zu EKL ist Loki sehr leicht und nach der Verwendung von Loki verliert ELK plötzlich seinen Duft! Haha ~~~

Loki-Stack-Komponenten


Stellen Sie zwei Bilder zuerst

Das Kubernetes-Protokollierungssystem startet Loki-Stack neu

Das Kubernetes-Protokollierungssystem startet Loki-Stack neu

  • Promtail
    Promtail ist ein Protokollsammlungstool, mit dem Containerprotokolle an Loki- oder Grafana-Dienste gesendet werden. Dieses Tool umfasst hauptsächlich das Erkennen von Sammlungszielen und das Hinzufügen von Label-Tags zu Protokolldatenströmen und das anschließende Senden an Loki. Darüber hinaus basiert die Diensterkennung von Promtail auf Prometheus Der Service Discovery-Mechanismus ist implementiert.
  • Loki
    Loki ist ein Protokollaggregationssystem, das horizontal skaliert werden kann, hoch verfügbar ist und Mandantenfähigkeit unterstützt. Es verwendet denselben Mechanismus zur Diensterkennung wie Prometheus und fügt dem Protokolldatenstrom Tags hinzu, anstatt einen Volltextindex zu erstellen. Daher haben die von Promtail empfangenen Protokolle und die angewendeten Metriken dieselbe Beschriftung. Es bietet nicht nur eine bessere Kontextumschaltung zwischen Protokollen und Indikatoren, sondern vermeidet auch die Volltextindizierung von Protokollen.
  • Grafana
    Grafana ist eine Open-Source-Plattform zur Überwachung und visuellen Beobachtung. Sie unterstützt eine sehr umfangreiche Datenquelle. Im Loki-Technologie-Stack wird sie speziell zur Anzeige von Zeitreihendaten aus Datenquellen wie Prometheus und Loki verwendet. Es ermöglicht auch Vorgänge wie Abfrage, Visualisierung, Alarm usw., mit denen Sie das Daten-Dashboard erstellen, untersuchen und freigeben können.
    Als Nächstes können Sie loslegen und Loki-Stack ausprobieren.

Verwenden Sie das Ruder, um den Loki-Stack bereitzustellen


1. Voraussetzung ist, dass Sie einen k8s-Cluster haben und das Helm-Tool installieren.
2. Fügen Sie die Helm-Quelle hinzu


helm repo add loki https://grafana.github.io/loki/charts

下载到本地,也可以直接安装,因为需要修改存储类及其他一些配置,我习惯下载到本地,方便修改调试
helm fetch loki/loki-stack
tar -zxf loki-stack-0.38.1.tgz
cd loki-stack/
[root@ loki-stack]# ls -al
drwxr-xr-x.  7 root root   85 Jul  2 07:25 charts
-rwxr-xr-x.  1 root root  369 Jul  1 01:46 Chart.yaml
-rwxr-xr-x.  1 root root  342 Jul  1 01:46 .helmignore
-rwxr-xr-x.  1 root root 1662 Jul  1 01:46 README.md
-rwxr-xr-x.  1 root root  533 Jul  1 01:46 requirements.lock
-rwxr-xr-x.  1 root root  595 Jul  1 01:46 requirements.yaml
drwxr-xr-x.  3 root root   80 Jul  2 08:46 templates
-rwxr-xr-x.  1 root root  206 Jul 16 00:53 values.yaml

3. Ändern Sie die Datei values.yaml von loki-stack. Ich habe hier nur loki und promtail installiert und verwende den prometheus-Operator, den der Cluster für grafana und prometheus bereitgestellt hat


[root@ ]# cat values.yaml
loki:
  enabled: true
promtail:
  enabled: true

4.
Ändern Sie die Werte von loki.yaml, ändern Sie hauptsächlich die Speicherklasse und die Persistenzgröße, und öffnen Sie serviceMonitor, um loki zu überwachen


[root@  loki-stack]# cd charts/loki/
[root@  loki]# ll
total 20
-rw-r--r-- 1 root root  367 Nov 28 00:31 Chart.yaml
-rw-r--r-- 1 root root 1846 Nov 28 00:31 README.md
drwxr-xr-x 2 root root 4096 Dec  1 09:14 templates
-rw-r--r-- 1 root root 6695 Dec  1 09:15 values.yaml

persistence:
  enabled: true
  storageClass: "rbd"
  accessModes:
  - ReadWriteOnce
  size: 100Gi
  annotations: {}

serviceMonitor:
  enabled: true
  interval: ""
  additionalLabels: {}
  annotations: {}
  # scrapeTimeout: 10s

5.
Ändern Sie die Datei values.yaml von promtail. Wenn Sie weitere Protokollverzeichnisse hinzufügen möchten, können Sie diese hier hinzufügen


# Extra volumes to scrape logs from
volumes:
- name: docker
  hostPath:
    path: /var/lib/docker/containers
- name: pods
  hostPath:
    path: /var/log/pods

6. Führen Sie die Bereitstellung durch


cd loki-stack
kubectl create ns loki
helm install loki -n loki -f values.yaml .

[root@ loki-stack]# helm ls -n loki
NAME    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
loki    loki            1               2020-12-01 09:15:22.971437761 +0800 CST deployed        loki-stack-2.1.0        v2.0.0

7. Melden Sie sich bei der vorhandenen grafana-Oberfläche an, fügen Sie die loki-Quelle hinzu und rufen Sie
zuerst die Serviceadresse von loki ab


[root@ loki-stack]# kubectl get svc -n loki
NAME            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
loki            NodePort    10.101.129.255   <none>        3100:30439/TCP   92m
loki-headless   ClusterIP   None             <none>        3100/TCP         92m

Das Kubernetes-Protokollierungssystem startet Loki-Stack neu

Klicken Sie nach dem Ausfüllen der Informationen auf Speichern und testen, um zu bestätigen, dass grafana eine Verbindung zu loki
8 herstellen kann . Klicken Sie auf Durchsuchen. Sie können das Protokoll mit LogQL abfragen, wie unten gezeigt

Das Kubernetes-Protokollierungssystem startet Loki-Stack neu

Natürlich können Sie auch Vorlagen anderer importieren. Weitere
Das Kubernetes-Protokollierungssystem startet Loki-Stack neu
Dashboards können auf der offiziellen Website https://grafana.com/grafana/dashboards angezeigt werden. PS: Artikel werden mit dev.kubeops.net synchronisiert

Ich denke du magst

Origin blog.51cto.com/15060545/2657215
Empfohlen
Rangfolge