项目地址——https://github.com/iamydp/ServerMonitorBot
这个嘛,就是把旧代码换个血就可以接着用了,自己再添加点功能就更完美。原作者已经4年没有更新了,如果他能看到这个项目还在更新的话应该会很高兴(怎么感觉怪怪的
这个项目就是为了能够在telegram上查看服务器的资源占用情况,而不用打开网页/app,虽然现在很简陋,但以后会增加一管多和一键安装某些项目的功能。

功能:

  • 命令

    • /stats - 检查磁盘/CPU/内存使用情况(正在完善中)
    • /shell - 进入执行命令模式并返回结果
    • /memgraph - 绘制近一段时间的内存使用记录表
    • /setmem - 设置内存占用告警阈值,并在占用情况高于这个值时告警
    • /setpoll - 设置探测间隔(不少于10秒)
  • 检测内存使用情况并且在高于设定阈值时通过telegram发送告警消息

/stats命令演示: Gif

Bot

/shell命令演示:

Shell

/memgraph命令演示: Gif

Graph

使用方法

所需环境

  • Python 3+
  • Telepot
  • Psutil

    • 确保Psutil是为Python3工作,而非2
    • 确保pip是最新版本:

      • curl -O https://bootstrap.pypa.io/get-pip.py
      • sudo python3 get-pip.py
      • 之后使用pip install psutil
      • 在Stackoverflow上也有相关问题的回答链接
  • matplotlib

    • sudo apt-get install python3-matplotlib
  • Bot key & tokens.py

    • 把token放在tokens.py里. tokens.py只用来保存您的chat_id和bot token.不要随便定义/更改函数名.
    • 从@Bot Father新建机器人/获取tokenBot Father
    • 克隆该仓库
    • 在本地文件夹内新建文件tokens.py

      • 已经加入.gitignore豪华套餐,所以谁的key/token都不会提交上来
    • telegrambot后字符串换成自己的token

      • 如: `telegrambot = "000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
    • 编者按:原readme中的确是这样写的,但原作者更新的时候可能忘了改了,这里直接vim编辑tokens.py_example再mv重命名去掉_example就可以了。

开始运行

python3 servstatsbot.py

将bot作为进程运行

  • 参见文件: servstatsbot.conf

    • 根据文件内注释指示更改路径
  • servstatsbot.conf放在/etc/init/
  • 用该命令启动进程: start servstatsbot

    • 之后,以下命令将可用:start|stop|restart servstatsbot
    • 如果进程崩溃将会自动重启
    • 开机启动

设定一个管理员

tokens.py中设定adminchatid变量为chat_id(如果您的工具人是个公交车,参照如下方法).

  • adminchatid = [443355]
  • adminchatid = [443355, 55667788, 99884433]
最后修改:2020 年 05 月 22 日 10 : 29 PM
如果觉得我的文章对你有用,请随意赞赏