centos7安装ZABBIX 3.0+ 邮件报警【OK】

设置主机名:
vi /etc/hosts
10.0.0.252 zabbix-server
hostnamectl set-hostname
 
关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
 
关闭selinux:
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
 
配置yun源
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
 
安装服务器端包
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server zabbix-get
 
启动mariadb
systemctl start mariadb
systemctl enable mariadb
 
创建zabbix数据库
mysqladmin -uroot password root
mysql -uroot -proot
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;
退出
 
导入初始模式和数据
cd /usr/share/doc/zabbix-server-mysql-3.0.10/
zcat create.sql.gz |mysql -uroot -proot zabbix          //执行后会自动创建zabbix库及zabbix帐号(密码也是zabbix)
 
vim /etc/zabbix/zabbix_server.conf
91:DBName=zabbix
107:DBUser=zabbix
115:DBPassword=zabbix
 
systemctl start zabbix-server
systemctl enable zabbix-server
 
vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300       //以下信息原来就有
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
#php_value date.timezone Europe/Riga
php_value date.timezone Asia/Shanghai        //追加一条信息
 保存退出
 
systemctl start httpd.service
systemctl enable httpd.service
 
浏览器打开http://10.0.0.252/zabbix/setup.php,进行图形化安装。按默认点击即可。
 
登录zabbix,管理员帐号/密码:Admin/zabbix
 

zabbix3.0中文乱码问题的解决:
 
1.将windows的c:\windows\fonts\msyh.ttf字体文件上传到/usr/share/zabbix/fonts/目录下
2.vim /usr/share/zabbix/include/defines.inc.php
#复制第93行,生成新行,将原来的行注释掉。并将新行修改成以下内容:
define('ZBX_FONT_NAME','msyh');
#复制第45行,生成新行,将原来的行注释掉。并将新行修改成以下内容:
define('ZBX_GRAPH_FONT_NAME', 'msyh'); //最好通过复制方式,否则容易导致无法打开zbx站点
如下图:
保存退出。刷新浏览器即可解决中文乱码问题。
 

安装和配置客户端:
 
客户端是centos7.0:
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum -y install zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf
Server=zabbix服务器IP
ServerActive=zabbix服务器IP
保存退出
systemctl enable zabbix-agent
systemctl start zabbix-agent
-------------------
 
客户端是centos6.X系列:
1)
tar -xzf zabbix-2.4.5.tar.gz
cd zabbix-2.4.5
./configure --prefix=/usr/local/zabbix --enable-agent && make && make install && echo ok
 
2)
拷贝相关的配置文件到/etc下并进行相关配置修改:
添加zabbix用户和组
groupadd -g 1001 zabbix
useradd -g zabbix -u1001 -s /sbin/nologin zabbix
 
3)
拷贝相关的配置文件到/etc下并进行相关配置修改
ln -s /usr/local/zabbix/etc/ /etc/zabbix
ln -s /usr/local/zabbix/bin/* /usr/bin/
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
chown -R zabbix:zabbix /usr/local/zabbix/
a).修改zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf
Server=zabbix服务端IP //被动模式
 
ServerActive=zabbix服务端IP //将客户端收集到的数据发送给哪个IP,主动模式
Hostname=zabbix服务端主机名 //显示这个数据是由谁发送的,该主机名要与zabbix管理界面设置的主机名一致
保存退出
 
4)
添加开机启动脚本
cp /opt/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
:wq
 
chmod u+x /etc/rc.d/init.d/zabbix_agentd
chkconfig zabbix_agentd on
/etc/init.d/zabbix_agentd start
 

配置邮件报警:
 
1.安装邮件发送工具mailx
systemctl stop sendmail
systemctl stop postfix
systemctl disable sendmail
systemctl disable postfix
yum -y install mailx
 
2.配置mailx
vim /etc/mail.rc
文件末尾添加以下内容
set from="发件箱email地址"
 
set smtp=发件箱smtp服务器地址
set smtp-auth-user=发件箱email地址
 
set smtp-auth-password=发件箱email密码
set smtp-auth=login
 
保存退出
 
3.使用mailx发邮件的方式
方式1:mailx -s "邮件标题" 收件箱Email < 包含正文的文件
方式2:cat 包含正文的文件 | mailx -s "邮件标题" 收件箱Email
方式3:echo "正文内容" | mailx -s "邮件标题" 收件箱Email
方式4:mailx -s "邮件标题" 收件箱Email,回车按CTRL+D发送
 
4.配置zabbix服务端邮件报警
1.点击‘管理’——》报警媒介类型——》创建媒体类型
 
名称:sendmail //名称任意
类型:脚本
脚本名称:sendmail.sh      //名称任意,存放于/usr/lib/zabbix/alertscripts (生产上的测试服放这:/usr/local/zabbix/share/zabbix/alertscripts)
脚本参数:                         //一定要写,否则可能发送不成功
{ALERT.SENDTO} //照填,收件人变量
{ALERT.SUBJECT} //照填,邮件主题变量,变量值来源于‘动作’中的‘默认接收人’
{ALERT.MESSAGE} //照填,邮件正文变量,变量值来源于‘动作’中的‘默认信息’
 
2.修改zbx服务端配置文件&编写脚本:
vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts //指定脚本的存储路径
保存退出。
cd /usr/lib/zabbix/alertscripts
vim sendmail.sh     //编写邮件脚本
#!/bin/sh
 
#export.UTF-8
echo "$3" | sed s/'\r'//g | mailx -s "$2" $1
保存退出。
 
chmod u+x sendmail.sh && chown zabbix. sendmail.sh
 
3.修改admin用户的报警媒介:
用户默认是没有设置报警媒介的,设置后就可以接收报警消息了。
管理——》报警媒介类型——》Admin——》报警媒介
 
 
填写收件人及接收的报警级别:
 
点击‘管理’——》‘用户群组’——》点击zbx administrators右边的启动调试模式:
 
配置——》动作——》创建动作:
默认接收人:故障级别:{TRIGGER.STATUS}。服务器:【{HOSTNAME1} 】 发生:{TRIGGER.NAME} 故障! 
 //默认接收人:相当于邮件的主题
名称:任意写
 
默认信息:邮件的主题
告警主机:{HOSTNAME1}
 
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
 
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
 
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
 
事件ID:{EVENT.ID}
[系统告警Email,不必回复]
 
恢复邮件:
恢复主题:服务器:【{HOSTNAME1}】故障已恢复。故障原因:{TRIGGER.NAME} 
恢复信息:恢复邮件的正文。当故障恢复正常后也发邮件通知一下。
 
当出现以下提示时,表示‘操作’选项没有设置。‘动作’与‘操作’这两个选项都要设置完毕,才能成功建立‘动作’:
 
继续设置:
点击‘操作’——》编辑:
发送间隔:60秒
步骤:发送50次
发送到:admin用户
仅使用:sendmail方式发送
 
修改zabbix服务端的监控项,将监控项的数据更新间隔调小些(如60秒),以便不必等待太长时间观察是否会发送邮件:
 
 
测试报警:
systemctl stop zabbix-agent,关掉服务后,邮箱会收到报警:
 
 
1.告警事件出来后,由哪个zbx帐号通知运维(配置——》动作——》操作——》发送到用户)
2.以哪种媒介(短信/邮件)通知运维(管理——》用户——》报警媒介)
3.消息发到哪个运维帐号(管理——》用户——》报警媒介)
4.消息的格式是怎样的(配置——》动作)
5.消息的发送频率是怎样,由哪个程序去发送(配置——》动作——》操作)
6.邮件脚本的名字和存储路径(管理——》报警媒介类型)
7.故障恢复后是否发送恢复消息(配置——》动作)
 
posted @ 2017-09-22 18:31  浆糊jun  阅读(2217)  评论(0编辑  收藏  举报