Centos7.0 64位搭建zabbix3.0监控
一、 Zabbix简介
Zabbix是一个机遇WEB界面的提供分布式监控以及网络监控功能的企业级的开源解决方案。Zabbix server可以通过snmp、zabbix agent、ping及自定义脚本的方式收集监控数据并展示。
二、 安装zabbix server3.0
1、 系统:centos7.0 64位
2、 根据zabbix server3.0的官方要求,目前zabbix server3.0无法在centos6.x系统上进行yum安装。如果要在centos6上面安装zabbix server3.0,建议通过源码方式进行编译安装,同时需要注意php的版本,但是zabbix-agent3.0在centos6系统上可以通过yum安装。
1.1搭建lamp环境
#wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo
centos7自带的MySQL为mariadb,可通过如下命令查看:
#yum search mysql | tac
开始yum安装lamp环境
#yum install –y mariadb mariadb-server php php-mysql httpd
可以看出centos7默认安装php5.4、http2.4、mariadb5.5
Lamp安装完成后,首先配置MySQL
#systemctl enable mariadb
#systemctl start mariadb
初始化数据库:
# mysql_secure_installation
注:centos7上面的MySQL密码默认为空
查看数据库已正常启用
#netstat –antlp
接下来创建zabbix数据库及用户并授权
# mysql -uroot -p -e "create database zabbix default character set utf8 collate utf8_bin;"
# mysql -uroot -p -e "grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';"
测试新建zabbix用户是否可以正常连接MySQL数据库
#mysql –uzabbix –pzabbix
#show databases;
可以看出zabbix用户可以正常连接MySQL
启动Apache并开放80端口
#systemctl enable httpd
#systemctl start httpd
#netstat –tunl
#firewall-amd --zone=public --add-port=80/tcp --permanent
#firewall-cmd --reload
以上就完成了lamp环境的搭建。
1.2、安装zabbix server3.0
更新zabbix3.0所需的epel源和zabbix的yum源
rpm -ivh http://mirrors.aliyun.com/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
更新完yum源,开始正式安装zabbix3.0
#yum install –y zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent
导入zabbix数据库结构
#cd /usr/share/doc/zabbix-server-mysql-3.0.7/
# zcat create.sql.gz |mysql -uroot -pwestos zabbix
数据导入完成,开始配置zabbix server
# vim /etc/zabbix/zabbix_server.conf
修改#DBHost=localhost为DBHost=localhost
修改DBUser=zabbix
修改DBName=zabbix
修改DBPassword=zabbix
以上三项配置为zabbix server连接MySQL所用
接下来修改zabbix.conf
#vim /etc/httpd/conf.d/zabbix.conf
其中php_value date.timezone Asia/Shanghai用来定义php时区。
接下来将zabbix-server加入开机启动,关闭selinux,启动zabbix-server
#systemctl enable zabbix-server
#setenforce 0
#systemctl start zabbix-server
(注意:起zabbix-server 服务时有时会起不来,查看启动状态,发现libpthread-2.17.so有报错,和这个关联的包是gnutls-3.38-12.el7.x86_64,需进行降级处理
下载并安装,下载地址:http://rpm.pbone.net/gnutls-3.1.18-8.el7.x86_64 即可。
rpm -e gnutls-3.38-12.el7.x86_64 --nodeps
rpm -ivh gnutls-3.1.18-8.el7.x86_64)
最后重启Apache
Systemctl restart httpd
然后访问http://192.168.98.25/zabbix
确保以上状态全处于ok状态,否则无法进行下一步安装!
Database name:zabbix User:zabbix Password:zabbix
Username:Admin
Password:zabbix
以上就完成了zabbix server端的安装配置。
1.3配置zabbix agent
zabbix agent的配置很简单,只需要修改zabbix agent配置文件中的Server、ServerActive和Hostname这三项即可。
#vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.98.25
ServerActive=192.168.98.25
Hostname=192.168.98.25
由于是监控本机,所以配置Hostname=192.168.98.25
启动zabbix agent
#systemctl enable zabbix-agent
#systemctl start zabbix-agent
防火墙放行10050端口
三、 添加监控主机配置邮件告警及微信告警
3.1 创建监控主机(Host)
点击“配置à主机à创建主机”
添加主机IP、主机描述、所在群组
配置主机模板(Templates)
3.2 配置告警
3.2.1 邮件告警
点击“配置à动作à创建动作”
名称:自定义 见名知意即可(mail)
默认收件人:
主机告警!{TRIGGER.STATUS}: {TRIGGER.NAME}
默认信息:
[主机告警!]
告警主机:{HOSTNAME1}
主机IP:{HOST.IP}
告警时间 :{EVENT.DATE} {EVENT.TIME}
触发器名称: {TRIGGER.NAME}
当前状态: {TRIGGER.STATUS}
告警项目:{TRIGGER.KEY1}
告警级别 :{TRIGGER.SEVERITY}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件ID :{EVENT.ID}
URL:http://192.168.98.15/zabbix/
By :李恒- ZABBIX3.0
恢复主题:
恢复通知!{TRIGGER.STATUS}: {TRIGGER.NAME}
恢复信息:
[恢复通知!]
告警主机:{HOSTNAME1}
主机IP:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.TIME}
告警级别:{TRIGGER.SEVERITY}
触发器名称: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
URL:http://192.168.98.15/zabbix/
By :李恒-ZABBIX3.0
3.2.2:配置操作
四、 配置报警媒介及用户
4.1 定义报警媒介
点击“管理à报警媒介类型à创建媒体类型”
名称自定义,见名知意即可,类型选择脚本,脚本名称:mail.sh。
脚本参数:
{ALERT.SENDTO} 定义收件人
{ALERT.SUBJECT} 定义标题
{ALERT.MESSAGE} 告警内容
4.2 配置用户报警媒介
4.3 服务器中配置
#yum install –y mailx dos2unix
#vim /etc/mail.rc
添加以下三行
set [email protected] smtp=43.$.$.180
set smtp-auth-user=AC_monitor [email protected]
set smtp-auth=login
#cd /usr/lib/zabbix/alertscripts/
#vim mail.sh
#!/bin/bash
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
#chown zabbix.zabbix mail.sh