我正在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. :-)
1条答案
按热度按时间ovfsdjhp1#
回答您的问题:
可以使用
hostPath
类型的卷:https://kubernetes.io/docs/concepts/storage/volumes/#hostpath。它可以是单个文件或目录。因此,挂载Prometheus配置目录或仅挂载prometheus.yml
。稳定Prometheus图表的相关变量。要解决您的问题:
这里的问题是Prometheus不会自动重新加载更新的配置。要解决这个问题,您有几个选择: