1 Star 0 Fork 99

finalfansity / xmonitor-client

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

#XMonitor-Client 开源的Linux服务器监控,数据采集,Linux服务器运维的有力助手。支持:http监控,进程监控,MySQL监控,TCP监控,PING监控,命令结果监控。灵活使用会有意想不到的效果。 使用只要下载:xmonitor-client_x.x.x.tar.gz压缩文件即可. #XMonitor-Client手册 V1.0.2

0.相关说明
环境要求:Linux系统,jdk1.7及以上
配置文件是config/client.xml
日志配置文件config/logback-log.xml,基于logback。正式使用的时候可以注释掉appender-ref ref="STDOUT"
启动,关闭,查看状态:
cd {xmonitor-client目录}
启动:/bin/bash bin/xmointor.sh start
关闭:/bin/bash bin/xmointor.sh stop
查看状态:/bin/bash bin/xmointor.sh status
调试:/bin/bash bin/xmointor.sh debug

**1.**xmonitor-client配置是模块化的结构。每个module模块有一个或多个task任务组成。

**2.**每个task任务可以像linux的crontab计划任务一样随意的定期执行,语法完全和crontab一样。
可以通过task的cron属性定义执行周期。

**3.**关于“task任务的输出”的解释,由于有很多种任务,大部分任务都是有输出的,
比如http任务,task的输出结果是html。命令结果监控任务,task输出结果就是命令的执行输出结果。
凡是这种task中会产生输出的结果在XMonitor-Client里称为“task任务的输出”。

**4.**可以通过status属性开启或者关闭一个module和task,status为close时module或者task不再起作用,默认为:open

**5.**每个task任务有success成功,error失败,recovery恢复三个状态。

**6.**每个task任务状态发生后都可以把task任务输出的数据和其它信息,
使用email或者http的方式发送到自定义的服务端。还可以执行一些系统命令。

**7.**所有超时时间单位均为:毫秒,1秒=1000毫秒

8.success模块介绍
success模块是当输出结果“匹配成功”后触发的模块。
“匹配成功”可以是对flag的匹配或者模块里的定义的其它规则匹配成功。
success模块被触发后可以通过mailto、request和cmd模块,发送邮件,http请求,执行系统命令。

9.error模块介绍
error模块是当输出结果“匹配失败”后触发的模块。
“匹配失败”可以是对flag的匹配或者模块里的定义的其它规则匹配失败。
error模块被触发后可以通过mailto、request和cmd模块,发送邮件,http请求,执行系统命令。
error模块有两个属性:
warn_count :task匹配失败但是不一定会触发失败模块,只有失败的次数超过warn_count次失败模块就会被触发。
skip_count :失败模块被触发后,如果持续失败,那么会跳过skip_count次然后再次触发失败模块,避免短时间内频繁的错误警告。
max_warn_count:如果长时间内错误一直持续,error模块最多会被触发max_warn_count次,以后不会再触发,直到故障恢复。
这样当故障短时间无法解决,能避免频繁的故障通知。

10.recovery模块介绍
recovery模块是当任务由失败状态转为成功状态的时候会被触发一次。这里可以进行“服务恢复正常”时要做的事情
“匹配成功”可以是对flag的匹配或者模块里的定义的其它规则匹配成功。
recovery模块被触发后可以通过mailto、request和cmd模块,发送邮件,http请求,执行系统命令。

11.flag模块介绍
flag是对task的输出结果进行判断是否正常的模块,如果正常,则触发success成功模块。
假定flag包含的值是value,task输出是output
flag的type属性有:
emptpy :output为空则成功
include :output中包含value则成功
exclude :output中不包含value则成功
any :output任意内容都成功
reg :output匹配正则表达式value则成功
http :flag里面的request模块成功则flag成功
number :output是整数或者小数则成功
>= :output >= value 成立则成功
= :output == value 成立则成功
<= :output <= value 成立则成功
flag可以在success和request中使用。

12.mailto模块介绍
mailto模块用来发邮件,可以把任务的输出发送给一个或者多个to收件人。
关于发邮件:
global里面有个mailto发邮件的全局设置,这里可以定义一个或者多个全局的to收件人。
client里面有个email发邮件用到的帐号配置,可以定一个或者多个account。每个account都有个id,id对应mailto的account_id,告诉mailto使用哪个账号

13.request模块介绍
request模块用来发http请求,支持http和https,可以把任务的输出发送到指定的URL。
可以
1.通过属性method指定是get还是post
2.通过属性code定义返回的http状态码用来判断是否请求成功
3.还可以通过定义一个flag对提交数据指定的URL的输出结果进行匹配作为判断是否请求成功
4.可以定义一个form,指定要发送的数据,form可以看作一个html表单,
item就是一个表单元素,name属性是get或者post中使用的参数名称,
item包含的值就是参数数据。

14.cmd模块介绍
cmd模块用来执行系统命令。可以通过timeout属性定义命令执行超时时间。0意味着不超时。
cmd标记包含的之就是要执行的命令,命令可以是串连的,比如:service mysql status || service mysql start

15.变量介绍
request的form里的item以及mailto里的title和content里面可以用的变量有:
   {output}     : task输出的内容
   {code}      : 错误状态码:
                  1:匹配规则失败
                  2:命令执行失败
                  3:匹配状态码失败
                  4:主机地址不存在
                  5:操作超时
                  6:连接失败
   {time}       : task发生的时间戳,单位秒
   {time_str}     : task发生的时间信息,格式:2014-03-03 12:34:00
   {err_time}     : 恢复时,错误持续的时间,单位秒
   {err_time_str}  : 恢复时,错误持续的时间信息,格式:x天x时x分x秒

16.config/clinet.xml配置文件结构图
配置文件结构图

The MIT License (MIT) Copyright (c) 2014 狂奔的蜗牛. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

开源的Linux服务器监控,数据采集,Linux服务器运维的有力助手。支持:http监控,进程监控,MySQL监控,TCP监控,PING监控,命令结果监控。灵活使用会有意想不到的效果。 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/fansity/xmonitor-client.git
git@gitee.com:fansity/xmonitor-client.git
fansity
xmonitor-client
xmonitor-client
master

搜索帮助

14c37bed 8189591 565d56ea 8189591