更新|使用docker-compose搭建ServerStatus中文版并开启电报通知

实用教程 admin 4个月前 (07-23) 481次浏览 3个评论

作者更新了源码,有些地方需要稍微修改下

前言

 现在开源的探针项目多如牛毛,其中ServerStatus应该算是鼻祖了,今天我们来看下如何使用docker-compose搭建ServerStatus中文版并开启电报通知。

目前各种探针项目越来越多,要求的依赖也越来越多,对硬件资源的要求也是越来越多,很多项目都已经开始要依赖MySQL、Redis了,不过很多项目确实也功能很多,可以绘图、显示丢包延迟曲线,自然要依赖也多,小白是穷逼,强行玩鸡,留下了贫穷的泪水,哈哈。说下我对探针的要求:

1.能跑起来(废话)
2.可以显示到国内节点的延迟丢包(绘图我就不需要了,太高级了)
3.不需要依赖数据库(主要是我不会搞数据库……)
4.可以电报推送

好废话不多说,今天我们具体来看下如何使用docker-compose搭建ServerStatus中文版并开启电报通知。

项目地址:https://github.com/cppla/ServerStatus

大佬直接看文档就行了,这里是小白教程。

服务端搭建

系统版本也Debian YYDS,其他系统请自行使用相应命令,大差不差。本教程所有操作均在/root目录下进行。

准备工作

由于我们采用docker-compose安装的,所以我门需要提前安装好docker和docker-compose,还需要从github拉去源码,所以git命令也需要安装好。

#安装git
apt update -y && apt install git -y
#安装docker
wget -qO- https://get.docker.com/ | sh
#安装docker-compose
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
#拉取源码
git clone https://github.com/cppla/ServerStatus.git

创建电报机器人

私信Botfather,创建一个新机器人,自己输入一个名字和用户名。

记录下API密钥,待会会用到

 私信机器人获取chat_id,记录下来,待会会用到

所有的前期准备我们就完成了。

修改服务端配置文件

#进入源码目录
cd ServerStatus/

#修改docker-compose-telegram.yml文件,我们需要修改的有如下几处:
#端口可以自定义
ports:
- 35601:35601
- 8080:80

#进入服务端目录
cd server/
#修改config.json文件,其中watchdog部分为推送设置
{
	"servers": [
		{
			"username": "s01",
			"name": "node1",
			"type": "xen",
			"host": "host1",
			"location": "🇨🇳",
			"password": "USER_DEFAULT_PASSWORD",
			"monthstart": 1
		},
		{
			"username": "s02",
			"name": "node2",
			"type": "vmware",
			"host": "host2",
			"location": "🇯🇵",
			"password": "USER_DEFAULT_PASSWORD",
			"monthstart": 1
		}
	],
	"watchdog": [
		{
			"name": "cpu high warning",
			"rule": "cpu>90&load_1>3",
			"interval": 600,
			"callback": "https://yourSMSurl"
		},
		{
			"name": "memory high warning",
			"rule": "(memory_used/memory_total)*100>90",
			"interval": 300,
			"callback": "https://yourSMSurl"
		},
		{
			"name": "offline warning",
			"rule": "online4=0&online6=0",
			"interval": 600,
			"callback": "https://yourSMSurl"
		},
		{
			"name": "you can parse an expression combining any known field",
			"rule": "load_5>3",
			"interval": 900,
			"callback": "https://yourSMSurl"
		}
	]
}

watchdog的写法如下:

watchdog rule 可以为任何已知字段的表达式。         
watchdog interval 最小通知间隔。
watchdog callback 可自定义为Post方法的URL,告警内容将拼接其后并发起回调。   

watchdog callback Telegram:https://api.telegram.org/bot你自己的密钥/sendMessage?parse_mode=HTML&disable_web_page_preview=true&chat_id=你自己的标识&text=
watchdog callback Server酱: https://sctapi.ftqq.com/你自己的密钥.send?title=ServerStatus&desp=
watchdog callback PushDeer: https://api2.pushdeer.com/message/push?pushkey=你自己的密钥&text=  

启动镜像

docker-compose up -d

现在我们就可以通过IP:8080来访问探针了。

客户端搭建

为了简单起见,我们直接使用作者大大提供的一键脚本搭建客户端:

wget https://raw.githubusercontent.com/cppla/ServerStatus/master/status.sh -O status.sh && bash status.sh

这里我们需要依据刚刚的config.json里的信息依次填入:IP/域名[server]、端口、账号[username]、密码[password]。好到现在为止,完整的搭建就完成了。

电报推送情况

我们可以看到,电报推送情况也是正常的

建议只保留offline推送,不然频繁推送也挺烦人

反代

最后,如果需要域名的访问的话,可以用nginx反代一下,大佬都是直接写nginx配置文件、咱小白就老老实实用宝塔就行了。


VPS小白 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(3)个小伙伴在吐槽
  1. 启动镜像命令输入后提示:stat /root/docker-compose-telegram.yml: no such file or directory
    1112022-07-24 14:02 回复