站长资讯网
最全最丰富的资讯网站

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程

Zabbix是一个高度集成的企业级开源网络监控解决方案,与Cacti、nagios类似,提供分布式监控以及集中的web管理界面。zabbix具备常见商业监控软件所具备的功能,例如主机性能监控,网络设备性能监控,数据库性能监控,ftp等通用协议的监控,能够灵活利用可定制警告机制,允许用户对事件发送基于E-mail的警告,保证相关人员可以快速解决。还能够利用存储数据提供杰出的报表及实时的图形化数据处理,实现对监控主机7×24小时集中监控。

Zabbix通过C/S模式采集数据通过B/S模式在web端展示和配置,通过SNMP协议传输,而被监控对象只需要支持SNMP协议或者运行Zabbix——agents代理程序即可。服务端监听端口为10051,而被监控端即Zabbix——agents代理程序监控10050端口。

本篇基于CentOS 7.3版本安装Zabbix4.0实现对CentOS 7.3主机的监控管理以及警告机制邮箱发送的搭建。

实验环境

主机 操作系统 IP地址 主要软件
zabbix服务端 centos7.3 x86_64 192.168.144.113 zabbix-server4.0
Linux被监控端 centos7.3 x86_64 192.168.144.114 zabbix-agent4.0

Zabbix服务端环境部署

1、部署LAMP环境

  • 由于zabbix提供集中的web监控管理界面,因此服务在web界面的呈现需要LAMP架构支持。
yum install -y      //安装LAMP环境包  httpd   mariadb-server mariadb   php   php-mysql    //php连接mysql模块  php-gd   libjpeg*   php-ldap   php-odbc   php-pear   php-xml   php-xmlrpc   php-mhash
  • 编辑配置httpd

vim /etc/httpd/conf/httpd.conf

ServerName www.yun.com    ...    DirectoryIndex index.html index.php   //添加首页支持格式
  • 编辑配置php,配置中国时区

vim /etc/php.ini

date.timezone = PRC    //PRC为中国时区
  • 启动httpd,mysql

systemctl stop firewalld.service
setenforce 0

systemctl start httpd.service
systemctl start mariadb.service

netstat -ntap | egrep ‘(80|3306)’

  • 启动msyql后执行初始安全设置。

mysql_secure_installation
mysql -u root -p

CREATE DATABASE zabbix character set utf8 collate utf8_bin;      GRANT all  ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';    //创建zabbix数据库,并设定用户密码  flush privileges;
  • 数据库设置完成,检测php与数据库连通情况

vim /var/www/html/index.php

<?php  $link=mysql_connect('192.168.144.113','zabbix','admin123');  if($link) echo "<h1>Success!!</h1>";  else echo "Fail!!";  mysql_close();  ?>

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程

出现上图则PHP连通数据库完成。

  • 为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下。
  • 使用root账户登录数据库。
select user,host from mysql.user;   //有空用户名称占用导致本地无法登录远程可登录  +--------+-----------+  | user   | host      |  +--------+-----------+  | zabbix | %         | | root   | 127.0.0.1 |  | root   | ::1       | |        | cacti     |  | root   | cacti     | |        | localhost |  | root   | localhost |  +--------+-----------+    drop user ''@localhost;  //删除空用户    drop user ''@cacti;    flush privileges;

2、部署Zabbix Server

yum install php-bcmath php-mbstring -y 安装php支持zabbix组件

rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //会自动生成yum源文件,保证系统可以上网
yum install zabbix-server-mysql zabbix-web-mysql -y 安装zabbix组件

zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //生成数据库文件,注意密码不要输成root的

  • 查看、修改zabbix配置文件

grep -n ‘^'[a-Z] /etc/zabbix/zabbix_server.conf

38:LogFile=/var/log/zabbix/zabbix_server.log 49:LogFileSize=0 72:PidFile=/var/run/zabbix/zabbix_server.pid 82:SocketDir=/var/run/zabbix 101:DBName=zabbix        //访问数据库名称 117:DBUser=zabbix        //zabbix访问数据库用户 125:DBPassword=admin123 //配置文件中只需修改本行,zabbix访问数据库密码 347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log 465:Timeout=4 507:AlertScriptsPath=/usr/lib/zabbix/alertscripts 517:ExternalScripts=/usr/lib/zabbix/externalscripts 553:LogSlowQueries=3000
  • 修改zabbix在httpd中的时区

vim /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Shanghai
  • 为防止web界面中文乱码现象,需要将相应字体文件复制,使zabbix识别

cp STKAITI.TTF /usr/share/zabbix/fonts/

  • 使zabbix系统识别字体

vim /usr/share/zabbix/include/defines.inc.php

:%s /graphfont/kaiti/g   //采用全局替换模式
  • zabbix基本配置完成,启动服务,实现web界面安装

systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix //监听在10051端口上
systemctl restart httpd.service

  • web界面安装访问。

http://192.168.144.113/zabbix/

web界面安装流程如下:

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程

zabbix被监控端代理设置

  • 安装zabbix-agent客户端

rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm

yum install -y zabbix-agent

  • 编辑修改配置文件

grep -n ‘^'[a-Z] /etc/zabbix/zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf

13:PidFile=/var/run/zabbix/zabbix_agentd.pid 32:LogFile=/var/log/zabbix/zabbix_agentd.log 43:LogFileSize=0 98:Server=192.168.144.113         //zabbix服务器地址 139:ServerActive=192.168.144.113   //活跃服务器地址 150:Hostname=test 268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
  • 关闭防火墙,启动服务

systemctl stop firewalld.service
setenforce 0
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service

netstat -anpt | grep zabbix //监听在10050端口

WEB管理界面添加被管理主机

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程

配置邮箱报警功能

1、配置自动邮箱发送

yum install mailx -y
vim /etc/mail.rc 编辑mailx配置文件

set from=377909726@qq.com  set smtp=smtp.qq.com  set smtp-auth-user=377909726@qq.com  set smtp-auth-password=邮箱密码  set smtp-auth=login

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程

  • 测试邮箱软件是否可用

echo “hello world” | mail -s “testmail” 377909726@qq.com //测试发信正常

2、编写邮件发送脚本

  • 邮件发送触发脚本一定要写在zabbix指定的alterscripts目录下,后面直接指定脚本名称即可触发。

vim /usr/lib/zabbix/alertscripts

#!/bin/bash #send mail    messages=`echo $3 | tr 'rn' 'n'`  subject=`echo $2 | tr 'rn' 'n'`  echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1

touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/

  • 测试发邮件脚本是否可以正常工作

./mailx.sh 377909726@qq.com “主题” “内容”

3、配置服务监控自动触发邮件发送脚本

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程
CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程

4、在被监控主机模拟故障

  • 关闭被监控主机的httpd服务,验证邮箱接收情况。

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程

CentOS 7.3下Zabbix 4.0监控搭建过程超详细教程

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号