今天给大家介绍一款是一个开源的监控工具。项目支持监测 HTTP(s)/TCP/Ping/DNS/Push/Docker 容器等的在线时间,可提供包括 Telegram、Discord、Slack、Pushover、Email、企业微信、钉钉、webhook 等70多种通知服务。
目前在 Github 上面已经收获了35.6K star。github地址:https://github.com/louislam/uptime-kuma
下面介绍一下 项目的安装及如何使用
1.安装
官方提供了两种安装方式:
1.1Docker安装
运行以下命令启动服务:
docker run -d --restart=always -p 3001:3001 -v /opt/uptime-kuma/data:/app/data --name uptime-kuma louislam/uptime-kuma
服务启动后,在浏览器中输入 http://{ip}:3001 即可进行访问。
1.2 手动本地安装
先要安装下面的几个依赖工具:
- Node.js >= 14
- Git
- pm2
- npm >= 7
然后按照下面的命令进行安装即可:
# Update your npm to the latest version
npm install npm -g
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup
# Option 1. Try it
node server/server.js
# (Recommended) Option 2. Run in background using PM2
# Install PM2 if you don't have it:
npm install pm2 -g && pm2 install pm2-logrotate
# Start Server
pm2 start server/server.js --name uptime-kuma
安装好之后,同样在浏览器中通过 http://localhost:3001 进行访问即可。
1.3 具体docker 安装案例
下面我们就以docker 为案例介绍安装
1.3.1启动Docker Desktop
1.3.2 下载镜像
cmd窗口中输入docker pull louislam/uptime-kuma:1 下载镜像到本地
docker pull louislam/uptime-kuma:1
我们查看Docker Desktop images 镜像中多了一个louislam/uptime-kuma
1.3.3 启动镜像
我们输入 docker 启动命令运行这个容器。
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
查看Docker Desktop
说明程序在容器里面启动成功。
2.使用
浏览器中输入 http://localhost:3001 访问,进入登陆访问页面
输入管理员站和密码,点击创建,进入后台管理界面。
里面东西比较简单,我们这里在左上角“添加监控项”
其中监控类型里面包括不少监控服务http、https、tcp port、ping、gprc、DNS、docker容器。另外还有一些数据库、MQTT等服务监控。运维的小伙伴有福了。
这里面我们就一个网站作为监控案例。
2.1监控案例
这里我输入显示名称 和 需要监控项目的URL,其他默认,点击确定按钮完成设置。
这个时候我们就看实现了“快速开发平台”的监控了。
如何系统出现故障了,可以通过 通知功能实现,目前通知的整合的也很多。包括企业微信、钉钉等。
每个监控的机器人配置都不太一样。这里面我们就不展开演示了。
总结:通过uptime-kuma 工具可以将所需要的应用系统、数据库、还有相关其他需要监控的服务全部监控起来,运维小伙伴就可以轻松喝茶了,哈哈。
备注:如果使用K8S 部署的我们需要执行以下yaml 文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: uptime-kuma
spec:
replicas: 1
selector:
matchLabels:
app: uptime-kuma
template:
metadata:
labels:
app: uptime-kuma
spec:
containers:
- name: uptime-kuma
image: louislam/uptime-kuma
ports:
- containerPort: 3001
volumeMounts:
- name: uptime-kuma-data
mountPath: /app/data
volumes:
- name: uptime-kuma-data
hostPath:
path: /opt/uptime-kuma/data
---
apiVersion: v1
kind: Service
metadata:
name: uptime-kuma
spec:
selector:
app: uptime-kuma
ports:
- protocol: TCP
port: 3001
targetPort: 3001
type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: uptime-kuma-ingress
spec:
rules:
- host: your-domain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: uptime-kuma
port:
number: 3001
然后执行
kubectl apply -f uptime-kuma.yaml
本文暂时没有评论,来添加一个吧(●'◡'●)