Appearance
Prometheus 接入
Spring Boot集成
为了集成Prometheus, 需要应用支持Spring boot Actuator Prometheus端点
xml
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>application.yml配置
management:
endpoints:
web:
exposure:
include: info, health, prometheus
metrics:
tags:
application: ${spring.application.name}
export:
prometheus:
enabled: true安装Rancher的Monitoring
通过rancher自带的应用市场安装Monitoring,安装完毕后可以看到Prometheus、Grafana和AlertManager
新建monitor
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: balloonfish-monitoring
namespace: cattle-monitoring-system
spec:
podMetricsEndpoints:
- path: /balloonfish-api/actuator/prometheus
port: http
interval: 15s
namespaceSelector:
matchNames:
- default
selector:
matchLabels:
workload.user.cattle.io/workloadselector: deployment-default-balloonfish-apiMySQL监控
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: mysql-monitoring
namespace: cattle-monitoring-system
spec:
endpoints:
- path: /metrics
port: metrics
namespaceSelector:
matchNames:
- mysql
selector:
matchLabels:
app.kubernetes.io/instance: mysql
app.kubernetes.io/name: mysqlRedis服务监控
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: redis-monitoring
namespace: cattle-monitoring-system
spec:
endpoints:
- path: /metrics
port: http-metrics
namespaceSelector:
matchNames:
- redis
selector:
matchLabels:
app.kubernetes.io/instance: redis
app.kubernetes.io/name: redis