k3s 基础 —— 配置 loki

发布时间 2023-07-04 15:31:13作者: Lemo_wd

官方文档

核心组件 3 个 chart:

  • promtail 这是一个 agent 代理客户端,用于收集日志,将日志传送给 loki
  • loki 核心组件,主要功能是日志数据的写入与分析。包含 gateway、read、write 3个组件。
  • kube-prometheus-stack 这个技术栈包含 prometheus,grafana,prometheus operator 等组件。prometheus 主要用于数据监控与告警。grafana 图形界面展示。Prometheus Operator 用于在 k8s 中能够帮助用户自动化的创建以及管理 Prometheus Server 以及其相应的配置(监听一些 crd 资源的配置)。

部署

新增配置文件 /var/lib/rancher/k3s/server/manifests/loki.yaml

apiVersion: v1
kind: Namespace
metadata:
  name: monitoring
---
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: kube-prometheus-stack
  namespace: kube-system
spec:
  repo: https://prometheus-community.github.io/helm-charts
  chart: kube-prometheus-stack
  targetNamespace: monitoring
  valuesContent: |-
    prometheus:
      enabled: true
---
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: loki
  namespace: kube-system
spec:
  repo: https://grafana.github.io/helm-charts
  chart: loki
  targetNamespace: monitoring
  valuesContent: |-
    loki:
      auth_enabled: false
    backend:
      replicas: 2
    read:
      replicas: 2
    write:
      replicas: 2
    minio:
      enabled: true
---
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: promtail
  namespace: kube-system
spec:
  repo: https://grafana.github.io/helm-charts
  chart: promtail
  targetNamespace: monitoring
  valuesContent: |-
    daemonset:
      enabled: true

执行部署

kubectl apply -f loki.yaml

查询日志数据

配置 grafana 路由

新增配置文件 grafana-traefik.yaml

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: grafana-web
  namespace: monitoring
spec:
  entryPoints:
    - web
  routes:
    - kind: Rule
      match: Host(`grafana.example.com`)
      services:
        - name: kube-prometheus-stack-grafana
          namespace: monitoring
          port: 80

执行部署命令后,即可访问 grafana.example.com

kubectl apply -f grafana-traefik.yaml

添加 loki 数据源

打开 Data sources 页面,添加 loki 数据源。其中 url 为 http://loki-gateway

查询日志

打开 explore 页面。选择 Label Broswer

选择标签 namespace,选择列表出现的任一值,最后点击下方的 Show logs 进行查询

2233