创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。如果未按模板创建问题,管理员有权关闭问题。
确保帖子格式清晰易读,用 markdown code block 语法格式化代码块。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。
操作系统信息
例如:虚拟机,Centos7.5,4C/8G
Kubernetes版本信息
kubectl version
: 1.22.10
容器运行时
将 docker version
/ crictl version
/ nerdctl version
结果贴在下方
docker version:20.10.8
KubeSphere版本信息
kubesphere 版本:v3.3.0,使用kk安装,先all-in-one模式,后增加的节点
问题是什么
按照此博客的方法,部署自己的springboot项目,到prometheus查看,发现没有收集到指标。不知道哪个地方配置错了,对监控这块还不太熟悉,还望不吝赐教,谢谢
在 KubeSphere 中使用 DevOps 部署 Java 微服务配置监控预警
下面是ServiceMonitor
配置文件:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: >
{"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"annotations":{},"labels":{"app":"java-actuator-prometheus","component":"java-actuator-prometheus","heritage":"Tiller","release":"prometh-java-actuator"},"name":"monitor-java-actuator-prometheus","namespace":"kubesphere-monitoring-system"},"spec":{"endpoints":[{"honorLabels":true,"interval":"5s","path":"/api/actuator/prometheus","port":"http"}],"jobLabel":"java-actuator-prometheus","namespaceSelector":{"any":true},"selector":{"matchLabels":{"release":"java-actuator-prometheus"}}}}
labels:
app: java-actuator-prometheus
component: java-actuator-prometheus
heritage: Tiller
release: prometh-java-actuator
name: monitor-java-actuator-prometheus
namespace: default
spec:
endpoints:
- honorLabels: true
interval: 5s
path: /actuator/prometheus
port: http
jobLabel: java-actuator-prometheus
namespaceSelector:
any: true
selector:
matchLabels:
release: java-actuator-prometheus
下面是分别是deploment配置文件:
kind: Deployment
apiVersion: apps/v1
metadata:
name: test
namespace: website
labels:
app: test
release: java-actuator-prometheus
annotations:
deployment.kubernetes.io/revision: '7'
kubesphere.io/creator: admin
prometheus.io/path: /actuator/prometheus
prometheus.io/port: '9001'
prometheus.io/scrape: 'true'
spec:
replicas: 1
selector:
matchLabels:
app: test
template:
metadata:
creationTimestamp: null
labels:
app: test
release: java-actuator-prometheus
spec:
volumes:
- name: host-time
hostPath:
path: /etc/localtime
type: ''
containers:
- name: container-ez9eia
image: xxxruoyi-admin:SNAPSHOT--200
args:
- '--spring.profiles.active=prod'
ports:
- name: tcp-8080
containerPort: 8080
protocol: TCP
- name: tcp-9001
containerPort: 9001
protocol: TCP
resources: {}
volumeMounts:
- name: host-time
readOnly: true
mountPath: /etc/localtime
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
serviceAccountName: default
serviceAccount: default
securityContext: {}
imagePullSecrets:
- name: harbor2
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
下面是service配置文件:
kind: Service
apiVersion: v1
metadata:
name: test-service
namespace: website
labels:
app: test-service
release: java-actuator-prometheus
annotations:
kubesphere.io/creator: admin
prometheus.io/path: /actuator/prometheus
prometheus.io/port: '9001'
prometheus.io/scrape: 'true'
spec:
ports:
- name: http-9001
protocol: TCP
port: 9001
targetPort: 9001
nodePort: 32307
selector:
app: test
clusterIP: 10.233.37.166
clusterIPs:
- 10.233.37.166
type: NodePort
sessionAffinity: None
externalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
internalTrafficPolicy: Cluster
我在命令行运行,是可以通过接口返回指标的:
然后我也在prometheus web ui中看到了配置文件:
但是在prometheus中看不到相关的指标,不清楚哪里配置错了,希望熟悉监控的朋友,可以赐教