一个漂亮的http(s),tcp,ping监控小工具,带告警

「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战」。

image.png

前言

偶尔发现一个小而美的监控工具uptime-kuma,且自带告警通知

官网: github.com/louislam/up…

工具特色:

  • 支持监控HTTP(s)/TCP/Ping/DNS Record/Push.
  • 支持最低20s监控间隔
  • 支持多语言(包括简体中文)
  • 自带漂亮的状态页
  • 支持多种通知方式(邮箱,webhook,slack,apprise(可自定义钉钉))
  • 暗黑模式
  • 支持双因素认证
  • 支持导入导出(方便迁移)

安装

直接使用docker 安装,方便快捷。

docker安装见往期 传送门: juejin.cn/post/684490…

#创建存储卷(在本机创建一个目前)
docker volume create uptime-kuma
#下载并启动uptime-kuma  端口监听在3001
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

#存储卷说明 
#查看存储卷列表
docker volume ls 
#查看存储卷在机器上的路径
docker volume inspect uptime-kuma
复制代码

访问http://IP:3001 打开WEB页面

首次访问需要设置管理员账号、密码,根据提示完成即可。

使用

点击左上角 创建监控项,开始设置监控

image.png

http(s)站点监控

如果https是自签名的,可以点击 忽略https站点的证书错误

监控一个站点,每隔30s请求一次,失败三次告警,有效状态码为200-299
image.png

image.png

tcp端口监控

监控一个tcp服务的端口,每隔60s请求一次,失败一次告警
image.png

ping监控

ping监控请求间隔可以设置短一点。可以做实时主机存活监控

image.png

反向监控

每种监控项,都有高级选项,反向监控的意思就是取反,假设你设置状态200为状态码,那么除了200,其他都是有效的,200是无效的。会告警
image.png

通知

有了监控,再加上告警,就非常nice了。一条龙服务啊

邮件通知

在创建监控项时,面板右上。可以设置消息通知

image.png

配置一个不带ssl的邮件通知,为163邮箱为例.. 该通知还支持cc(抄送)功能
image.png

钉钉通知

没有直接对钉钉进行支持,但是可以通过apprise来设置

钉钉设置文档: github.com/caronc/appr…
image.png

配置完成可以测试一下。下图显示可以正常通知,并且有自带恢复通知

image.png

总结

做一款小而美的站点,应用端口,主机存活类监控工具来说,还是非常不错的。。不仅配置简单,状态显示也很友好

但是还是有一些不足的,比如,监控历史记录只有不到2个小时,微信通知和飞书通知需要自行转发,监控项没有分组

不过已经能满足目前监控业务需求了