Uptime-kuba安装与使用
Github
https://github.com/louislam/uptime-kuma
- 环境查看
系统环境
# cat /etc/redhat-release
Rocky Linux release 9.3 (Blue Onyx)
# uname -a
Linux Rocky9Uptimekume003077 5.14.0-362.18.1.el9_3.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Feb 11 13:49:23 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
软件环境
# docker version
Client: Docker Engine - Community
Version: 25.0.3
API version: 1.44
Go version: go1.21.6
Git commit: 4debf41
Built: Tue Feb 6 21:14:42 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 25.0.3
API version: 1.44 (minimum version 1.24)
Go version: go1.21.6
Git commit: f417435
Built: Tue Feb 6 21:13:06 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.28
GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0
- 简介
为什么选择Uptime Kuma?
- 简单易用:无需复杂的配置,只需几分钟就能完成安装和设置。
- 功能强大:支持多种监控类型,如HTTP、DNS、关键词匹配等。
- 可视化界面:一目了然的仪表盘,让你轻松掌握所有网站的状态。
- 开源免费:完全免费使用,社区活跃,随时可以获取帮助。
- 使用docker安装
# docker run -d --restart=always -p 3001:3001 -v /root/uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
Web页面访问
# http://ip:3001
第一次访问设置管理员用户名和密码
4. 配置监控项
添加监控项
设置以下选项
设置端口监控也很简单,不详述
5. 配置通知
-
配置邮件通知
打开设置
设置通知
-
配置微信机器人通知
和上一步一致,设置企业微信机器人的key即可
在监控项开启通知
2025-05-13补充开始
使用k8s集群部署的yaml
Deployment
# cat uptime-kuma-deployment.yaml
apiVersion: apps/v1 #apiVersion是当前配置格式的版本
kind: Deployment #kind是要创建的资源类型,这里是Deploymnet
metadata:
name: uptime-kuma-deployment
labels:
app: uptime-kuma
namespace: xiaoxingcloud-prd
spec: #spec部分是该Deployment的规则说明
replicas: 1 #relicas指定副本数量,默认为1
selector:
matchLabels:
app: uptime-kuma
template: #template定义Pod的模板,这是配置的重要部分
metadata: #metadata定义Pod的元数据,至少要顶一个label,label的key和value可以任意指定
labels:
app: uptime-kuma
spec: #spec描述的是Pod的规则,此部分定义pod中每一个容器的属性,name和image是必需的
imagePullSecrets:
- name: registry-pull-secret
containers:
- name: uptime-kuma
image: harbor.xiaoxingcloud.com/foundation/louislam/uptime-kuma:1
ports:
- containerPort: 3001
volumeMounts:
- mountPath: /app/data
name: uptime-kuma-pvc
volumes:
- name: uptime-kuma-pvc
persistentVolumeClaim:
claimName: uptime-kuma-pvc
pvc
# cat uptime-kuma-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: uptime-kuma-pvc
namespace: xiaoxingcloud-prd
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: managed-nfs-storage
volumeMode: Filesystem
Service
]# cat uptime-kuma-service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: uptime-kuma
name: uptime-kuma
namespace: xiaoxingcloud-prd
resourceVersion: "69184617"
spec:
ports:
- port: 3001
protocol: TCP
targetPort: 3001
selector:
app: uptime-kuma
sessionAffinity: None
type: ClusterIP
Ingress
# cat uptime-kuma-ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 4096m
nginx.ingress.kubernetes.io/proxy-connect-timeout: "600"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
nginx.ingress.kubernetes.io/proxy-set-headers: X-Forwarded-For $proxy_add_x_forwarded_for
name: uptime-kuma-ingress
namespace: xiaoxingcloud-prd
spec:
rules:
- host: uptime-kuma-aliyun.xiaoxingcloud.com
http:
paths:
- backend:
serviceName: uptime-kuma
servicePort: 3001
path: /
tls:
- hosts:
- uptime-kuma-aliyun.xiaoxingcloud.com
secretName: xiaoxingcloud.com
2025-05-13补充结束