prometheus监控harbor

介绍

随着k8s集群上面服务越来越多,大家更加关心的问题反而是服务能不能更稳定,这时候监控作用就体现出来了,下面主要说一下harbor是怎么用prometheus来监控的。

部署

github上的harbor_exporter的轮子都不行,最近馆长同学在写一个 harbor_exporter,也会一直在更新,代码在 https://github.com/zhangguanzhang/harbor_exporter

打镜像

1
2
cd harbor_exporter/
docker build -t shenshengkun/harbor-exporter:v0.1 -f Dockerfile .

如果不想自己打镜像,也可以直接拉我已经打好的,现在已上传到dockerhub上。

1
shenshengkun/harbor-exporter:v0.1

docker安装harbor_exporter

1
docker run -d -p 9107:9107 -e HARBOR_PASSWORD=Harbor12345 shenshengkun/harbor-exporter:v0.1 --harbor-server=http://x.x.x.x/api --insecure

github上未提供k8s方式,下面简单写下怎么用k8s部署harbor_exporter,有会helm的也可以自己写个部署下。

k8s上安装harbor_exporter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: harbor
namespace: monitor
labels:
app: harbor
spec:
revisionHistoryLimit: 10
template:
metadata:
labels:
app: harbor
spec:
nodeSelector:
apptype: memnode
containers:
- name: harbor
image: shenshengkun/harbor-exporter:v0.1
imagePullPolicy: IfNotPresent
args:
- "--harbor-server=http://10.48.2.179/api"
- "--harbor-pass=Harbor12345"
- "--insecure"
ports:
- containerPort: 9107
name: harbor
resources:
limits:
cpu: 1000m
memory: 1024Mi
requests:
cpu: 500m
memory: 512Mi
securityContext:
runAsUser: 0
---
apiVersion: v1
kind: Service
metadata:
name: harbor
namespace: monitor
spec:
ports:
- port: 9107
selector:
app: harbor

部署完了之后,在prometheus加个job就可以,也可以自己设置自动读取。

由于github上面还没有grafana的json模板,故我简单的写了一个。模板获取方式,关注微信公众号SY技术小站,在后台回复 “harbor-json”,就可以了。

效果

参考链接

1
https://github.com/zhangguanzhang/harbor_exporter
Donate