Centos7+Zabbix4.0+Emall报警部署
1. 安装ZABBIX所需组件
yum -y install wget net-snmp* OpenIPMI-devel httpd openssl-devel java lrzsz fping-devel libcurl-devel perl-DBI pcre-devel libxml2 libxml2-devel mysql-devel gcc php php-bcmath php-gd php-xml php-mbstring php-ldap php-mysql.x86_64 php-pear php-xmlrpc net-tools vim-enhanced
systemctl stop firewalld.service
systemctl disable firewalld.service
vi /etc/selinux/config
SELINUX=disabled
reboot
2. 启动apache以及开放80端口
systemctl start httpd.service
netstat -ltun
1.3. zabbix安装
mkdir /zabbix
cd /zabbix
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql -y
1.4. 安装Mariadb和httpd
yum -y install mariadb mariadb-server
systemctl enable mariadb.service
systemctl start mariadb.service
初始化Mysql
mysql_secure_installation
进入Mysql
mysql -uroot -pP@ssw0rd
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql -uzabbix -pzabbix
show databases;
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix zabbix
1.5. 编辑Zabbix_server配置文件
vi /etc/zabbix/zabbix_server.conf
DBPassword=zabbix
1.6. 修改zabbix时区
vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Chongqing
1.7. 把zabbix-server加入开机启动,并启动zabbix-server
systemctl start zabbix-server.service
systemctl enable zabbix-server.service
systemctl restart httpd.service
systemctl enable httpd.service
8. 配置zabbix
http://ip/zabbix
User: Admin
Pw: zabbix
配置邮件报警:
9.1安装邮件发送工具mailx
systemctl stop sendmail
systemctl stop postfix
systemctl disable sendmail
systemctl disable postfix
yum -y install mailx
9.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
保存退出
9.3使用mailx发邮件的方式
方式1:mailx -s "邮件标题" 收件箱Email < 包含正文的文件
方式2:cat 包含正文的文件 | mailx -s "邮件标题" 收件箱Email
方式3:echo "正文内容" | mailx -s "邮件标题" 收件箱Email
方式4:mailx -s "邮件标题" 收件箱Email,回车按CTRL+D发送
mailx -s "tesyt" 收件Email
9.4配置zabbix服务端邮件报警
1.点击‘管理’——》报警媒介类型——》创建媒体类型
名称:sendmail //名称任意
类型:脚本
脚本名称:sendmail.sh //名称任意,存放于/usr/lib/zabbix/alertscripts (生产上的测试服放这:/usr/local/zabbix/share/zabbix/alertscripts)
脚本参数: //一定要写,否则可能发送不成功
{ALERT.SENDTO} //照填,收件人变量
{ALERT.SUBJECT} //照填,邮件主题变量,变量值来源于‘动作’中的‘默认接收人’
{ALERT.MESSAGE} //照填,邮件正文变量,变量值来源于‘动作’中的‘默认信息’
9.5修改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
9.6修改admin用户的报警媒介:
用户默认是没有设置报警媒介的,设置后就可以接收报警消息了。
管理——》报警媒介类型——》Admin——》报警媒介
填写收件人及接收的报警级别:
点击‘管理’——》‘用户群组’——》点击zbx administrators右边的启动调试模式:
9.7创建动作
配置——》动作——》创建动作:
默认接收人:故障级别:{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.故障恢复后是否发送恢复消息(配置——》动作)