Sys监测可实时获取被监测服务器的各项指标数据,如内存、CPU、磁盘、网络、进程对资源的消耗、操作系统参数等,通过在服务器上部署探针,实现秒级,分钟级,小时级,天级的实时监测, 且用户可根据自身实际情况, 设置各指标阀值,当超过阀值时提供告警功能。
1.创建任务
点击持续监测下的System,页面跳转到system监测页面后,选择添加主机功能。(在该页面,您还可以看到性能魔方其他云产品,且每个产品都有示例任务,帮助您了解该产品主要功能。)
2.探针部署
根据您的需要选择相应的产品。点击确认后,将会出现探针下载及安装方法。
3.自定义数据采集
自定义数据采集,是用户根据自己业务的特性编写自定义监控脚本,并定时执行脚本生成数据。数据通过post方式传输至mmTrix监控agent,agent采集到数据后,对数据判断,产生告警。
1) 数据采集的格式说明
目前支持JSON格式,每一行为一个key-value组合,key和value之间用空格分隔,key即为metric。
(字符串采集还未上线)如果是字符串,需要在左右两边都加上双引号,数字的话直接写数值。
tags是可选参数,用于数据处理时的过滤操作,多个tags用英文逗号分隔,每个tag都是key=value的形式。
2) 升级agent后,修改agent的配置文件,增加以下配置。
vi /etc/mmtrix/mmsysmond.ini
3) 添加以下配置
; open a http port for collecting custom data when enable = true
[http_server]
enable = true
bind_addr = 127.0.0.1
bind_port = 9527
collect_url = /custom_data
4) 编写自定义脚本,示例如下:
#!/usr/bin/env python
#coding=utf8
import httplib, urllib
import time, json, random
httpClient = None
def test_daemon():
err_num = random.uniform(0, 100) #随机生成1至100的数值,真实监测时候,编写程序生成相应数值即可
val = {}
val['log_err_num'] = err_num
params = urllib.urlencode({'content': json.dumps(val)})
headers = {"Content-type": "application/x-www-form-urlencoded"}
httpClient = httplib.HTTPConnection("localhost", 9527, timeout=30)
httpClient.request("POST", "/custom_data", params, headers)
response = httpClient.getresponse()
print err_num
print response.status
print response.read()
if __name__ == "__main__":
test_daemon()
5) 通过设置白名单的方式,采集到数据,根据自定义脚本中的采集字段为log_err_num,故填写白名单如下:
6) 检验采集数据是否成功。
执行命令
python log_err_num.py
如果成功,会收到如下返回内容:
{
"code":0, // 0: 正常, 1:参数错误, 2:服务端错误
"msg":"xxxx"
}
7) Linux主机加入crontab定时任务,定时执行采集.
*/1 * * * * cd /home/opbin/zhuyusu/monitor && python log_err_num.py >> /home/opdir/zhuyusu/log_err_num.py.log
4.自定义告警策略
可将一些核心指标设置为告警策略,当满足一定条件时,将会触发告警。
对agent采集到的指标,可通过默认模式来设置告警策略。
对自定义数据采集的指标,可选择自定义模式。
5 创建告警对象和告警组
先添加告警对象,在添加告警组
个人中心—》告警组管理—》告警对象列表—》添加告警对象
个人中心—》告警组管理—》告警组列表—》添加告警组
6 告警策略应用到主机
System—》告警模板
在该页面,您可以选择创建、查看或者删除任务,或者通过URL搜索已经添加的任务。