# PostgreSQL Exporter - 資料庫監控指標收集器 # 部署到 momo namespace,監控 momo-postgres apiVersion: apps/v1 kind: Deployment metadata: name: postgres-exporter namespace: momo labels: app: postgres-exporter spec: replicas: 1 selector: matchLabels: app: postgres-exporter template: metadata: labels: app: postgres-exporter annotations: prometheus.io/scrape: "true" prometheus.io/port: "9187" spec: containers: - name: postgres-exporter image: prometheuscommunity/postgres-exporter:v0.15.0 ports: - containerPort: 9187 name: metrics env: - name: DATA_SOURCE_URI value: "momo-postgres:5432/momo_analytics?sslmode=disable" - name: DATA_SOURCE_USER valueFrom: secretKeyRef: name: momo-secrets key: POSTGRES_USER - name: DATA_SOURCE_PASS valueFrom: secretKeyRef: name: momo-secrets key: POSTGRES_PASSWORD resources: requests: cpu: 50m memory: 64Mi limits: cpu: 100m memory: 128Mi livenessProbe: httpGet: path: / port: 9187 initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: / port: 9187 initialDelaySeconds: 5 periodSeconds: 5 --- apiVersion: v1 kind: Service metadata: name: postgres-exporter namespace: momo labels: app: postgres-exporter spec: type: ClusterIP ports: - port: 9187 targetPort: 9187 name: metrics selector: app: postgres-exporter --- # ServiceMonitor for Prometheus Operator apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: postgres-exporter namespace: monitoring labels: app: postgres-exporter release: prometheus spec: namespaceSelector: matchNames: - momo selector: matchLabels: app: postgres-exporter endpoints: - port: metrics interval: 30s scrapeTimeout: 10s