xiaheli 发表于 2021-2-21 09:20

心动HeartMove服务器监测程序

请在gitee上支持我:https://gitee.com/xiaheli/heart-move/

HeartMove(心动,简称HM)是一个用于监测服务器是否宕机的程序(一定意义上也具有检测服务器网络连接是否通畅的功能)HM客户端(client,即被监测端)是一个利用轮询式请求一个网址的python程序,同时还有两个附属功能就是监测内网IP和外网IP。HM服务端(server,即检测端,需要保证检测端24h开机)是一个mysql\python\php三者联合的应用程序,第一者负责记录日志,第二者负责进行通知和监听,第三者负责受理HM-client报告的数据
<!--more-->

## 程序运行时环境

### Client

*   Python3.x.x
*   Python-Urllib(2)(.request/.parse)
*   Python-Requests

### Server

*   PHP 5.x以上
*   PHP-Mysqli
*   Mysql任意
*   Python3.x.x
*   Python-PyMySql
*   Python-Requests

## 功能

### SMS短讯功能

*   无法将数据报告到监测端
*   无法将数据日志记录到数据库
*   距离上一次client成功报告已经过去150s
SMS短讯功能由“网建SMS”提供,网建SMS的短信是收费功能,你需要去充值才行http://www.smschinese.cn/

SMS短信变量配置:你需要配置这些变量,这样才能访问SMSapi并发送短信。发送SMS消息,必须链接到internet

Client和Server都需要配置
<div>
<pre>re_phone = ''#你想要SMS通知的手机号 客户端在client/heartmove.py:11 服务端在server/listencheck.py:13
sec_key = ''#你的网建SMS SecretKey 客户端在client/heartmove.py:12 服务端在server/listencheck.py:14
reqs_url = ''#你监测端的status_listener.php的网络地址,只有客户端需要配置在client/heartmove.py:10</pre>

###  日志功能

日志功能是基本功能,日志会向[你指定的数据库](#db_vars)记录信息,信息包括以下几个东西
<table>
<tbody>
<tr>
<td>ip</td>
<td>ip_inet</td>
<td>report_time</td>
<td>server_status</td>
</tr>
<tr>
<td>公网ipv4</td>
<td>内网ip</td>
<td>接到报告的时间(非报告时间)</td>
<td>服务器状态</td>
</tr>
</tbody>
</table>
日志功能可以单独启用,如果你想要只使用日志功能,你不必启用listencheck.py
<pre id="db_vars">#数据库的配置 在 server/listencheck.py:8-11
dbhost = ""#数据库地址,一般为localhost
dbusrname = ""#数据库用户名
dbpwd = ""#数据库密码
dbname = ""#数据库名
excelname = ""#数据表名
//数据库的配置 在 server/status_listener.php:5-9
$servername = "";//数据库地址,一般为localhost
$username = "";//数据库用户名
$password = "";//数据库密码
$dbname = "";//数据库名
$excelname = "";//数据表名
</pre>

## 安装

### Client

/client内的系统shell中输入下面的命令
请确保已经解压缩
<pre>python3 heartmove.py</pre>

### Server

只需要很简单的将status-listener.php复制到一个配置好php的web服务器目录下即可启用日志功能,如需启用自动sms短讯功能,你还需要在/server下的系统shell中输入以下命令
<pre>python3 listencheck.py</pre>

## 下载

GITEE下载 https://gitee.com/xiaheli/heart-move/
CDN下载 http://cdn.xiahe.site/blogcdn/心动HeartMove.zip

</div>
页: [1]
查看完整版本: 心动HeartMove服务器监测程序