Chinaunix首页 | 论坛 | 博客
  • 博客访问: 289459
  • 博文数量: 176
  • 博客积分: 2516
  • 博客等级: 少校
  • 技术积分: 1350
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-01 11:18
文章分类
文章存档

2011年(1)

2010年(18)

2009年(157)

我的朋友

分类:

2009-10-28 13:29:10

我们一般用nagios来报警,使用cacti来监控流量及其他简单的状况,当然也可以使用NPC把nagios结合到cacti中来使用。
除了常用的nagios和cacti之外,还有很多的监控工具,这个地址有一份详细的功能对比:

我也是无意中听说zabix的,就是Q群有个人发了个地址叫人测试下,我看了觉得蛮不错的,所以就开始尝试自己安装。
我一般喜欢源码编译,有问题可以直接留言或者QQ272544。

目录:


一、环境准备


首先安装mysql+nginx(或者apache)+php。这里就不说了,看以前笔记。
本次试验的IP如下:

序号 功能 计算机名 机器ip
1 zabbix server 10.1.1.8 web03
2 zabbix agent 1 10.1.1.8 web03
3 zabbix agent 2 10.1.1.6 web02

编译目录还是遵循我一向的规矩:

/─/usr
│ ├─/usr/server
│ │ ├─/usr/server/ect #放置一般配置文件
│ │ ├─/usr/server/bin #放置bin执行程序
│ │ ├─/usr/server/sbin #放置sbin服务程序
│ │ │
│ │ ├─程序1
│ │ ├─程序2
┆ ┆ ┆

二、安装fping

fping是加强版的ping工具,可以同时ping多个主机:

fping的官网是:

web03# wget 
web03# tar zxf fping.tar.gz
web03# cd fping-2.4b2_to
web03# ./configure
web03# make && make install

安装完毕后,一起就2个文件:
/usr/local/sbin/fping #执行文件
/usr/local/man/man8/fping.8 #man文件

设置fping权限:

web03# chown root:zabbix /usr/local/sbin/fping
web03# chmod 710 /usr/local/sbin/fping
web03# chmod ug+s /usr/local/sbin/fping

三、安装net-snmp:

(主要是从以前的笔记《centos 5.3下编译安装cacti.txt》直接复制过来的。)

net-snmp的官网是:

web03# wget 
web03# tar zxf net-snmp-5.4.2.1.tar.gz
web03# cd net-snmp-5.4.2.1
web03# ./configure --prefix=/usr/server/snmpd --bindir=/usr/server/bin --sbindir=/usr/server/sbin --disable-debugging --enable-developer --with-default-snmp-version="2" --enable-mfd-rewrites --with-mib-modules="mibII ucd_snmp agentx notification target utilities disman/event disman/schedule host ip-mib/ipv4InterfaceTable tunnel" --with-sys-contact="ie81@163.com" --with-sys-location="location" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp"
web02# make && make install

———————————————–
注:加了这几个mib-modules就会有问题:ucd-snmp/lmSensors snmpv3mibs mibII/interfaces
———————————————–

安装完毕后,会在/usr/server/bin/下生成如下相关执行文件:
encode_keychange mib2c-update snmpcheck snmpget snmpset snmptranslate snmpwalk
fixproc net-snmp-config snmpconf snmpgetnext snmpstatus snmptrap tkmib
ipf-mod.pl snmpbulkget snmpdelta snmpinform snmptable snmpusm traptoemail
mib2c snmpbulkwalk snmpdf snmpnetstat snmptest snmpvacm

会在/usr/server/sbin/下生成如下后台服务程序:
snmpd snmptrapd

现在复制配置文件:

web03# cp EXAMPLE.conf /usr/server/snmpd/share/snmp/snmpd.conf

编辑配置文件:

web03# vi /usr/server/snmpd/share/snmp/snmpd.conf
找到如下两行[大约61-62行]:
com2sec local localhost COMMUNITY
com2sec mynetwork NETWORK/24 COMMUNITY

这两行就是snmpd的字符串认证,一行代表一种权限设置,可以修改成:
com2sec local localhost public01
com2sec local 119.146.191.170 web03
com2sec local 192.168.1.0/24 web03

然后把备份脚本snmpd复制到/etc/init.d目录下(见备份文件)。就可以启动snmpd了:

web03# /etc/init.d/snmpd start
Starting snmpd: [ OK ]

然后测试:

web03# snmpwalk -v 2c -c public01 127.0.0.1 if		#最后一个if代表网络信息。

如果有信息出来,就表示OK了。

四、开始安装zabbix-server:(及在本机安装zabbix agent)

zabbix的官网是:
目前最高稳定版是1.6.6。

1、添加用户:

web03# groupadd -g 28 zabbix
web03# useradd -u 28 -g 28 -s /sbin/nologin -M zabbix
web03# id zabbix
uid=28(zabbix) gid=28(zabbix) groups=28(zabbix)

2、下载解压:

web03# wget %20Latest%20Stable/1.6.6/zabbix-1.6.6.tar.gz?use_mirror=nchc
web03# tar zxf zabbix-1.6.6.tar.gz
web03# cd zabbix-1.6.6

3、设置mysql数据库

1)添加数据库和用户:

web03# mysql -u root -p
Enter password:

mysql> create database zabbix;
mysql> CREATE USER 'coos'@'localhost' IDENTIFIED BY 'coos';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,SHOW VIEW,CREATE VIEW,LOCK TABLES ON `zabbix` . * TO 'coos'@'localhost';
mysql> exit
Bye

2)导入数据:

web03# mysql -u coos -pcoos zabbix web03# mysql -u coos -pcoos zabbix web03# mysql -u coos -pcoos zabbix 

4、开始安装配置zabbix:

1)编译

web03# ./configure --enable-server --enable-agent --with-mysql  --with-libcurl --with-net-snmp
web03# make && make install

安装完毕后,会在/usr/local/sbin/下面生下如下命令:
zabbix_agent zabbix_agentd zabbix_get zabbix_sender zabbix_server

好像没看到有其他文件,或者inclue文件,lib库之类的。

2)复制配置文件:

web03# mkdir /etc/zabbix
web03# cp misc/conf/*.conf /etc/zabbix/

可以简化下默认配置,注释太多了:

①修改服务端配置文件:

web03# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.defalut
web03# cat /dev/null >/etc/zabbix/zabbix_server.conf

web03# vi /etc/zabbix/zabbix_server.conf
加入如下内容:
# This is config file for ZABBIX server process
# To get more information about ZABBIX,
# go

SenderFrequency=30
DebugLevel=3
Timeout=5
PidFile=/var/run/zabbix/zabbix_server.pid
LogFile=/var/log/zabbix/zabbix_server.log
AlertScriptsPath=/home/zabbix/bin/
FpingLocation=/usr/local/sbin/fping
#ListenIP=
#ListenPort=10051
DBHost=localhost
DBName=zabbix
DBUser=coos
DBPassword=coos
DBSocket=/tmp/mysql.sock

①修改客户端配置文件:

web03# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.default
web03# cat /dev/null >/etc/zabbix/zabbix_agentd.conf

web03# vi /etc/zabbix/zabbix_agentd.conf
加入如下内容:
# This is config file for zabbix_agentd
# To get more information about ZABBIX, go

Server=127.0.0.1
#ServerPort=11051
Hostname=web03
#ListenIP=
#ListenPort=10050
TimeOut=3
StartAgents=3
DebugLevel=3
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
Timeout=3

最后建立日志和PID目录:

web03# mkdir /var/log/zabbix
web03# chown -R zabbix: /var/log/zabbix/

web03# mkdir /var/run/zabbix
web03# chown -R zabbix: /var/run/zabbix/

3)然后添加端口文件:

web03# vi /etc/services
在最后加入:
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper

4)复制启动脚本:

web03# cp misc/init.d/redhat/zabbix_* /etc/init.d/

然后修改启动脚本:
①修改服务端启动脚本:

web03# vi /etc/init.d/zabbix_server_ctl

BASEDIR=/opt/zabbix ==>把这句前面加#注释掉。
PIDFILE=/var/tmp/zabbix_server.pid ==>修改为/var/run/zabbix/zabbix_server.pid
ZABBIX_SUCKERD=$BASEDIR/bin/zabbix_server ==>修改为/usr/local/sbin/zabbix_server

②修改客户端启动脚本:

web03# vi /etc/init.d/zabbix_agentd_ctl

BASEDIR=/opt/zabbix ==>把这句前面加#注释掉。
PIDFILE=/var/tmp/zabbix_agentd.pid ==>修改为/var/run/zabbix/zabbix_agentd.pid
ZABBIX_AGENTD=$BASEDIR/bin/zabbix_agentd ==>修改为/usr/local/sbin/zabbix_agentd

现在就可以启动了:

启动之前把net-snmpd的库路径加入ldconfig,否则会报错:
web03# grep ‘/usr/server/snmpd/lib’ /etc/ld.so.conf || echo “/usr/server/snmpd/lib” >>/etc/ld.so.conf
web03# ldconfig

启动:

web03# /etc/init.d/zabbix_server_ctl start
web03# /etc/init.d/zabbix_agentd_ctl start

然后查看监听端口和进程:

web03# netstat -tunlp | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 8911/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 8871/zabbix_server

5)配置web界面:
复制网页文件到web路径:

web03# cp -r frontends/php /data1/web/web80/zabbix
web03# chown -R www: /data1/web/web80/zabbix

编辑php.ini文件:

max_execution_time = 30	==> 修改为300		#大约255行。
;date.timezone = ==>去掉注释在=后添加 Asia/Shanghai #大约662行。

然后重启php-fpm,apache的话就重启httpd。

然后使用浏览器访问:
就会出现安装向导,一步步填写就可以了。

最后默认的管理员用户和密码是:admin/zabbix。进去后就可以修改用户密码。
另外还有个guest用户,默认是无法删除,可以进去把用户名改一下,然后设置个密码或者删除就可以。

五、Centos 5.3下安装zabbix客户端zabbix-agentd:

其实前面服务段已经安装了客户端。但是这里为了分开,好在需要监控的的机器单独安装客户端,所以重新做一次:

1、添加用户:

web02# groupadd -g 28 zabbix
web02# useradd -u 28 -g 28 -s /sbin/nologin -M zabbix
web02# id zabbix
uid=28(zabbix) gid=28(zabbix) groups=28(zabbix)

2、下载解压,并编译客户端:

web02# wget %20Latest%20Stable/1.6.6/zabbix-1.6.6.tar.gz?use_mirror=nchc
web02# tar zxf zabbix-1.6.6.tar.gz
web02# cd zabbix-1.6.6
web02# ./configure --enable-agent
web02# make && make install

安装完成,会在/usr/local/sbin/目录生成如下命令:
zabbix_agent zabbix_agentd zabbix_get zabbix_sender

3、配置服务:

web02# mkdir /etc/zabbix
web02# touch /etc/zabbix/zabbix_agentd.conf
web02# vi /etc/zabbix/zabbix_agentd.conf
加入如下内容:
# This is config file for zabbix_agentd
# To get more information about ZABBIX, go

Server=10.1.1.8
#ServerPort=11051
Hostname=web03
#ListenIP=
#ListenPort=10050
TimeOut=3
StartAgents=3
DebugLevel=3
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
Timeout=3

最后建立日志和PID目录:

web02# mkdir /var/log/zabbix
web02# chown -R zabbix: /var/log/zabbix/

web02# mkdir /var/run/zabbix
web02# chown -R zabbix: /var/run/zabbix/

4、然后添加端口文件:

web03# vi /etc/services
在最后加入:
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent

5、复制启动脚本:

web02# cp misc/init.d/redhat/zabbix_agentd_ctl /etc/init.d/

修改客户端启动脚本:

web02# vi /etc/init.d/zabbix_agentd_ctl

BASEDIR=/opt/zabbix ==>把这句前面加#注释掉。
PIDFILE=/var/tmp/zabbix_agentd.pid ==>修改为/var/run/zabbix/zabbix_agentd.pid
ZABBIX_AGENTD=$BASEDIR/bin/zabbix_agentd ==>修改为/usr/local/sbin/zabbix_agentd

启动:

web02# /etc/init.d/zabbix_agentd_ctl start

查看监听端口及进程:

web02# netstat -tunlp | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 15356/zabbix_agentd

现在就可以从zabbix server的web界面来添加web03的主机监控了。

六、windows 2003下安装zabbix客户端zabbix-agentd:

下载windows版本的zabbix agentd:/downloads/1.4.4/zabbix_agents_1.4.4.windows.i386.tar.gz

好像windows目前最高只有1.4.4的版本可下。然后把那个win32的目录解压出来(如果是64位系统就解压win64目录),并把目录名改成zabbix。比如我这里是:E:\bak\zabbix

首先建立一个文本文件c:\zabbix_agentd.conf,加入如下内容:

# This is config file for zabbix_agentd
# To get more information about ZABBIX, go

Server=10.1.1.8
#ServerPort=11051
Hostname=web03
#ListenIP=
#ListenPort=10050
TimeOut=3
StartAgents=3
DebugLevel=3
#PidFile=E:\bak\zabbix\zabbix_agentd.pid
LogFile=E:\bak\zabbix\zabbix_agentd.log
Timeout=3

然后打开 运行–cmd,进入cmd界面:

cmd> cd /d e:\bak\zabbix

cmd> zabbix_agentd.exe -i #安装,也可以用--install
zabbix_agentd.exe [8964]: ZABBIX Agent service created successfully.
zabbix_agentd.exe [8964]: Event source "ZABBIX Agent" installed successfully.

cmd> zabbix_agentd.exe -s #启动,也可以用--start
zabbix_agentd.exe [10156]: ZABBIX Agent service started successfully.

—————————————————————-
另外,如果你的配置文件不是c:\zabbix_agentd.conf,在安装的时候需要手工指定:
cmd> zabbix_agentd.exe –config d:\zabbix_agentd.conf –install
—————————————————————-

然后去zabbix server的web界面添加就可以了。

阅读(2176) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~