web监控

有单独的栏目,或者也直接用模板,类似完成网络爬虫的功能,可以看李振良关于这个的为web讲解。

自定义监控项

创建一个监控项后,一定要记得重起agent服务,不然你添加到了监控项里面会显示不支持什么的,到时一脸蒙蔽

监控nginx

利用他的status做自定义监控项

监控tcp连接状态

就是通过ss命令看到的tcp连接状态,用awk等统计

获取fpm状态

curl 127.0.0.1/php_fpm_status

pool:                 www
process manager:      static
start time:           02/Jun/2017:17:45:05 +0800
start since:          58677
accepted conn:        10753843
listen queue:         0
max listen queue:     0
listen queue len:     0
idle processes:       249
active processes:     1
total processes:      250
max active processes: 251
max children reached: 0
slow requests:        426

 

监控mysql时关键点

1.默认的mysql监控模板是里面自定义的时候是没有密码的,所以要免密,在my.cnf里面可以设置

 

 

a.监控java的话,被监控主机不需要有agent,从李振良架构图里面就可以看到不需要agent。

b.被监控端,设置tomcat开启远程连接。比如tomcat,在catalina.sh脚本里要加入一行配置,想外面开放的地址可以写公网ip(阿里云)重起后监听端口12345

c.自定义监控项,直接去创建监控项就可以了,参数写在jmx[xx,xxx]里面,不需要在设置UserParameter

zabbix-java-gateway启动后监听10052端口,可以不和zabbix-server装在一台机器

 

然后再去创建主机,关联jmx模板.java1.8以后主要还是老年代的堆内存溢出,持久带堆内存溢出1.8以后改为物理内存了(所以持久带堆内存溢出几乎没有了)。

关于排错:可以客户端用cmdline-jmxclient-0.10.3.jar去排错,可以正常连接了说明正常了。

 

3.自动注册

a.agent配置文件里面指定主机名,主机源数据,以及主动汇报的ip地址。

b.配置文件里面有个坑,Listenip那里如果是zyj的服务器(阿里云主机),不是同一个内网,干脆就删除。

不然自动注册的时候他监听的ip是识别那里面写的ip,而直接写公网ip重起汇报错,反而删除以后能正常识别到公网ip。

c.设置好以后到动作里面去创建自动注册,可以设置元数据,主机,agent等识别,以及执行动作等

分布式监控也可以自动注册 主机注册到proxy 事件添加proxy过滤

 

4.邮件告警设置

触发器触发后执行动作

邮件,威信,钉钉告警都可以用python的脚本用post等实现。

云上发邮件的25端口可能会禁止,可以问客服。

第0步:server配置里面指定报警脚本目录,以及添加对应脚本

zabbix_sendmail.py 权限都设置是zabbix用户和组,有执行权限

./zabbix_sendmail.py zqjk8s@163.com subject_test mycontent

第一步:添加报警媒介类型

管理-报警媒介类型—创建一个媒体类型—-类型选脚本,名称直接用python脚本名,然后加三个参数(发送给谁,主题,内容)—添加(可以设置多少级别才发送,比如严重级别才发送。达到对应级别的报警邮件就会发出)

第二步:给用户添加报警媒介

用户–比如给已有的admin用户添加报警媒介—报警媒介—类型选择自己前面定义的媒体类型,收件人自己添加一个邮箱——再点权限,发送的这个人必须要对主机有读写权限,默认admin是有的。

如果自己创建的用户要有读权限才能收到邮件。

第三步骤:动作-事件源(触发器)-创建动作

添加报警和恢复操作

1.名称和触发条件,报警收件人和恢复收件人一致。

发表评论

邮箱地址不会被公开。 必填项已用*标注