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传递中文乱码,所以把中文写到动作的信息里面,然后只传英文,报警
浙公网安备 33010602011771号