一、首先安装mailx组件并配置好能够通过三方邮箱发送邮件
|
|
然后编辑mailx的配置文件
|
|
技术面前,永远都是学生。
zabbix 是另外一个用得比较多的监控工具,同样也需要 apache+php 的支持,但它比 nagios 要多一个 mysql ,因为它有数据需要储存。所以,安装 zabbix,必须要安装 mysql 。
在安装 zabbix 之前,也需要安装 epel 扩展源,因为 centos 自带 yum 源是没有 zabbix 的。
|
|
由于测试环境上面使用的zabbix服务器配置比较低,经常会遇到性能瓶颈(主要是数据库和磁盘I/O等),于是倒逼我使用了一些方式来缓解这些问题。
主要是以前使用的那个备份数据库的脚本是对zabbix数据库进行全备的,使用的又是mysql自带的工具mysqldump,当数据量大了之后进行全备所花的时间比较长,这样将会造成数据库的锁读。。。从而使zabbix服务以为mysql死掉了,产生一大堆的报警。
后来发现原来造成数据库数据量大量增加的是zabbix数据库中的一些存储数据的大表导致的。于是备份数据库的时候可以选择跳过这些表进行备份,这样,将大大减少数据库备份所花的时间(PS:之前备份数据库所花时间在十分钟左右,现在跳过大表备份,所花时间在1S左右就能备份完,大大缩短了备份数据库时间)。
由于最近监控的H3C路由器经常出现死机现象,SNMP获取不到数据,后面检查发现是CPU使用率过高,直接导致无法处理SNMP请求,所以需求来了,怎样通过SNMP监控H3C路由器的CPU和内存使用率?
由于CPU和内存的IOD号是H3C厂商没有公布的,所以不好找,在网上百度了一些资料查找H3C网络设备的CPU和内存OID号,这里做个记录,以供以后参考。
需要对特定服务进行监控,于是,通过编写脚本获取各个进程占用系统资源的信息,从而使用zabbix采集到这些数据进行特定进程的基础监控。
主要需要监控的程序如下:
nginx、 redis、 mysql、 tomcat、 sentinel、 mongodb、 openfire、 kafka、 zookeeper、 twemproxy、 mycat
通过nginx调用php-fpm来查询php的状态信息
首先,在php的配置文件中添加一行
|
|
|
|
首先,在nginx的配置文件中添加如下一段代码
|
|
Zabbix自己提供的模板可以监控mysql slow queries,mysqlversion,uptime,alive等。
Zabbix官方提供的监控mysql的模板Template AppMySQL,可以看到相关的Items和key。
把该模板Template App MySQL Link到相关的主机上面,发现Item的Status是不可用的,因为key的值是通过Mysql用户查看”showglobal status”信息或者用mysqladmin命令查看status或extended-status的信息而取的值。
|
|
mongodb的监控,下面是部署过程:
第一步,先在zabbix_agentd.conf中追加下面的内容,主要是调用mongo这个工具通过db.serverStatus()函数获取mongodb的状态,这里需要注意的是连接的IP和端口不能配置错误,最好是要检查一下mongodb的配置文件里面的IP和端口是否一致:
这个是字体的问题,解决办法如下:
yum 安装的zabbix 字体并不是在 /usr/share/zabbix/fonts下而是在/usr/share/zabbix/fonts/dejavu 下,具体配置可以通过查看配置文件:/usr/share/zabbix/include/defines.inc.php