Loki/Promtail - 如何设置自己的 scrape_configs?

问题描述 投票:0回答:1

我刚刚使用 helm 安装了 Loki/Promtail,如下所示:

helm repo add grafana https://grafana.github.io/helm-charts
helm repo update

helm upgrade --install loki grafana/loki-stack --create-namespace --namespace loki-stack --set promtail.enabled=true,loki.persistence.enabled=true,loki.persistence.size=30Gi,loki.persistence.storageClassName=longhorn,config.table_manager.retention_deletes_enabled=true

现在我想设置自己的 scrape_configs 来聚合来自我自己的应用程序 Pod 的日志,但我不确定如何完成此操作(对 helm 不太熟悉):

kubectl describe cm -n loki-stack

显示当前默认加载的 scrape_configs,这实际上只是 K8s/docker 生成的东西,但我的应用程序日志丢失了,因为它们不是默认配置的一部分......

如何将自己的 scrape_configs 添加到上面所示的头盔设置中?

提前致谢

logging kubernetes kubernetes-helm grafana-loki
1个回答
0
投票

我知道它很旧,但我想添加一个答案,以便可以用谷歌搜索:)

我们在 https://github.com/grafana/helm-charts/issues/178 上找到了答案 并查看一些示例:https://github.com/grafana/helm-charts/tree/main/charts/promtail#syslog-support

这是我对 loki-stack helm 图表 value.yaml 的设置,我想保留来自 byoh-system 和 capi-system 命名空间的日志并将它们发送到 2 个不同的 loki 设置:

promtail:
  enabled: true
  config:
    logLevel: info
    serverPort: 3101
    clients:
      - url: http://{{ .Release.Name }}:3100/loki/api/v1/push
      - url: http://{{ .Release.Name }}-external:30100/loki/api/v1/push
    snippets:
      extraScrapeConfigs: |
        - job_name: kubernetes-pods
          pipeline_stages:
            - cri: {}
          kubernetes_sd_configs:
            - role: pod
          relabel_configs:
            - source_labels:
                - __meta_kubernetes_pod_controller_name
              regex: ([0-9a-z-.]+?)(-[0-9a-f]{8,10})?
              action: replace
              target_label: __tmp_controller_name
            - source_labels:
                - __meta_kubernetes_pod_label_app_kubernetes_io_name
                - __meta_kubernetes_pod_label_app
                - __tmp_controller_name
                - __meta_kubernetes_pod_name
              regex: ^;*([^;]+)(;.*)?$
              action: replace
              target_label: app
            - source_labels:
                - __meta_kubernetes_pod_label_app_kubernetes_io_instance
                - __meta_kubernetes_pod_label_instance
              regex: ^;*([^;]+)(;.*)?$
              action: replace
              target_label: instance
            - source_labels:
                - __meta_kubernetes_pod_label_app_kubernetes_io_component
                - __meta_kubernetes_pod_label_component
              regex: ^;*([^;]+)(;.*)?$
              action: replace
              target_label: component
            - action: replace
              source_labels:
              - __meta_kubernetes_pod_node_name
              target_label: node_name
            - action: replace
              source_labels:
              - __meta_kubernetes_namespace
              target_label: namespace
            - action: replace
              replacement: $1
              separator: /
              source_labels:
              - namespace
              - app
              target_label: job
            - action: replace
              source_labels:
              - __meta_kubernetes_pod_name
              target_label: pod
            - action: replace
              source_labels:
              - __meta_kubernetes_pod_container_name
              target_label: container
            - action: replace
              replacement: /var/log/pods/*$1/*.log
              separator: /
              source_labels:
              - __meta_kubernetes_pod_uid
              - __meta_kubernetes_pod_container_name
              target_label: __path__
            - action: replace
              regex: true/(.*)
              replacement: /var/log/pods/*$1/*.log
              separator: /
              source_labels:
              - __meta_kubernetes_pod_annotationpresent_kubernetes_io_config_hash
              - __meta_kubernetes_pod_annotation_kubernetes_io_config_hash
              - __meta_kubernetes_pod_container_name
              target_label: __path__
            - action: keep
              source_labels:
                - __meta_kubernetes_namespace
              regex: byoh-system|caaph-system
© www.soinside.com 2019 - 2024. All rights reserved.