【问题标题】:Promtail + Loki - Only shows some namespaces not allPromtail + Loki - 只显示一些命名空间而不是全部
【发布时间】:2022-12-22 03:09:54
【问题描述】:

我们最近决定通过 loki-stack helm chart 安装 loki 和 promtail。 Loki 和 promtail 之类的工作。我们从 Promtail 获得了一些日志,我们可以在 grafana 中可视化它们,但是我们的开发命名空间在 loki 中无处可寻。 Promtail 将开发 pod 显示为活动目标,并且 promtail 已经从 pod 收集了日志,但我们似乎无法以某种方式将它们放入 loki 中……有什么想法吗?

【问题讨论】:

    标签: grafana grafana-loki promtail


    【解决方案1】:

    tl;博士

    loki.monitoring.selfMonitoring.grafanaAgent.installOperator 设置为 false


    这个问题是由grafana-agent引起的,它默认安装为grafana/loki图表的子图表...

    代理创建包含以下配置的秘密“loki-logs-config”(本例中的 loki 是 Helm 版本名称):

    agent.yml: |+
      logs:
          configs:
              - clients:
                  - external_labels:
                      cluster: loki
                    url: http://loki.monitoring.svc.cluster.local:3100/loki/api/v1/push
                name: monitoring/loki
                scrape_configs:
                  - job_name: podLogs/monitoring/loki
                    kubernetes_sd_configs:
                      - namespaces:
                          names:
                              - monitoring
                        role: pod
                    pipeline_stages:
                      - cri: {}
                    relabel_configs:
                      - source_labels:
                          - job
                        target_label: __tmp_prometheus_job_name
                      - action: keep
                        regex: loki
                        source_labels:
                          - __meta_kubernetes_pod_label_app_kubernetes_io_instance
                      - action: keep
                        regex: loki
                        source_labels:
                          - __meta_kubernetes_pod_label_app_kubernetes_io_name
                      - source_labels:
                          - __meta_kubernetes_namespace
                        target_label: namespace
                      - source_labels:
                          - __meta_kubernetes_service_name
                        target_label: service
                      - source_labels:
                          - __meta_kubernetes_pod_name
                        target_label: pod
                      - source_labels:
                          - __meta_kubernetes_pod_container_name
                        target_label: container
                      - replacement: monitoring/loki
                        target_label: job
                      - replacement: /var/log/pods/*$1/*.log
                        separator: /
                        source_labels:
                          - __meta_kubernetes_pod_uid
                          - __meta_kubernetes_pod_container_name
                        target_label: __path__
                      - action: replace
                        source_labels:
                          - __meta_kubernetes_pod_node_name
                        target_label: __host__
                      - action: labelmap
                        regex: __meta_kubernetes_pod_label_(.+)
                      - action: replace
                        replacement: monitoring/$1
                        source_labels:
                          - __meta_kubernetes_pod_controller_name
                        target_label: job
                      - action: replace
                        source_labels:
                          - __meta_kubernetes_pod_container_name
                        target_label: container
                      - action: replace
                        replacement: loki
                        target_label: cluster
          positions_directory: /var/lib/grafana-agent/data
      server: {}
    

    正如您在 kubernetes_sd_configs 下看到的那样,存在值为 monitoring 的名称空间列表 - 我不知道为什么它在那里,但这是我将此图表安装到的名称空间。 你惯于在执行 helm template 后看到这个秘密 - 似乎 Grafana Agent 在启动后以某种方式创建了它。 它有标签app.kubernetes.io/managed-by=grafana-agent-operator
    如果你问我,那真是太神奇了……

    我的解决方案是禁用 Grafana Agent 的禁用安装:

    loki:
      loki:
        commonConfig:
          replication_factor: 1
        storage:
          type: 'filesystem'
        auth_enabled: false
      monitoring:
        dashboards:
          enabled: false
        selfMonitoring:
          enabled: true
          grafanaAgent:
            installOperator: false
          lokiCanary:
            enabled: false
    

    注意:需要上面代码块中的toploki元素除非您将 grafana/loki 图表作为子图表添加到图表中


    IMO 在用作 Loki 文档参考的图表中启用 beta 功能(Grafana Agent 今天是 v0.30.0)是疯狂的:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-24
      • 2017-01-21
      相关资源
      最近更新 更多