![](/img/trans.png)
[英]K8S - using Prometheus to monitor another prometheus instance in secure way
[英]K8S - Check certificate validation with Prometheus
我需要找到 K8S 集群的证书验证,例如使用警报管理器来通知证书即将到期并发送适当的通知。
我找到了这个repo但不是我不确定如何配置它,目标是什么以及如何实现它?
https://github.com/ribbybibby/ssl_exporter
基于黑盒导出器
https://github.com/prometheus/blackbox_exporter
- job_name: "ssl"
metrics_path: /probe
static_configs:
- targets:
- 127.0.0.1
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9219 # SSL exporter.
我想检查当前的 K8S 集群(部署 Prometheus 的地方),以查看证书是否有效。 我应该在目标里面放什么才能让它工作?
我需要在集群中公开一些东西吗?
更新这是系统中out证书的位置
tls:
mode: SIMPLE
privateKey: /etc/istio/bide-tls/tls.key
serverCertificate: /etc/istio/bide-tls/tls.crt
我的场景是:
Prometheus 和 ssl_exporter 在同一个集群中,他们需要检查的证书也在同一个集群中。 (见上面的配置)
我应该在目标里面放什么才能让它工作?
我认为 自述文件的 “目标”部分很清楚:它包含您希望监视器报告的端点:
static_configs:
- targets:
- kubernetes.default.svc.cluster.local:443
- gitlab.com:443
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
# rewrite to contact the SSL exporter
replacement: 127.0.0.1:9219
我需要在集群中公开一些东西吗?
取决于您是否要报告内部证书,或者ssl_exporter
是否可以到达您想要的端点。 例如,在上面的代码片段中,我使用 KubeDNS 名称kubernetes.default.svc.cluster.local
并假设ssl_exporter
作为集群中的 Pod 运行。 如果这不适用于您,您可能希望将该端点更改为k8s.my-cluster-dns.example.com:6443
或您的 kubernetes API 正在侦听的kubectl
可以访问的任何内容。
然后,同样,如果 prometheus 和您的 ssl_exporter 都在集群内运行,那么您需要将replacement:
更改为replacement:
由您的 ssl_exporter Pod 支持的Service
IP 地址。 如果 prometheus 在集群外而 ssl_monitor 在集群内,那么您需要创建一个type: NodePort
的Service
,以便您可以将 prometheus 指向一个(或全部?)节点 IP 地址和NodePort
的 NodePort正在听
唯一一次使用文字127.0.0.1:9219
是 prometheus 和 ssl_exporter 运行在同一台机器上或同一 Pod 中,因为从普罗米修斯的角度来看,这是 127.0.0.1 有意义的唯一方式
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.