CentOS7安装部署Zabbix监控服务

编程

Zabbix Server通过Agent传来的数据写入数据库(MySQL),最终通过PHP+Apache在Web界面进行前端展示
所以在启动Zabbix之前需要搭建LAMP环境

1、环境搭建

 

  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  #开机不启动

  2. 安装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  #开机启动 

  3. 安装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需要的组件

     

  4. 创建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; #在不退出的情况下刷新配置

  5. 导入zabbix初始表

    zcat /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz | mysql -uzabbix -p zabbix  #将create.sql文件导入zabbix数据库

     

  6. 修改/etc/zabbix_server.conf配置文件

    DBHost=localhost 

    DBName=zabbix

    DBUser=zabbix

    DBPassword=zabbix

    DBSocket=/var/lib/mysql/mysql.sock

     

  7. 修改/etc/httpd/conf.d/zabbix.conf配置文件,增加时区

    启动服务

    systemctl start zabbix-server zabbix-agent

    systemctl restart httpd

    systemctl enable zabbix-server zabbix-agent httpd

     

  8. 登录zabbix,打开浏览器输入http://localhost/zabbix

  9. zabbix会依次检测依赖组件,如果出现错误必须解决后才能进行下一步

  10. 接着出现数据库信息填写界面,填写zabbix账户的密码即可

  11. 进入Zabbix server配置界面,自定义zabbix的名称(zabbix server)

  12. 之后一直点击next,部署成功
     

  13. 登录zabbix,默认账户为Admin,密码为zabbix


  14. 切换中文

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配置文件使用外部SMTP服务器,添加下列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”->“报警媒介”->“添加”

配置报警触发动作,选择“配置”->“动作”->“创建动作”

 

zabbix动作参数对应名称

故障{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}

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!


编写报警脚本

[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}

重新测试
systemctl start zabbix-agent.service


也可以选择“报表”->“动作日志”查看动作日志信息

以上是 CentOS7安装部署Zabbix监控服务 的全部内容, 来源链接: utcz.com/z/520232.html

回到顶部