在RHEL/CentOS上部署Zabbix Server/Agent

目录

1. 准备工作

1.1 Linux+MySQL+PHP环境
1.2 添加软件包安装源
1.3 若mysql为空密码,需要修改mysql的root密码
1.4 时间同步

2. 开始安装

2.1 创建zabbix用户
2.2 创建zabbix数据库
2.3 yum安装zabbix
2.4 导入zabbix数据库的sql文件
2.5 配置zabbix_server.conf
2.6 浏览器访问http://x.x.x.x/zabbix ,开始配置zabbix

3.部署Zabbix Agent

3.1 客户端安装agent
3.2 客户端配置zabbix_agentd.conf文件
3.3 重启zabbix-agent服务


1. 准备工作

1.1 Linux+MySQL+PHP环境(zabbix安装后自动装了apache)
Server1:(角色:server)

  • CentOS6.8 x64
  • 192.168.1.190
  • zabbix server

Server2:(角色:agent)

  • CentOS6.8 x64
  • 192.168.1.191
  • zabbix agent
Zabbix架构

下面是我根据自己的理解,画的一个简单版架构图,旨在帮助大家能够快速理解Zabbix环境,zabbix server和agent之间的工作原理,适合入门新手;由于是简版图,所以展示的只是比较单一情况的架构,不包括zabbix所有模块、站库分离、zabbix proxy、数据收集的主动/被动模式、分布式等等。后续有时间的时候我会画出更多详细的原理图。更多权威信息,也请查看官方文档(http://www.zabbix.com/manuals)

在RHEL/CentOS上部署Zabbix Server/Agent_第1张图片
Zabbix Architecture.png

Tips:

  1. 在开始部署之前,简单的解释一下zabbix server/agent的工作原理。zabbix作为一款开源的监控软件,是典型的C/S架构,分为server端和agent端,所有被监控的服务器上都要安装一个zabbix-agent的客户端软件,用来收集服务上的硬件信息、操作系统信息、应用信息等,负责收集和整理数据的服务器叫zabbix server,在zabbix server上,至少需要安装安装两个软件,一个是zabbix-server,另外一个是zabbix-agent,可能有的初学同学有疑问,为啥zabbix server上还要安装agent呢,这是因为zabbix server也要监控自己这台(或多台proxy)服务器的运行状况。
  2. zabbix的数据收集方式有两种,一种是主动式收集,另一种是被动式收集。这里的主动和被动都是相对于Server而言,如果Server的硬件配置比较好,可以采用主动方式收集数据,轮询去找所有的agent要数据,这样可以减少客户端的性能资源消耗,如果Agent的服务器硬件配置比较好,可以采用被动方式收集数据,由agent定期主动提交数据给server。

1.2 添加软件包安装源
我的系统版本是CentOS6.8 x64,因此在添加软件包源的时候选择的是epel中6系列的rpm源;若你的系统是CentOS5.x或者7.x也不必担心,可以去到http://dl.fedoraproject.org 中去寻找对应的源,切勿添加了错误的源,这样可能会导致后续再安装软件的时候都会检测不到对应版本的软件包,而需要额外很多不必要的操作。

  [root@example00 ~]# yum -y install wget
  [root@example00 ~]# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  [root@example00 ~]# rpm -ivh epel-release-6-8.noarch.rpm 

1.3 若mysql为空密码,需要修改mysql的root密码

  [root@example00 ~]# mysql -u root -p
  mysql> use mysql;
  mysql> UPDATE user SET password = PASSWORD('123456') WHERE user='root';
  mysql> flush privileges;
  mysql> exit

1.4 时间同步
若是本地的自己测试环境,可以不关心时间同步的问题,但若是生产环境(支付、游戏、交易)或者是开发版测试环境,那么必须要保持服务器的时间同步,否则可能会导致灾难性的问题。

  [root@example00 ~]# crontab -l
  */20 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1

2. 开始安装

2.1 创建zabbix用户

  [root@example00 ~]# groupadd zabbix
  [root@example00 ~]# useradd -g zabbix -m zabbix -s /sbin/nologin

2.2 创建zabbix数据库

  [root@example00 ~]# mysql -u root -p
  mysql> create database zabbix character set utf8;
  mysql> grant all privileges on zabbix.* to zabbix@'192.168.1.190' identified by 'zabbix' with grant option;
  mysql> flush privileges;
  mysql> show databases;
  mysql> exit

2.3 yum安装zabbix
查找zabbix的软件包

  [root@example00 src]# yum list | grep zabbix
  zabbix22.x86_64                            2.2.16-1.el6                 epel    
  zabbix22-agent.x86_64                      2.2.16-1.el6                 epel    
  zabbix22-dbfiles-mysql.noarch              2.2.16-1.el6                 epel    
  zabbix22-proxy-mysql.x86_64                2.2.16-1.el6                 epel    
  zabbix22-server-mysql.x86_64               2.2.16-1.el6                 epel      
  zabbix22-web-mysql.noarch                  2.2.16-1.el6                 epel

安装zabbix必须的包

  [root@example00 src]# yum -y install zabbix22 zabbix22-agent zabbix22-dbfiles-mysql zabbix22-proxy-mysql zabbix22-server-mysql zabbix22-web-mysql

2.4 导入zabbix数据库的sql文件

  [root@example00 src]# cd /usr/share/zabbix-mysql/
  [root@example00 zabbix-mysql]# ls
  data.sql  images.sql  schema.sql  upgrades

  [root@example00 zabbix-mysql]# mysql -u root -p zabbix < schema.sql 
  [root@example00 zabbix-mysql]# mysql -u root -p zabbix < images.sql
  [root@example00 zabbix-mysql]# mysql -u root -p zabbix < data.sql

注意:
zabbix-server的数据库导入顺序不能乱,3个都要导入
zabbix-proxy的数据库导入,只需要schema就可以

2.5 配置zabbix_server.conf

  [root@example00 zabbix-mysql]# cd /etc/zabbix
  [root@example00 zabbix]# ls
  alertscripts  externalscripts  web  zabbix_agent.conf  zabbix_agentd.conf  zabbix_proxy.conf  zabbix_server.conf
  [root@example00 zabbix]# vim zabbix_server.conf 
  78 DBHost=192.168.1.190       # 服务器的公网IP地址
  113 DBPassword=zabbix       # zabbix-server的mysql数据库密码

启动zabbix-server服务

  [root@example00 zabbix]# /etc/init.d/zabbix-server start
  Starting Zabbix server:                                    [  OK  ]

启动apache的httpd服务

  [root@example00 zabbix]# service httpd restart
  Stopping httpd:                                            [  OK  ]
  Starting httpd:                                          [  OK  ]

2.6 浏览器访问http://x.x.x.x/zabbix,开始配置zabbix

在RHEL/CentOS上部署Zabbix Server/Agent_第2张图片
Welcome.png
在RHEL/CentOS上部署Zabbix Server/Agent_第3张图片
Check of pre-requires.png

如果安装检查时提示php参数不对,需要修改php的配置文件

  [root@example00 zabbix]# find / -name php.ini
  /etc/php.ini
  [root@example00 zabbix]# vim /etc/php.ini 
  440 max_execution_time = 300
  449 max_input_time = 300
  729 post_max_size = 16M
  946 date.timezone = PRC

重启apache服务,使得配置生效

  [root@example00 zabbix]# service httpd restart
  Stopping httpd:                                            [  OK  ]
  Starting httpd:                                            [  OK  ]

刷新浏览器页面后,PHP必要的检查项目就都通过了


在RHEL/CentOS上部署Zabbix Server/Agent_第4张图片
Check of pre-requires.png
在RHEL/CentOS上部署Zabbix Server/Agent_第5张图片
Configure DB connection.png
在RHEL/CentOS上部署Zabbix Server/Agent_第6张图片
Zabbix server details.png
在RHEL/CentOS上部署Zabbix Server/Agent_第7张图片
Pre-Installation summary.png
在RHEL/CentOS上部署Zabbix Server/Agent_第8张图片
Install.png
在RHEL/CentOS上部署Zabbix Server/Agent_第9张图片
Login.png

zabbix web的默认登录账号/密码为:admin/zabbix


源码编译安装方法

参考链接:http://blog.chinaunix.net/uid-25266990-id-3380929.html


3. 部署Zabbix Agent

客户端安装agent

  [root@example01 ~]# yum -y install zabbix22-agent

客户端配置zabbix_agentd.conf文件

  [root@example01 ~]# vim /etc/zabbix/zabbix_agentd.conf 
  81 Server=192.168.1.190               # zabbix server的地址
  122 ServerActive=192.168.1.190        # zabbix server的地址

重启zabbix-agent服务

  [root@example01 ~]# /etc/init.d/zabbix-agent start
  Starting Zabbix agent:                                     [  OK  ]

浏览器上刷新Zabbix Web UI的监控页面,就可以查看到通过监控数据绘画的监控图


在RHEL/CentOS上部署Zabbix Server/Agent_第10张图片
Zabbix Server Web UI.png

好了,整个安装过程就到此为止,若你在安装的过程中有报错没解决成功,可以看下我后面发布的几篇关于排错的文章。若你觉得松哥写的文章对你有用,谢谢土豪“喜欢”和“打赏”,我将继续坚持分享。

你可能感兴趣的:(在RHEL/CentOS上部署Zabbix Server/Agent)