在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

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

Welcome.png
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必要的检查项目就都通过了


Check of pre-requires.png
Configure DB connection.png
Zabbix server details.png
Pre-Installation summary.png
Install.png
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的监控页面,就可以查看到通过监控数据绘画的监控图


Zabbix Server Web UI.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,561评论 18 139
  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 7,944评论 0 37
  • 1.写在前面 本文主要介绍的是zabbix的编译安装过程,包含它的基础环境LNMP,虽然zabbix官方一般推荐的...
    天之蓝色阅读 2,519评论 0 16
  • 在学校的我,一开始还没有发现我缺钱,打了暑假工回来后。我发现我越来越缺钱,就是那种,想干一件事,和看病都需要钱,而...
    你是我的boy阅读 323评论 1 1
  • 文/一位喵先生 喜欢薛之谦在《吐槽大会》里说的这句话:「在这个时代,根本就不存在怀才不遇。」 他说:「这不是一个八...
    一位喵先生阅读 485评论 0 3