Zabbix监控

zabbix是一款基于WEB界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案,源码是用PHP写的,官方地址可以移步zabbix观摩。

其实市场上的监控工具已经多得数不胜数了,现在比较流行的都是站长利用第三方进行监控自己的站点,很少自己来维护一套监控方案了,但是我觉得zabbix还是有必要了解和知道的,因为它的确很优秀,不仅能监视各种网络参数,保证服务器系统的安全运营;还能提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。不管你是否关心,但是它真的做到了。

简单介绍一下zabbix:由主要由两部分构成,即zabbix server与可选组件zabbix agent,大家一看便知道其中一个是用作为服务端,一个是作为客户端代理。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。而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/Win7/Win8…..)等系统之上,支撑平台多样化,满足了广大群众的渴求。

zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用,集有这么多功能于一身的zabbix确实很强大,看看它是否能帮你做到你需要的事儿。

zabbix的主要功能:CPU负荷监控、 内存使用监控、磁盘使用监控、 网络状况监控、端口监视、日志监视

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


到这里或许你已经被它的功能所屈服,接下来我们一起走一遍它吧~

安装zabbix server

我们可以去其官方 下载zabbix 服务端的tar包到自己的机器上来或者到本文末进行下载:

1
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.5/zabbix-2.2.5.tar.gz/download

安装zabbix_server之前我们需要安装mysql和其依赖的一些lib库,这些你懂的,如mysql-devel依赖,net-snmp依赖,libcurl依赖、perl-DBI。

mysql安装不在本篇介绍范围内,具体可以移步各大论坛博客查阅。好了我们继续….

执行编译
1
./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --prefix=/usr/local/zabbix
安装
1
make && make install

进行install,如果遇到各种error基本上都是依赖包没有安装造成,可以各种翻墙GG;

接下来你需要创建一个zabbix用户来启动zabbix服务,因此需要先执行

1
useradd -d /usr/local/zabbix -p zabbix zabbix

修改配置
1
vi /usr/local/zabbix/etc/zabbix_server.conf

新增如下代码

1
2
3
4
LogFile=/tmp/zabbix_server.log #zabbix服务端日志
DBName=zabbix                  #zabbix所属数据库名称
DBUser=hanggecrazy             #zabbix所属数据库用户
DBPassword=hanggecrazy         #zabbix数据库密码

到这里其实zabbix_server的工作就做完了,我们可以执行如下命令来启动服务:

1
/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf &

安装zabbix_agent

安装agent没有server这么麻烦,只需要解压包就行了,下载地址可以去官方下载或者到本文末下载:

1
wget http://www.zabbix.com/downloads/2.2.5/zabbix_agents_2.2.5.linux2_6_23.amd64.tar.gz(根据自己的机器位选择)

然后直接解压到/usr/local/zabbix,然后需要修改vi /usr/local/zabbix/etc/zabbix_agent.conf配置,新增如下代码

1
2
3
4
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=zabbix

到这里也完成了agent的工作,我们可以启动agent了。

1
/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf &;

配置web访问

我们可以将zabbix_server解压目录中的frontends文件copy到我们的站点根目录,比如

1
copy -r /usr/local/download/zabbix-2.2.5/frontends/php /usr/local/nginx/html/zabbix

然后根据自己的选择的服务(nginx、apache、ligttpd)进行配置。

完成之后我们就可以通过web进行访问了,因为zabbix源码是php ,我们需要安装php解析器(环境),安装php由于篇幅限制,本文不做介绍,具体可以移步各大论坛博客求攻略,web访问进入如下界面:

zabbix

接下来需要,在php配置文件中修改如下配置以满足zabbix的需要,max_execution_time、max_input_time、time zone

修改php.ini文件之后重启php,看到如下配置都ok,然后next。zabbix_2

根据提示填写基本配置信息并点击测试,pass之后继续next。

zabbix_3

到这一步,可能就要报错了,原因是我们需要先把数据表导入到数据库才能继续了,好吧,我们那就去导数据吧~,点击next

zabbix_5

zabbix_6

zabbix_7

如果遇到无法创建zabbix.conf.php,可以将站点根目录文件夹权限修改一下chown -R www:www /usr/local/nginx/html/zabbix

需要将zabbix_server解压目录中的database文件夹中相应文件导入db,zabbix目前支持mysql、Oracle、sqllite、db2,我们把对应的文件夹中的文件导入db即可,这里我们选择mysql,则把mysql下面的3个文件(data.sql、images.sql、schema.sql)导入mysql中 ,完成之后我们就可以继续完成安装了,到这步就已经结束了,因为是导入的数据,因此zabbix默认登陆名是zabbix口令也是zabbix。我们登陆进入之后可以看到整个后台布局如下

zabbix_4

zabbix-2.2.5.tar.gz 下载

zabbix_agents_2.2.5.linux2_6_23.amd64.tar.gz下载

(The End)

坚持原创技术分享,您的支持将鼓励我继续创作!