Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1284879
  • 博文数量: 161
  • 博客积分: 10192
  • 博客等级: 上将
  • 技术积分: 2165
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-27 17:09
文章分类

全部博文(161)

文章存档

2012年(2)

2011年(13)

2010年(137)

2009年(5)

2008年(4)

我的朋友

分类: LINUX

2010-08-06 09:59:59

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

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BS...


CentOS平台: lamp+zabbix测试

                        ----thanks http://johnwang.blog.51cto.com/ 

服务器端:

1.安装lamp,并测试启动httpd mysqld服务.

#yum install -y  apr-devel  apr-util-devel  beecrypt-devel  curl*  elfutils-devel  elfutils-devel-static  httpd  httpd-devel  lm_sensors  lm_sensors-devel  mysql  mysql-bench  mysql-devel  mysql-server  net-snmp  net-snmp-devel  net-snmp-perl  net-snmp-utils  perl  perl-DBD-MySQL  perl-DBI  php  php-bcmath  php-gd  php-mbstring php-mysql  php-pdo  php-snmp

2.下载zabbix并设置服务

解压缩并编译安装
#./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
#make install

创建
用户zabbix
#useradd -d /home/zabbix -p zabbix zabbix

进入zabbix解压缩后的目录,建数据库
#mysql -uroot -p
create database zabbix;
grant all on zabbix.* to 'zabbix'@'localhost'  identified by 'zabbix';
quit;
#cat create/schema/mysql.sql | mysql -uroot -ptest zabbix
#cat create/data/data.sql | mysql -uroot -ptest zabbix
#cat create/data/images_mysql.sql | mysql -uroot -ptest zabbix

修改 /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

修改防火墙,打开10050  10051端口
#vi /etc/sysconfig/iptables

修改 zabbix 的配置文件
创建配置文件目录,并将源代码中的配置文件模板拷贝到新创建的配置文件目录中。
#mkdir /etc/zabbix
#cp misc/conf/* /etc/zabbix

修改 zabbix_server.conf
DBUser=zabbix
DBPassword=zabbix
LogFile=/tmp/zabbix_server.log

#mkdir /var/log/zabbix

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

/etc/zabbix下的zabbix_agentd.conf zabbix_agent zabbix_trapper.conf 用默认值.

# cp -a ./frontends/php /var/www/html/
# cd /var/www/html/ 
# mv php zabbix

# chown zabbix:zabbix -R zabbix/
# cd /var/www/html/zabbix/include
# vim db.inc.php
添加如下内容,同时还要修改/var/www/html/zabbix/include/setup.inc.php同样加入下面的内容
$DB_TYPE="MYSQL";
$DB_SERVER="localhost";
$DB_DATABASE="zabbix";
$DB_USER="zabbix";
$DB_PWD="zabbix";
 
# vim /etc/php.ini
找到max_execution_time = 30
改成max_execution_time = 300
找到 ;date.timezone =
改成date.timezone = Asia/Shanghai  //注意Shanghai字母的大小写.

设置启动脚本:
# cp misc/init.d/redhat/zabbix_* /etc/init.d/

修改服务端启动脚本:
# vi /etc/init.d/zabbix_server_ctl
修改如下,添加chkconfig标识,注意:标识数字要大于mysqld httpd的数字;服务间的依附关系。
# chkconfig: - 96 96
# description: Zabbix Server

BASEDIR=/usr/local/sbin
ZABBIX_SUCKERD=$BASEDIR/zabbix_server
②修改客户端启动脚本:
# vi /etc/init.d/zabbix_agentd_ctl

修改如下,添加chkconfig标识,
# chkconfig: - 51 51
# description: Zabbix Agentd

BASEDIR=/usr/local/sbin
ZABBIX_AGENTD=$BASEDIR/zabbix_agentd
使用 chkconfig 将其加入 init 的启动服务
chkconfig --add zabbix_server_ctl
chkconfig --add zabbix_agentd_ctl
chkconfig zabbix_server_ctl on
chkconfig zabbix_agentd_ctl on


下面开启服务端以及客户端:
#server zabbix_server_ctl start
#server zabbix_agent_ctl start

查看日志:
#tail -f /var/log/zabbix/zabbix_server.log
#tail -f /var/log/zabbix/zabbix_agentd.log

3.从web页面开始设置zabbix。

访问并开始配置

一般会检查到失败,如PHP max execution 和PHP Timezone,则修改 /etc/php.ini ,修改以下两项
max_execution_time = 300
date.timezone = Asia/Chongqing
重启httpd
#service httpd restart
在页面上点击 retry ,检查成功.

接下来是检测并安装mysql......最后完成.

4.页面登录并进一步设置zabbix

默认用户admin
默认口令 zabbix
进 入Configuration -》Hosts 选择 Zabbix Server 然后 Activate Select,Zabbix Server (本机)的监控激活。进入 Monitoring Dashboard,可以看到 Zabbix Server 的监控结果。

如果zabbix服务运行正常,会看到Zabbix server is runningYes等信息。

5。进一步设置zabbix

进入Configuration -》Hosts 选择 Zabbix Server ,选择Graphs,建立cpu  memory  ping disk network等图形。。。。。。

6.设置zabbix短信报警
http://hi.baidu.com/evo2004/blog/item/cc28931556db190a4b90a758.html

短信平台:JX01移动代理服务器(MAS服务器)
zabbix平台:CentOS5.3      zabbix1.6.6

一、在移动代理服务器上发布Webservice服务器端。
1.根据移动提供的安装说明书,增加MAS服务器Webservice功能。

二、zabbix服务器上建立JAVA运行环境。
1.查看本机安装的java版本并卸载,因为短信接口java程序是用的1.6.0_18
[root@server home]# rpm -qa |grep java
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-0.25.b09.el5
[root@server home]# rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
[root@server home]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-0.25.b09.el5

2.安装jdk1.6.0_18
[root@localhost root]#cd /usr/java               ----切换到此目录
[root@localhost root]# chmod 777 jdk-6u18-linux-i586.bin       ----修改文件的权限让文件可以执行
[root@localhost root]#./jdk-6u18-linux-i586.bin               ----执行此文件,进行安装
安装的时候首先会出现jdk的授权信息,你就可以不断的enter就可以了,
然后会跑出来一个 确认你否安装的 信息,然后输入 "yes"就真正开始安装了。
安装完成后的目录是/usr/java/jdk1.6.0_18

3.配置环境变量
[root@localhost root]#vi /etc/profile         ----打开profile文件
假设jdk的安装目录为:/usr/java/jdk1.6.0_18
然后在文件的末尾加上以下三句话
export JAVA_HOME=/usr/java/jdk1.6.0_18
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$
JAVA_HOME/lib/axis.jar:$JAVA_HOME/lib/axis-ant.jar:$JAVA_HOME/lib/jaxrpc.jar:$JA
VA_HOME/lib/commons-logging-1.0.4.jar:$JAVA_HOME/lib/commons-discovery-0.2.jar:$
JAVA_HOME/lib/log4j-1.2.8.jar:$JAVA_HOME/lib/log4j.properties.jar:$JAVA_HOME/lib
/saaj.jar:$JAVA_HOME/lib/wsdl4j-1.5.1.jar:./
export PATH=$PATH:$JAVA_HOME/bin

为什么CLASSPATH这么一长串,因为短息接口程序需要调用这几个jar包中的类,只好这样添加了
”然后保存退出,重启一下系统,就可以了。

三、上传测试短信接口java程序。
1.根据接口说明文件,编写了一个java接口程序sendsms.java,编译后为sendsms.class。上传sendsms.class到/usr/java/jdk1.6.0_18/lib,同时把要用到的类包也传到这个目录下。
2.测试一下
[zabbix@server ~]$ java sendsms 138******** 短信测试 成功
Init成功!138********短信测试成功 发送成功!
四、zabbix服务器上添加脚本。
1.在/home/zabbix/bin下编写脚本程序sendsms.sh,调用的命令很简单,最好把java的环境变量写进去。
#! /bin/sh
export JAVA_HOME=/usr/java/jdk1.6.0_18
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$
JAVA_HOME/lib/axis.jar:$JAVA_HOME/lib/axis-ant.jar:$JAVA_HOME/lib/jaxrpc.jar:$JA
VA_HOME/lib/commons-logging-1.0.4.jar:$JAVA_HOME/lib/commons-discovery-0.2.jar:$
JAVA_HOME/lib/log4j-1.2.8.jar:$JAVA_HOME/lib/log4j.properties.jar:$JAVA_HOME/lib
/saaj.jar:$JAVA_HOME/lib/wsdl4j-1.5.1.jar:./
export PATH=$PATH:$JAVA_HOME/bin

java sendsms "$1" "$2" "$3"              <----zabbix调用sendsms.sh时会带三个参数,$1为手机号码,$2为报警项目,$3为报警内容。

2.在zabbix Web管理页面administrator--mediatype--sms,type选择script,script name填sendsms.sh。


客户端(linux):(客户端不需要安装服务器端的那么多包,只要编译zabbix_agent并运行即可)
1、添加用户zabbix

2、下载解压,并编译客户端:
# tar zxf zabbix-1.8.2.tar.gz
# cd zabbix-1.8.2
# ./configure --enable-agent
# make install

3、配置服务:

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

修改 zabbix_agentd.conf

Server=192.168.0.50
日志默认是/tmp/zabbix_agentd.log

4、然后添加端口文件:
# vi /etc/services
在最后加入:
zabbix-agent    10050/tcp                       #Zabbix Agent
zabbix-agent    10050/udp                       #Zabbix Agent

5、复制启动脚本:

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

修改客户端启动脚本:

# vi /etc/init.d/zabbix_agentd_ctl

BASEDIR=/usr/local/sbin
ZABBIX_AGENTD=$BASEDIR/zabbix_agentd

启动:
# /etc/init.d/zabbix_agentd_ctl start

查看端口:

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

6.在zabbix server的web界面来添加该客户端机器的监控。

客户端(windows):
一、所需文件位置
Windows客户端程序安装文件和配置文件分别在zabbix-1.8.2.tar.gz压缩包(使用winrar打开)的bin\win32和misc\conf下。
二、安装
1.copy bin\win32\zabbix_agentd.exe misc\conf\zabbix_agentd.win.conf 到c:\下。

修改zabbix_agentd.win.conf
Server=192.168.1.1                             <------zabbix服务器ip地址
Hostname=sale server                         <------客户端机器名
StartAgents=5
DebugLevel=3
PidFile=c:\zabbix_agentd.pid                <------保存PidFile的路径
LogFile=c:\zabbix_agentd.log               <------保存LogFile的路径
Timeout=3
2.使用命令安装zabbix_agentd
cd c:\
zabbix_agentd.exe -i                            <------安装                           
zabbix_agentd.exe -s                           <------启动服务

三、安装完毕后,在zabbix Web管理页面使用Discovery查找新安装的客户端。
阅读(1170) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~