专业的编程技术博客社区

网站首页 > 博客文章 正文

运维小伙伴福音!自挂监控工具uptime-kuma助力你轻松监控系统!

baijin 2024-08-18 13:23:37 博客文章 5 ℃ 0 评论

今天给大家介绍一款是一个开源的监控工具。项目支持监测 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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表