介绍
项目地址:https://github.com/lidalao/ServerStatus
项目基于cppla版本ServerStatus, 增加如下功能:
- 更方便的节点管理, 支持增删改查
- 上下线通知(telegram)
- Agent机器安装脚本改为systemd, 支持开机自启
安装
在服务端复制以下命令,一键到底。请记得替换成你自己的YOUR_TG_CHAT_ID和YOUR_G_BOT_TOKEN。
其中,Bot token可以通过@BotFather创建机器人获取, Chat id可以通过@getuserID获取。
mkdir sss && cd sss && wget --no-check-certificate https://raw.githubusercontent.com/lidalao/ServerStatus/master/sss.sh && chmod +x ./sss.sh && sudo ./sss.sh YOUR_TG_CHAT_ID YOUR_TG_BOT_TOKEN
安装成功后,web服务地址:http://ip:8081
通过sss.sh脚本,可以很方便的进行节点的增删改查操作。特别的,添加新节点时,会有提示如何在新节点安装对应的agent服务。如果你想了解更多,可以看看进阶部分,不看也足够用。
进阶
由于没改动ServerStatus代码,理论上,任何版本的ServerStatus都可以用_sss.py来做管理, 都可以用bot.py来进行上下监控。
节点管理时,把_sss.py放到和config.json同一目录,运行python3 _sss.py
即可。唯一需要改动的就是restartSSS函数,此函数功能是重启ServerStatus服务,改成你对应的服务启动方式,例如用systemd,则把["docker-compose", "restart"]
改成["systemctl", "restart", "ServerStatus"]
。
接下来是上下线监控服务,同样适用于任何版本的ServerStatus。 它只有一个文件bot.py, 可以跑在任何机器上,不是必须在服务端,丢在家里nas上也成。
bot.py里面有三个配置信息,bot_token
, cat_id
和NODE_STATUS_URL
, 改成你自己的对应信息,NODE_STATUS_URL需要改成你自己的探针web服务地址,例如,域名探针https://tz.test.com
, 则改为https://tz.test.com/json/stats.json
。配置修改完后,运行python3 bot.py
即可开始监控
Chat id是不是就是回复的那个一串数字
是的。
国内的服务器连不上github的仓库
简单方法就先本地下载下来,然后再scp上去
想请教下,为什么我这里《TCP/UDP/进/线: 0 / 0 / 0 / 0》这行的数值不变,一直是0
(っ °Д °;)っ
这里有说明,https://github.com/lidalao/ServerStatus/issues/1
我在服务端删除了return 0,0,0,0后,重启了服务器还是不显示>﹏<
如图:https://i.postimg.cc/63dwfqWG/QQ-20211211142827.png
哦,这是需要在客户端改的。
具体位置在,
/opt/sss/agent/client-linux.py
改完后,重启服务:
systemctl restart sss-agent
客户端修改好后就可以了,感谢\^o^/
想请教一下,上下线通知要如何使用?YOUR_TG_CHAT_ID和YOUR_G_BOT_TOKEN已经替换成我自己的了
我没有域名,想问下这个NODE_STATUS_URL我应该改成什么
ip+端口的形式
http://ip:port/json/stats.json
NODE_STATUS_URL = 'https://XXXXXXX/stats.json'
chat_id = os.getenv('XXXXXXXXXX')
bot_token = os.environ.get('XXXXXXXXXXXXXXXXXXXXX')
想问一下在nas里运行bot.py,已经如上修改了chatid和token还有url三个参数 python3运行的时候报以下内容错误
python3 bot.py
File "bot.py", line 22
url = f"https://api.telegram.org/bot{bot_token}/sendMessage?parse_mode=HTML&disable_web_page_preview=true&chat_id=" + chat_id + "&text=" + text
^
SyntaxError: invalid syntax
刚刚复制错了 应该是'https://xxxxxxxx/json/stats.json' 但是还是报错python3 bot.py
File "bot.py", line 22
url = f"https://api.telegram.org/bot{bot_token}/sendMessage?parse_mode=HTML&disable_web_page_preview=true&chat_id=" + chat_id + "&text=" + text
^
SyntaxError: invalid syntax
python对空格有要求,
你可以把你代码用code字段包一下发上来
服务器端安装完一键脚本,客户端也装了生成的脚步。网页小鸡状态都是关闭,这是啥原因呢?
我也是这样。。。。
机器人id APi填上了 但是 上下线没有通知 TG那边还要设置 么
File "bot.py", line 73, in
sscmd(NODE_STATUS_URL)
File "bot.py", line 65, in sscmd
send2tg(i["name"], 0)
File "bot.py", line 53, in send2tg
_send(text)
File "bot.py", line 22, in _send
url = f"https://api.telegram.org/bot{bot_token}/sendMessage?parse_mode=HTML&disable_web_page_preview=true&chat_id=" + chat_id + "&text=" + text
TypeError: can only concatenate str (not "NoneType") to str
请问我安装完以后,为啥所有数据都不动
只有ipv6的机器貌似监控不了
强迫症想把中间的“ServerStatus中文版”去掉。。
首行的emoji也想删掉
tgbot似乎的确有点灵敏。。