- A+
Zabbix Server通过Agent传来的数据写入数据库(MySQL),最终通过PHP+Apache在Web界面进行前端展示
所以在启动Zabbix之前需要搭建LAMP环境
1、环境搭建
- 关闭SELinux和防火墙
临时关闭
setenforce 0 #关闭SELinux systemctl stop firewalld.service #关闭防火墙
永久关闭
vim /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled #关闭SELinux # SELINUXTYPE= can take one of three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
systemctl disable firewalld.service #开机不启动
- 安装httpd、Mysql(Mariadb)服务和PHP环境
[root@master ~]# yum -y install httpd mariadb mariadb-server php php-mysql
[root@master ~]# rpm -qa httpd php mariadb #查看安装版本
mariadb-5.5.68-1.el7.x86_64
php-5.4.16-48.el7.x86_64
httpd-2.4.6-97.el7.centos.4.x86_64[root@master ~]# systemctl start mariadb httpd #启动服务
[root@master ~]# systemctl enable mariadb httpd #开机启动 -
安装Zabbix依赖软件及组件
[root@master ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm #下载Zabbix软件源
[root@master ~]# yum install -y zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender #安装zabbix需要的组件
-
创建zabbix需要的数据库
mysql #进入数据库 create database zabbix character set utf8 collate utf8_bin; #创建zabbix数据库,字符集为utf8,校准为utf8_bin grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; #创建zabbix用户,密码为zabbix,可对zabbix数据所有表进行所有操作权限 flush privileges; #在不退出的情况下刷新配置
-
导入zabbix初始表
zcat /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz | mysql -uzabbix -p zabbix #将create.sql文件导入zabbix数据库
-
修改/etc/zabbix_server.conf配置文件
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix
-
修改/etc/httpd/conf.d/zabbix.conf配置文件,增加时区
启动服务 systemctl start zabbix-server zabbix-agent systemctl restart httpd systemctl enable zabbix-server zabbix-agent httpd
- 登录zabbix,打开浏览器输入http://localhost/zabbix
- zabbix会依次检测依赖组件,如果出现错误必须解决后才能进行下一步
- 接着出现数据库信息填写界面,填写zabbix账户的密码即可
- 进入Zabbix server配置界面,自定义zabbix的名称(zabbix server)
- 之后一直点击next,部署成功
- 登录zabbix,默认账户为Admin,密码为zabbix
- 切换中文
2、部署Agent端
2.1 修改/etc/zabbix/zabbix_agentd.conf配置文件
Server=192.168.22.254 #允许哪个服务端连接到agent,被动模式 ServerActive=192.168.22.254 #主动模式,向哪台服务器传送数据 Hostname=master #客户端主机名,唯一,需与添加主机时‘主机名称’保持一致
systemctl restart zabbix-agent.service #重启服务
2.2 添加被监控的主机
启动本地agent监控
绘制图形展示
编辑聚合图形,单击名称"master"->"编辑聚合图形"->"更改"
配置邮件警报通知
rpm -qa | grep mailx #检查系统是否已经安装邮件发送工具 #如果没有则安装 yum -y install mailx
在配置zabbix服务端外部邮箱时,需要验证登录客户端邮箱的客户端授权码,这里使用的是QQ邮箱请自行前往邮箱配置,其他类型邮箱亦如此
编辑/etc/mail.rc配置文件,添加下列4行
set from=邮箱地址@qq.com #邮件服务器配置 set smtp=smtp.qq.com #邮件服务器配置 set smtp-auth-user=邮箱账户@qq.com set smtp-auth-password=**** #客户端授权码 set smtp-auth=login #登录后发送邮件
测试发送邮件
echo "zabbix test" | mail -s test 邮箱地址@qq.com
登录邮箱查看是否受到测试邮件
创建媒介类型,选择“管理”->“报警媒介类型”->“创建媒介类型”
配置用户的邮箱地址,选择“管理”->“用户”->“Admin”->“报警媒介”->“添加”
配置报警触发动作,选择“配置”->“动作”->“创建动作”
编写报警脚本
[root@master ~]# cd /usr/lib/zabbix/alertscripts/
vim sendmail.sh #!/bin/sh echo "$3" | mail -s "$2" $1
[root@master alertscripts]# chmod +x sendmail.sh
[root@master alertscripts]# chown zabbix:zabbix ./sendmail.sh
测试故障报警,模拟被监控服务器故障
systemctl stop zabbix-agent.service
登录邮箱发现报警信息内容编程了附件格式
解决方案:
安装dos2unix转换工具
yum -y install dos2unix
修改脚本内容
vim sendmail.sh
#!/bin/sh
export LANG=en_US.UTF-8
FILE=/usr/lib/zabbix/alertscripts/mail.txt
echo "$3" >${FILE}
dos2unix -k ${FILE}
/bin/mail -s "$2" "$1" <${FILE}
touch mail.txt
chown zabbix:zabbix ./mail.txt
重新测试
systemctl start zabbix-agent.service
也可以选择“报表”->“动作日志”查看动作日志信息