1

我正在 Kubernetes 环境中研究 prometheus,我想在其中监控我们的 pod,这些 pod 正准备将指标直接发送到 prometheus。我可以通过 helm install stable/prometheus 命令安装 prometheus,但 prometheus.yml 抓取文件位于 pod 内,并且在 pod 重新启动时也不会持久。

由于我们仍在试验中,抓取文件将经过一些迭代,然后我们才能确定这个文件对我们有用。我坚持使用 helm 的原因是它还安装了其他软件包,如 grafana、nodeexpoerter 等,这些软件包很有帮助

如何指示 helm 使用 AWS 上存在的特定数据目录。假设 /var/prometheus。如果这不可能,那么至少一个自定义的 prometheus.yml,在服务器端更新时可以反映在 prometheus pod 中。

到目前为止,至少,我想补充

        kubernetes_sd_configs:
          - role: pod
        relabel_configs:
          - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
            action: keep
            regex: true
          - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
            action: replace
            target_label: __metrics_path__
            regex: (.+)
          - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
            action: replace
            regex: ([^:]+)(?::\d+)?;(\d+)
            replacement: $1:$2
            target_label: __address__
          - action: labelmap
            regex: __meta_kubernetes_pod_label_(.+)
          - source_labels: [__meta_kubernetes_namespace]
            action: replace
            target_label: kubernetes_namespace
          - action: labeldrop
            regex: '(kubernetes_pod|app_kubernetes_io_instance|app_kubernetes_io_name|instance)'


This in the scraping file. What am I missing? Thank you. :-) 
4

1 回答 1

1

要回答您的问题:

可以使用hostPath卷类型:https ://kubernetes.io/docs/concepts/storage/volumes/#hostpath 。它可以是单个文件或目录。所以挂载一个 Prometheus 配置目录或者只是prometheus.yml. 稳定普罗米修斯图表的相关变量

要解决您的问题:

这里的问题是 Prometheus 不会自动重新加载更新的配置。为了解决这个问题,您有几个选择:

于 2020-10-26T09:10:30.527 回答