在选择搭建监控Linux系统的开源软件时,你一定听说过zabbix这个神器,zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级的开源解决方案。由于zabbix是基于web界面将存储在数据库中的数据生成图表显示出来,所以zabbix需要运行在web和数据库的平台上。

    zabbix由2部分构成,zabbix server与可选的组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,port等方法提供对远程服务器/网络状态的监控以及数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。zabbix agent需要安装在被监控的目标服务器上,它主要完成对硬件信息或与操作系统有关的信息的收集。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主动接收监视数据,同时还可被动接收zabbix agent发送的数据。另外zabbix server还支持SNMP(v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。 

    下面用源码包搭建一个简单的zabbix server、zabbix agent模式的监控体系,后端数据库采用mysql,前端web采用apache。

1 下载zabbix server端软件(10.1.6.16)

1 wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.4/zabbix-2.0.4.tar.gz
2 添加zabbix用户及用户组,使zabbix服务以zabbix用户运行

1 groupadd zabbix
2 useradd -g zabbix zabbix
3 因为zabbix采集的数据存储在数据库中,所以我们需要先建立数据库用户

1 #数据库密码为了方便演示,设置了123456
2 root@debian6-1:~#mysql -uroot -p123456
3 #创建zabbix库及用户授权
4 mysql>create database zabbix;
5 mysql>grant all on zabbix.* to zabbix@localhost identified by '123456';
6 mysql>flush privileges;
4 初始化zabbix库

1 tar zxvf zabbix-2.0.4.tar.gz
2 cd zabbix-2.0.4
3 #在源码包里面有zabbix数据库初始化文件
4 mysql -uroot zabbix -p123456 < database/mysql/schema.sql
5 mysql -uroot zabbix -p123456 < database/mysql/data.sql
6 mysql -uroot zabbix -p123456 < database/mysql/images.sql
5 安装zabbix服务端

01 #zabbix在编译安装时可以选定是作为服务端还是作为客户端使用
02 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl --with-net-snmp
03 make
04 make install
05 #把生成的配置文件拷贝到/etc/zabbix下
06 cp -a conf/* /etc/zabbix/
07 #把前端界面拷贝到web目录
08 cp -a frontends/php/* /var/www/
09 chown www-data.www-data /var/www/ -R
10 #把服务启动脚本拷贝到/etc/init.d下
11 cp misc/init.d/debian/* /etc/init.d/
6 把生成的bin文件拷贝到/bin、/sbin下面

1 cd /bin
2 ln -s /usr/local/zabbix/bin/zabbix_get zabbix_get
3 ln -s /usr/local/zabbix/bin/zabbix_sender zabbix_sender
4  
5 cd /sbin
6 ln -s /usr/local/zabbix/sbin/zabbix_agent zabbix_agent
7 ln -s /usr/local/zabbix/sbin/zabbix_agentd zabbix_agentd
8 ln -s /usr/local/zabbix/sbin/zabbix_server zabbix_server
7 修改/etc/init.d/zabbix-*中bin程序的路径

1 #DAEMON=/usr/local/sbin/${NAME}
2 DAEMON=/sbin/${NAME}
8 修改zabbix配置文件

1 #以下是源码包中conf/*中配置文件结构
2 conf
3 ├── zabbix_agent.conf  客户端配置文件
4 ├── zabbix_agentd
5 ├── zabbix_agentd.conf  客户端作为守护进程运行时的配置文件
6 ├── zabbix_agentd.win.conf  win下的配置文件
7 ├── zabbix_proxy.conf 代理配置文件,在本文中没有用到代理模式
8 └── zabbix_server.conf  服务端配置文件

  zabbix_server.conf配置

1 #配置参数很多,仅列出简单配置
2 ListenPort=10051
3 SourceIP=10.1.6.16
4 LogFile=/tmp/zabbix_server.log
5 DBHost=10.1.6.16
6 DBName=zabbix
7 DBUser=root
8 DBPassword=123456
9 DBPort=3306
    zabbix_agentd.conf配置

01 #配置参数很多,仅列出简单配置
02 LogFile=/tmp/zabbix_agentd.log
03 EnableRemoteCommands=1
04 LogRemoteCommands=1
05 Server=10.1.6.16
06 ListenPort=10050
07 ListenIP=0.0.0.0
08 StartAgents=3
09 ServerActive=10.1.6.16
10 Hostname=debian6-1
11 RefreshActiveChecks=60
12 BufferSend=60
13 AllowRoot=0
14 Timeout=3
9 启动zabbix服务

1 /etc/init.d/zabbix-server start
2 /etc/init.d/zabbix-agent start
10 查看服务是否正常启动

1 root@debian6-1:/etc/zabbix# netstat -tupln |grep zabbix
2 tcp  0   0 0.0.0.0:10050    0.0.0.0:*    LISTEN      4800/zabbix_agentd
3 tcp  0   0 0.0.0.0:10051    0.0.0.0:*    LISTEN      4564/zabbix_server
11 在浏览器中查看zabbix的web界面,默认用户名/密码:admin/zabbix


开始配置初始环境







12 zabbix 2.0.4的web端已经友好的支持中文

1 apt-get install debconf
2 #选择zh_CN.UTF-8
3 dpkg-reconfigure locales

   登录zabbix的web界面后,在右上角的profile中user表单中的language选项中选择chinese(zh_CN),然后保存即可。

13 在debian6-2增加一个zabbix agent(10.1.6.13)

1 wget http://www.zabbix.com/downloads/2.0.4/zabbix_agents_2.0.4.linux2_6.amd64.tar.gz
    这是官方提供的编译好的客户端,既然zabbix可以在编译时决定是作为服务端还是客户端,所以我们手动编译一个客户端。

01 groupadd zabbix
02 useradd -g zabbix zabbix
03 tar zxvf zabbix-2.0.4.tar.gz
04 cd zabbix-2.0.4/
05 ./configure --prefix=/usr/local/zabbix  --enable-agent
06 make
07 make install
08 cp misc/init.d/debian/* /etc/init.d/
09  
10 cd /sbin
11 ln -s /usr/local/zabbix/sbin/zabbix_agent zabbix_agent
12 ln -s /usr/local/zabbix/sbin/zabbix_agentd zabbix_agentd
13 cd /etc
14 ln -s /usr/local/zabbix/etc zabbix
     修改/etc/init.d/zabbix-agent

1 #DAEMON=/usr/local/sbin/${NAME}
2 DAEMON=/sbin/${NAME}

   zabbix_agentd.conf配置文件

01 LogFile=/tmp/zabbix_agentd.log
02 EnableRemoteCommands=1
03 LogRemoteCommands=1
04 Server=10.1.6.16
05 ListenPort=10050
06 ListenIP=0.0.0.0
07 StartAgents=3
08 ServerActive=10.1.6.16
09 Hostname=debian6-2
10 RefreshActiveChecks=60
11 BufferSend=60
12 AllowRoot=0
13 Timeout=3
   启动zabbix客户端

1 /etc/init.d/zabbix-agent start

14 在浏览器中打开zabbix web界面进行设置,把新加的客户端添加到web中

连接:https://www.zabbix.com/documentation/2.0

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐