zabbix自定义监控及邮件

在server端配置如下:

[root@xiaofeng alertscripts]# cat /usr/local/zabbix/etc/zabbix_server.conf |grep -v '^#'|grep -v '^$'
LogFile=/tmp/zabbix_server.log
DBHost=localhost                                                                                                  # mysql的位置
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
Timeout=4
AlertScriptsPath=/usr/local/share/zabbix/alertscripts                                            #存放第三方邮件的发送脚本
LogSlowQueries=3000

[root@xiaofeng alertscripts]# pwd
/usr/local/share/zabbix/alertscripts

[root@xiaofeng zabbix_agentd.conf.d]# cat /usr/local/share/zabbix/alertscripts/mailx.sh
#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1

注意: mailx.sh  zabbix 用户要有执行权限

在agent端配置如下;

[root@xiaofeng alertscripts]# cat /usr/local/zabbix/etc/zabbix_agentd.conf |grep -v '^#'|grep -v '^$'
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1,192.168.0.208
ServerActive=127.0.0.1,192.168.0.208
Hostname=xiaofeng
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/                            # 自定义的监控项放在该目录下

[root@xiaofeng zabbix_agentd.conf.d]# cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
UserParameter=mysql.ping,mysqladmin -uroot -p123456 ping | grep -c alive
UserParameter=message,/bin/bash /data/shell/message.sh
UserParameter=vimm,/bin/bash /data/shell/psvim
UserParameter=rsyslog,/bin/ps aux |grep rsyslogd|grep -v grep |wc -l

[root@xiaofeng alertscripts]#

在web上做如下配置,先链接基础模板temlage os  linux

配置自定义的item,zabbix agent配置文件指定的key

监控项之后是触发器配置,接下来是动作了

 

 

 

配置邮件发送功能:

报警媒介配置

 

 

新增用户配置,给什么用户发邮件

 

你要使用第三方发送邮件,当然要修改mail.rc,,在文件最后加上

set from=xxx@xxx.com
set smtp=smtp.exmail.qq.com
set smtp-auth-user=xxx@xxx.com
set smtp-auth-password=xxxx
set smtp-auth=login
[root@xiaofeng zabbix_agentd.conf.d]# cat /etc/mail.rc

附录:zabbix环境安装

算了,网上有,我tm就不写了,反正也是超的

解决zabbixweb上配置的主机名,item名,trigger name中文乱码问题

这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可

找到本地C:\Windows\Fonts\simkai.ttf(楷体),上传到服务器zabbix网站目录:\var\www\html\zabbix\fonts下

修改zabbix的web端/var/www/html/zabbix/include/defines.inc.php

将DejaVuSans替换为simkai,一共有两处

define('ZBX_FONT_NAME', 'DejaVuSans');

define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name

改为

define('ZBX_FONT_NAME', 'simkai');

define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name

ZABBIX_PATH=/var/www/zabbix

一、

在$ZABBIX_PATH/include/defines.inc.php文件中修改771行(zabbix-2.2.8),加入中文字符支持,原始正则:

1
define('ZBX_PREG_INTERNAL_NAMES''([0-9a-zA-Z_\. \-]+)');

修改为:

1
2
// \x80-\xff:匹配用GBK (GB2312/GB18030)编码的所有汉字和标点符号
define('ZBX_PREG_INTERNAL_NAMES''([0-9a-zA-Z_\. \-\x{80}-\x{ff}]+)');/* !!! Don't forget code with C !!! */

二、

在$ZABBIX_PATH/include/classes/parsers/CTriggerExpression.php文件中修改759行(zabbix-2.2.8),使触发器表达式支持中文:

1
2
3
4
5
6
7
8
9
private function isHostChar($c) {
$cc=ord($c);
if (($c >= 'a' && $c <= 'z') || ($c >= 'A' && $c <= 'Z') || ($c >= '0' && $c <= '9')
|| $c == '.' || $c == ' ' || $c == '_' || $c == '-' || $cc > 127) {
return true;
}
 
return false;
}

最后送给你们一个关于动作的配置详解:

http://www.xiaomastack.com/2014/10/11/zabbix08/

比如说,你有一群主机上有个监控项需要单独做个动作报警,因为我自己的是python传递中文乱码,所以把中文写到动作的信息里面,然后只传英文,报警

 

posted @ 2018-01-08 08:12  jianxiaofeng  阅读(388)  评论(0)    收藏  举报