1. 网站运行时间监控

告别网站宕机烦恼!Uptime Kuma:你的24小时运行监控神器

微信公众号「雪之梦技术驿站」

致读者: 点击上方 “雪之梦技术驿站” → 点击右上角“ ... ”→ 点选“设为星标★ ” 加上星标,就不会找不到我啦!


如果你有一群需要特别关注的网站或者服务,那么时刻掌握服务可用性显得至关重要!

想象一下,针对某些网站是否发生故障,什么时间重新恢复?简单的逻辑,复杂的开发.

曾经的我,是这么实现的,不仅要处理普通的 http 请求返回 json 格式,还要 selenium 爬取监控首页,判断是否可用后再写个消息推送服务,不可不谓不复杂!

这密密麻麻是代码如今再也不需要了,只要简单部署Uptime Kuma服务即可轻松实现!

内心 OS: 为啥不让我早日发现这神奇项目,推荐给大家.

1.1. 效果

部署成功后,你将收到一个默认首页,效果杠杠滴,高端大气上档次.

默认网站监控首页: https://uptime.snowdreams1006.cn/

首次部署成功后会提示注册用户,成为管理员就能添加各类的监控网站,支持 http 请求,还额外附带了https 证书过期提醒服务!

添加监控网站设置: https://uptime.snowdreams1006.cn/manage-status-page

不仅支持普通的http网站,还支持docker,数据库等多种特殊类型监控.

当网站发生故障时,内置了多种通知的配置,让你第一时间收到最新动态.

例如某个关注网站不可用或者重新恢复正常时,你将会收到这样的消息推送.

所以,让我们一起看看如何安装使用这个开源项目吧!

1.2. 项目

直接推荐 github 地址,不仅支持常规方式部署,还支持 docker 部署!

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

安装

  • docker 方式

友情提示: 目前国内 docker 环境异常,请自行搜索相关解决,懒得话也可以私聊我.

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
  • 源码安装

pm2 : 用于后台运行Uptime Kuma

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 the 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

支持windows/mac/linux等常见系统,nodejs版本推荐v20.17.0即可.

1.3. 使用

本地启动后默认会在3001端口开启http服务,正式部署上线需要确保3001端口可以访问或者使用nginx等反向代理方式公开服务.

http://localhost:3001/

站点主 URL

设置-->常规-->自动获取站点主 URL: https://uptime.snowdreams1006.cn

注意: 这里的站点 url 就是游客访问时的默认首页!

TLS 证书过期通知

设置-->通知-->TLS 证书过期通知

可信的代理类字段 HTTP 头

设置-->反向代理-->HTTP 头-->是

nginx 的 https 请求配置示例,更多请参考官方文档

https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy

server {
  listen 443 ssl http2;
  # Remove '#' in the next line to enable IPv6
  # listen [::]:443 ssl http2;
  server_name sub.domain.com;
  ssl_certificate     /path/to/ssl/cert/crt;
  ssl_certificate_key /path/to/ssl/key/key;
  # *See "With SSL (Certbot)" below for details on automating ssl certificates

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

Docker 宿主

设置-->Docker 宿主-->Docker 守护进程

如果想要监控其他 docker 化容器,需要配置 uptime-kuma 宿主信息.

https://github.com/louislam/uptime-kuma/wiki/How-to-Monitor-Docker-Containers

备份

请改为直接备份 docker 卷或者数据文件夹(./data/)。

1.4. 总结

本文主要介绍了louislam/uptime-kuma项目,简洁漂亮的首页监控着众多网页,还支持国内外各类消息服务.

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

1.5. 往期精彩文章

1.6. 欢迎扫码关注

微信公众号「雪之梦技术驿站」

欢迎扫码关注,私信回复『加群』一起交流技术

最后更新时间: 2024-10-11 11:09:17
作者: 雪之梦技术驿站
来源: 雪之梦技术驿站
本文原创发布于「雪之梦技术驿站」,转载请注明出处,谢谢合作!

/snowdreams1006-wechat-open.png

results matching ""

    No results matching ""