uptimekuma可以监控http/https/tcp/ping,报警支持telegram/discord/smtp等。

官方的文档写的很详细了,咱这里就只当是水文章了,纯推荐一下。

项目地址:https://github.com/louislam/uptime-kuma

我在甲骨文的oracle8上部署的,用的docker,先装一下需要用到的工具。

安装docker:

sudo dnf -y update
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager \
     --add-repo \
     https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf -y install docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
sudo usermod -aG docker opc


安装certbot和nginx:

sudo dnf -y install oracle-epel-release-el8
sudo dnf config-manager --set-enabled ol8_developer_EPEL
sudo dnf -y install python3-certbot-nginx nginx
sudo systemctl enable --now nginx


selinux和防火墙配置:

sudo setsebool -P httpd_can_network_connect 1
sudo firewall-cmd --set-default-zone=trusted
sudo firewall-cmd --reload


创建一个卷:

docker volume create uptime-kuma


启动即可:

docker run -d --restart=always -p 127.0.0.1:3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1


配置nginx反向代理,新建配置文件:

sudo nano /etc/nginx/conf.d/kuma.conf


写入如下配置:

server {
    listen 80;
    server_name kuma.example.com;

    location / {
        proxy_pass         http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection "upgrade";
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}


申请ssl证书:

sudo certbot --nginx


如果有更新,你可以使用下面的方法来更新:

docker pull louislam/uptime-kuma:1
docker stop uptime-kuma
docker rm uptime-kuma
docker run -d --restart=always -p 127.0.0.1:3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1


配置报警通知,我这里就用smtp了:



如果你需要快速自建一个smtp服务,可以参考一下这篇文章:

> Maddy:多合一邮件服务器(all-in-one mail server)

添加监控项目,记得在右侧启用通知:



测试一下,邮箱内可以收到报警邮件就OK了: