连接 redis exporter 和 prometheus operator
Connect redis exporter and prometheus operator
我在 Kubernetes 集群的同一命名空间中的两个独立部署中有一个 Redis 集群和 Redis-exporter。我正在使用 Prometheus operator 来监控集群,但我找不到设置 exporter 和 operator 的方法。我已经设置了一个针对 Redis 导出器的服务(检查下面)和一个 ServiceMonitor(也在下面)。如果我转发到 Redis 导出器服务,我可以看到指标。此外,Redis 导出器日志没有显示问题。
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: foo
name: redis-exporter
labels:
app: redis-exporter
spec:
replicas: 1
selector:
matchLabels:
app: redis-exporter
template:
metadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9121"
labels:
app: redis-exporter
spec:
containers:
- name: redis-exporter
image: oliver006/redis_exporter:latest
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: REDIS_ADDR
value: redis-cluster.foo.svc:6379
ports:
- containerPort: 9121
我的服务和servicemonitor
kind: Service
metadata:
name: redis-external-exporter
namespace: foo
labels:
app: redis
k8s-app: redis-ext
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: "9121"
spec:
ports:
- name: redis-ext
port: 9121
protocol: TCP
targetPort: 9121
selector:
app: redis-exporter
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: redis-external-exporter
namespace: bi-infra
labels:
app: redis-external-exporter
k8s-app: redis-monitor
spec:
jobLabel: app
selector:
matchLabels:
app: redis-ext
namespaceSelector:
matchNames:
- foo
endpoints:
- port: redis-ext
interval: 30s
honorLabels: true
如果我切换到 Redis 集群旁边的 Sidecar Redis 导出器,一切正常。有人遇到过这样的问题吗?
我在 ServiceMonitor
上丢失了 spec.endpoints.path
这是添加新的抓取目标和故障排除的清单示例 tutorial。
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: monitoring-pili
namespace: monitoring
labels:
app: pili-service-monitor
spec:
selector:
matchLabels:
# Target app service
app: pili
endpoints:
- interval: 15s
path: /metrics <---
port: uwsgi
namespaceSelector:
matchNames:
- default
我在 Kubernetes 集群的同一命名空间中的两个独立部署中有一个 Redis 集群和 Redis-exporter。我正在使用 Prometheus operator 来监控集群,但我找不到设置 exporter 和 operator 的方法。我已经设置了一个针对 Redis 导出器的服务(检查下面)和一个 ServiceMonitor(也在下面)。如果我转发到 Redis 导出器服务,我可以看到指标。此外,Redis 导出器日志没有显示问题。
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: foo
name: redis-exporter
labels:
app: redis-exporter
spec:
replicas: 1
selector:
matchLabels:
app: redis-exporter
template:
metadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9121"
labels:
app: redis-exporter
spec:
containers:
- name: redis-exporter
image: oliver006/redis_exporter:latest
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: REDIS_ADDR
value: redis-cluster.foo.svc:6379
ports:
- containerPort: 9121
我的服务和servicemonitor
kind: Service
metadata:
name: redis-external-exporter
namespace: foo
labels:
app: redis
k8s-app: redis-ext
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: "9121"
spec:
ports:
- name: redis-ext
port: 9121
protocol: TCP
targetPort: 9121
selector:
app: redis-exporter
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: redis-external-exporter
namespace: bi-infra
labels:
app: redis-external-exporter
k8s-app: redis-monitor
spec:
jobLabel: app
selector:
matchLabels:
app: redis-ext
namespaceSelector:
matchNames:
- foo
endpoints:
- port: redis-ext
interval: 30s
honorLabels: true
如果我切换到 Redis 集群旁边的 Sidecar Redis 导出器,一切正常。有人遇到过这样的问题吗?
我在 ServiceMonitor
上丢失了 spec.endpoints.path这是添加新的抓取目标和故障排除的清单示例 tutorial。
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: monitoring-pili
namespace: monitoring
labels:
app: pili-service-monitor
spec:
selector:
matchLabels:
# Target app service
app: pili
endpoints:
- interval: 15s
path: /metrics <---
port: uwsgi
namespaceSelector:
matchNames:
- default