zabbix从听说到学会

一、zabbix简介

zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

二、zabbix安装使用

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。

zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。

另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。

2.1 zabbix安装

2.1.1 zabbix WEB环境搭建

zabbix的安装需要LAMP或者LNMP环境。
需要其它的软件包

yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm

2.1.2 zabbix 数据库设置

zabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。

grant all privileges on zabbix.* to zabbix_user@'ip' identified by '123456';

注:ip为zabbix服务器的IP地址。

关于数据库的安装,可以查看Mysql安装,我习惯使用二进制包。

启动数据库

/usr/local/mysql/bin/mysqld_safe  --user=mysql &

登录数据库,创建帐号和设置权限:

  1. mysql> use mysql;
  2. mysql>create database zabbix character set utf8;
  3. mysql>grant all privileges on zabbix.* to zabbix_user@'192.168.10.197' identified by '123456';

2.1.3安装zabbix服务

增加zabbix用户和组

#groupadd zabbix
#useradd -g zabbix -m zabbix

官网下载解压软件包:点击下载

#wget http://fossies.org/unix/misc/zabbix-2.0.3.tar.gz
# tar -zxvf  zabbix-2.0.3.tar.gz
#cd zabbix-2.203

导入数据库表

#cd  zabbix-2.0.3/database/mysql
#mysql -uroot -pmysql zabbix < mysql.sql
#mysql -uroot -pmysql zabbix < images.sql 
#mysql -uroot -pmysql zabbix < schema.sql

编译安装zabbix

./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy

编译报错checking for main in -lmysqlclient ... no
yum 安装mysql-devel即可

#make
#make install

添加服务端口

1.  vim /etc/services
2.  zabbix-agent 10050/tcp # Zabbix Agent
3.  zabbix-agent 10050/udp # Zabbix Agent
4.  zabbix-trapper 10051/tcp # Zabbix Trapper
5.  zabbix-trapper 10051/udp # Zabbix Trapper

添加配置文件

# mkdir -p /etc/zabbix
# cp -r zabbix-2.203/conf/* /etc/zabbix/
# chown -R zabbix:zabbix /etc/zabbix

修改server配置文件
添加zabbix数据库密码
vim /etc/zabbix/zabbix_server.conf

LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBName=zabbix
DBUser=zabbix_user
DBPassword=123456     #指定zabbix数据库密码
ListenIP=192.168.10.197    #服务器IP地址

修改Agentd配置文件
更改HOSTNAME为本机的hostname
vim /etc/zabbix/zabbix_agentd.conf

1.  PidFile=/tmp/zabbix_agentd.pid #进程PID
2.  LogFile=/tmp/zabbix_agentd.log #日志保存位置
3.  EnableRemoteCommands=1 #允许执行远程命令
4.  Server=192.168.10.197 #agent端的ip
5.  Hostname=client1 #必须与zabbix创建的host name相同

设置hostname

设置hostname

添加web前段php文件

# cd zabbix-2.203/frontends/
# cp -rf php /home/httpd/zabbix   #虚拟主机目录
# chown -R zabbix:zabbix zabbix

web前端安装配置

修改PHP相关参数
vim php.ini

1.  max_execution_time = 300
2.  max_input_time = 300
3.  memory_limit = 128M
4.  post_max_size = 32M
5.  date.timezone = Asia/Shanghai
6.  mbstring.func_overload=2

PHP还必须支持一下模块,在php源码包直接编译安装。具体模块需求在安装时会提示。
bcmath.sogettext.so
在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ZabbixIP/zabbix ,按提示点击下一步

Step1:下一步。
Step2:如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装。
Step3:需要输入mysql数据库帐号密码,如果数据库不在zabbix服务器上面,在Host里面添加数据库服务器的地址,并且要用grant命令给数据库授权。
Step4:输入服务器端 host name or host IP addres;
最后会自动写入配置文件:zabbix.conf.php,配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。

启动zabbix服务

在zabbix安装目录下面可以直接启动

#/usr/local/zabbix/sbin/zabbix_server start
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      7140/zabbix_agentd

设置开机自启动

vim /etc/rc.d/rc.local
最后添加下面两行

1.  /usr/local/zabbix/sbin/zabbix_server start
2.  /usr/local/zabbix/sbin/zabbix_agentd start

至此,zabbix server端的安装完毕,我们可以通过浏览器来访问。

接下来会介绍关于客户端监控的使用,以及监控模版的新建,自定义监控服务等。

三、搭建Zabbix监控环境

在一个数据中心里,了解某个主机正在发生什么是非常重要的一件事。适当地监控一些网络节点能够帮助防止发生网络功能问题。在这一系列的文章中,你能够学到如何用Zabbix来实现。

Zabbix是一个开源网络监控工具,并采用一台基于Linux为中心的Zabbix服务器。服务器与那些本机代理相互联系,目前所适用的操作系统包括Linux、 UNIX和Windows。如果没有安装代理的操作系统,可采用通用的监控协议如SNMP或IPMI。

使用Zabbix监控工具有许多优点。作为初学者,Zabbix能够在特定预先定义的事件发生时发出告警和提醒。还提供图像功能,帮助系统管理员对当前特殊节点和整个网络有一个大致了解。  
 
要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。

3.1 Zabbix安装选项

安装Zabbix有两种方法:下载安装包并把它安装在你Zabbix的linux服务器主机上,或者使用包含一些Linux发行版的安装包。使用发行版的安装包使得安装和更新Zabbix更方便,但是编译你自己的Zabbix意味着需要针对每一个Linux发行版,包括最新和最棒的功能。

预先编译的安装包对某些Linux发行版还不支持,比如SUSE。如果你不想和那些底层的Linux系统打交道,Fedora或者Ubuntu可能是你的最佳选择。它们从安装储存库开始就包含了Zabbix安装包。编译你自己的Zabbix同样可行,但是那样则需要更多的Linux技术知识。在本篇中,我们将使用预先编译的Fedroa 17的安装包来安装Zabbix,完全免费。

3.2 安装基础包

确保你的Fedora Linux服务器至少有10GB的有效磁盘空间。在初期进行Zabbix安装时并不需要,但是当Zabbix开始在一个大环境下产生数据时就会需要。

下一步,使用Yellow Dog更新修改(YUM)命令yum install zabbix zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql mysql zabbix-agent来安装Zabbix和所有需要的组件。在安装软件之后,你需要开启Zabbix服务并确保他们在你重启服务器之后仍然开启。要想完成这个,运行以下命令并重启服务器:

systemctl enable mysqld.service 
systemctl enable zabbix-server-mysql.service 
systemctl enable httpd.service     

在继续之前,你需要创建一个MySQL数据库。使用mysql -u root 作为Root用户登录。这样就打开了一个mysql提示。键入以下命令来创建需要的数据库:

mysql> create database zabbix character set utf8; 
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by ‘password'; 
mysql> quit     

数据库的默认名字是zabbix,管理员用户名也是zabbix,密码是password。现在你需要使用zabbix模式和一些初始数据来填充数据库。要想这样做,你可以使用默认的安装在/usr/share/doc/zabbix-server-mysql-/create/schema下的SQL文件。从Linux的shell中使用以下mysql命令来导入文件:

# mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-/create/schema/mysql.sql 
# mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-/create/data/data.sql 
# mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-/create/data/images_mysql.sql     

这些命令会将SQL文件导入MySQL数据库中,使用用户名“zabbix”。选项 –p 告诉mysql命令提示需要输入密码,接下去用户zabbix告诉MySQL将所有数据添加至zabbix数据库中。下一步,输入的文件被特指使用输入重定向(<),在文件名之后被用来当作输入文件。

在你继续下一步配置之前,确保Zabbix能够连接到你刚刚创建的数据库。想要这样做,打开配置文件/etc/zabbix/zabbix_server.conf并确保以下内容在其中。

DBHost=localhost 
DBName=zabbix 
DBPassword=password     

重启你的服务器并确保所有信息都显示正确。在重启之后,使用命令systemctl status zabbix-server.service。这会显示所有已经开启的Zabbix进程。

3.3 与Web界面对连

一旦所有系统都已经开启,你可以打开一个浏览页面至Zabbix Web前端http://yourzabbixserver/zabbix, 这里你可以配置你的Zabbix服务器。

在继续之前,确保你满足了最低系统要求。

第一个导入的屏幕是为了检查先决条件。在许多情况下,你会发现系统分配使用的默认PHP设置是不完整的,所以记录下有关的设置并打开/etc/php.ini来进行调整。在完成调整之后,重启Fedora 17的Apache服务,可以输入systemctl restart httpd.service命令来完成。

3.4 配置数据库连接

在下一个窗口中,配置Zabbix和数据库之间的连接。在这个屏幕里,默认用户名为root;确保将用户名改为zabbix。

在建立数据库连接之后,键入Zabbix服务器的网络地址和你正使用的端口。如果Web前端正从服务器进程运行,指定Zabbix服务器所拥有的IP地址或者直接点击"next"继续。现在你会看到一个预安装的摘要。确认各个参数都正确再结束整个安装流程。一个进入Zabbix的登录窗口就会打开,你可以使用默认的用户Admin和密码zabbix进行登录。现在你的zabbix环境已经可以开始使用。

四、特点

4.1 zabbix的主要特点

  • 安装与配置简单,学习成本低
  • 支持多语言(包括中文)
  • 免费开源
  • 自动发现服务器与网络设备
  • 分布式监视以及WEB集中管理功能
  • 可以无agent监视
  • 用户安全认证和柔软的授权方式
  • 通过WEB界面设置或查看监视结果
  • email等通知功能
    等等

4.2 Zabbix主要功能

  • CPU负荷
  • 内存使用
    -磁盘使用
  • 网络状况
  • 端口监视
  • 日志监视。

五、Zabbix版本发布

2012年07月31日,ZABBIX 2.0.2 正式版发布。
2012年08月01日 ,ZABBIX 2.0.2 正式版发布,分布式系统监控。
2012年08月09日,ZABBIX 1.8.15 RC1 发布,该版本修复很多 bug ,其中包括一个安全相关的问题。
2012年08月21日,ZABBIX 1.8.15 正式版发布,该版本包含很多 bug 修复,其中有一个是安全相关的。
2012年09月11日,ZABBIX 2.0.3 RC1 发布,该版本包含前端的一些改进,以及引入 flicker free screens。
2012年11月28日,ZABBIX 2.0.4 RC1 发布,企业级监控系统。
2013年2月12日,ZABBIX 2.0.5 正式版发布,分布式系统监控
2013年4月15日,ZABBIX2.0.6 RC1发布,分布式系统监控。
2013年4月22日,ZABBIX2.0.6 正式版发布,企业级分布式监控系统。
2016年2月16日,ZABBIX3.0.0 正式版发布,企业级分布式监控系统。
2016年7月15日,ZABBIX3.0.4 RC1发布,企业级分布式监控系统。

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

推荐阅读更多精彩内容

  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 7,951评论 0 37
  • 1.写在前面 本文主要介绍的是zabbix的编译安装过程,包含它的基础环境LNMP,虽然zabbix官方一般推荐的...
    天之蓝色阅读 2,522评论 0 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,579评论 18 139
  • 一想到夏天 总会感觉到一丝丝的灼热 莫名的烦躁 充斥在世界的每一个角落 缠绕着每一个人 散发着不同的情绪 就连空气...
    星空缘阅读 300评论 0 0
  • 大地雪漫漫, 春风依旧寒。 说禅说道易, 成佛成祖难。
    木夫009阅读 478评论 1 4