Rancher Monitoring v2 自定义 prometheus 连接 Url
|字数总计: 443|阅读时长: 2分钟|阅读量:
本文永久链接: https://www.xtplayer.cn/prometheus/customize-the-prometheus-access-url/
通过 NodePort
将以下 yaml 导入集群,会创建一个 NodePort 类型的 svc。通过节点 ip + NodePort 端口即可获取 Prometheus 的原始监控数据。
apiVersion: v1 kind: Service metadata: name: prometheus-nodeport namespace: cattle-monitoring-system spec: externalTrafficPolicy: Cluster internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - name: p9090 port: 9090 protocol: TCP targetPort: 8081 selector: app.kubernetes.io/name: prometheus operator.prometheus.io/name: rancher-monitoring-prometheus sessionAffinity: None type: NodePort
|
通过 ingress
通过命令创建 tls 证书密文
kubectl -n cattle-monitoring-system create secret generic prometheus-tls-ingress
–from-file=tls.crt=xxx.crt
–from-file=tls.key=xxxx.key
或者在 rancher ui ,切换到 存储|密文,手动创建证书密文。
将以下 yaml 导入集群创建 ingress
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: prometheus-ingress namespace: cattle-monitoring-system annotations: nginx.ingress.kubernetes.io/ssl-redirect: 'true' nginx.ingress.kubernetes.io/proxy-body-size: "10m" nginx.ingress.kubernetes.io/proxy-buffer-size: "8k" nginx.ingress.kubernetes.io/proxy-buffers-number: "4" nginx.ingress.kubernetes.io/proxy-read-timeout: "60" nginx.ingress.kubernetes.io/proxy-connect-timeout: "30" nginx.ingress.kubernetes.io/limit-rps: "10" nginx.ingress.kubernetes.io/limit-connections: "20" nginx.ingress.kubernetes.io/proxy-buffering: "on" spec: rules: - host: prometheus.xx.org.cn http: paths: - backend: service: name: rancher-monitoring-prometheus port: number: 9090 path: / pathType: Prefix tls: - hosts: - prometheus.xxx.org.cn secretName: prometheus-tls-ingress
|
注意:rules 中的 host 需要与 tls 中的 hosts 保持一致。
请求示例
start=$(date -d '5 minutes ago' +%s) end=$(date +%s)
curl "https://prometheus.xx.org.cn/api/v1/query_range?query=container_cpu_usage_seconds_total&start=$start&end=$end&step=15s"
|