一、准备环境
1.1两台主机
zabbix-server 192.168.171.11
zabbix-agent 192.168.171.12
关闭防火墙和selinux
systemctl stop firewalld.service && systemctl disable firewalld.service
临时关闭selinux
setenforce 0
永久关闭selinux
sed -i ‘s/^SELINUX=enforcing/SELINUX=disabled/g’ /etc/sysconfig/selinux
1.2准备zabbix源,这里使用的脚本部署的阿里源
两台主机都需要执行
#vim zabbix.sh
#!/bin/sh
echo -e "请给出要安装的zabbix版本号,建议使用4.x的版本 \033[31musage:./zabbix_aliyun.sh 3.4|4.0|4.4|4.5 \033[0m"
echo "例如要安装4.4版本,在命令行写上 ./zabbix_aliyun.sh 4.4"
if [ -z $1 ];then
exit
fi
VERSION=$1
if [ -f /etc/yum.repos.d/zabbix.repo ];then
rm -rf /etc/repos.d/zabbix.repo
fi
rpm -qa | grep zabbix-release && rpm -e zabbix-release
if [ $VERSION == 3.4 ];then
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/$VERSION/rhel/7/x86_64/zabbix-release-$VERSION-1.el7.centos.noarch.rpm
else
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/$VERSION/rhel/7/x86_64/zabbix-release-$VERSION-1.el7.noarch.rpm
fi
sed -i "s@zabbix/.*/rhel@zabbix/$VERSION/rhel@g" /etc/yum.repos.d/zabbix.repo
sed -i '[email protected]@mirrors.aliyun.com/zabbix@g' /etc/yum.repos.d/zabbix.repo
[ $? -eq 0 ] && echo "阿里云的zabbix源替换成功" || exit 1
添加执行权限
#chmod +x zabbix.sh
执行脚本
#./zabbix 3.4 这里安装的3.4版本
清除yum缓存,并生成新的缓存
#yum clean all
#yum makecache
二、zabbix主机部署
2.1zabbix-server主机部署
2.1.1安装zabbix相关服务
#yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent
2.1.2安装数据库(这里安装的mariadb)
#yum -y install mariadb mariadb-server
启动并永久启动mariadb
#systemctl start mariadb && systemctl enable mariadb
授权zabbix账号
#mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;
flush privileges;
初始化zabbix
#cd /usr/share/doc/zabbix-server-mysql-3.4.1/
#zcat create.sql.gz | mysql -uroot zabbix
2.1.3修改zabbix-server配置文件
#vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
2.1.4启动zabbix
服务端
#systemctl start zabbix-server.service && systemctl enable zabbix-server.service
客户端
#systemctl start zabbix-agent && systemctl enable zabbix-agent
2.1.5修改PHP zabbix文件的时区
#vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
启动httpd服务
#systemctl enable httpd && systemctl start httpd
至此,zabbix服务已部署完毕,通过浏览器访问192.168.171.11/zabbix进去Zabbix安装向导
,数据库信息那里端口默认为0,不能修改为3306端口,最后提示成功,就可以登录zabbix页面,默认账号Admin,密码zabbix
2.2 zabbix-agent部署
2.2.1安装zabbix客户端
#yum -y install zabbix-agent
2.2.2配置住服务器地址
#vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.171.11 #被动模式(客户端自动上报) zabbix-server-ip ,如果有多台zabbix-server,用逗号隔开,Server=192.168.171.11,192.168.171.10
ServerActive=192.168.171.11 #主动模式 zabbix-server-ip (谁从我这里采集数据。)
Hostname=zabbix-agent #客户端主机名,建议使用 $HOSTNAME
2.2.3 启动zabbix-agent
#systemctl start zabbix-agent && systemctl enable zabbix-agent
验证是否启动成功(客户端端口10050,服务端端口10051)
#ss -anlp |grep :10050
2.3通过命令行监控
zabbix_get -s 192.168.171.12 -k system.uname
zabbix_get -s 192.168.171.12 -k system.cpu.load[all,avg15]
…
2.4web页面图形监控
2.4.1添加主机群组
2.4.2创建主机
2.4.3创建图形
以后就可以在图形中镜像监控httpd服务是否正常
2.5 Template(模板)
常用模板
Template App HTTP Service
Template App MySQL
Template OS Linux
应用集app
通常是监控项目的归类。比如CPU类,内存类,网卡类,系统类
监控项item
通常是具体的监控参数。比如内存的总大小,剩余空间,使用空间等
取值的数据类型/单位:磁盘容量单位一般为B,网卡流量单位为bps
可以按照自己的需求新增监控项
2.6自定义KEY
[root@localhost ~]# yum -y install mariadb-server mariadb
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mysql.questions,mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"
[root@localhost ~]# zabbix_agentd -t mysql.questions
mysql.questions [t| 9]
[root@localhost ~]# systemctl restart zabbix-agent.service
[root@localhost ~]#zabbix_agent -t mysql.questions
2.7Zabbix Trigger
触发器用于定义item的报警阈值
触发器对象:可以应用给主机,也可应用给模板
触发器表达式:模板:KSY:函数=VALUE({:.()})
2.8Zabbix Action
动作Action
当某个触发器状态发生改变如Problem、OK,可以采取相应的动作,如:执行远程命令,邮件,短信,微信告警