码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix部署记录

时间:2015-04-09 20:11:15      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:记录   zabbix   

  1. 下载zabbix 2.2.2 最新版本

http://www.zabbix.com/download.php

系统环境:centos6.5 X86

2.安装配置所需要软件(zabbix需要一个lamp环境) 使用 yum 安装既可

yum -y install httpd php php-devel php-gd php-bcmath php-mbstring mysql mysql-devel mysql-serverphp-xml php-mysql gd net-snmp net-snmp-devel net-snmp-utils curl-devel lrzsz

#yum  -y install php php-*curl-devel mysql mysql-server httpd php mysql-devel gnutls mysql-developenldap-devel OpenIPMI OpenIPMI* ncurses-devel unixODBC unixODBC-develmysql-connector-odbc libstdc* libX* gcc vim make alsa-lib jpackage-utils pcrepcre-devel net-snmp net-snmp-devel net-snmp-libs net-snmp-perl net-snmp-utilsrsyslog-* curl curl-devel  java* gnutls-devellibgssapi_krb5.so.2 libz.so.1 libstdc++.so.6

chkconfig httpd on

chkconfig mysqld on

chkconfig snmpd on

 

3.创建用户zabbix

useradd zabbix

 

4. 安装zabbix

tar zxvf zabbix-2.2.2.tar.gz

cd zabbix-2.2.2

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

make install

make

 

5.创建mysql数据库

mysql -uroot -p111111

create database zabbix character set utf8;

use zabbix

 

导入库

mysql -uroot -p111111 zabbix < schema.sql

mysql -uroot -p111111 zabbix < images.sql

mysql -uroot -p111111 zabbix < data.sql

 

6.配置zabbix连接数据库选项

vi /opt/local/zabbix/etc/zabbix_server.conf

DBHost=localhost

DBUser=zabbix

DBPassword=111111

DBSocket=/var/lib/mysql/mysql.sock

DBPort=3306

StartJavaPollers=5

AlertScriptsPath=/opt/local/zabbix/alertscripts

 

启动进程

/opt/local/zabbix/sbin/zabbix_server

/opt/local/zabbix/sbin/zabbix_agentd

service mysqld start

 

 

 

7.配置web并写入启动项

cp /usr/local/src/zabbix/zabbix-2.2.2/misc/init.d/tru64/zabbix_server /etc/init.d/

cp /usr/local/src/zabbix/zabbix-2.2.2/misc/init.d/tru64/zabbix_agentd /etc/init.d/

cp -R /usr/local/src/zabbix/zabbix-2.2.2/frontends/php /var/www/html/zabbix

sed -i ‘s/^DBUser=.*$/DBUser=zabbix/g‘ /opt/local/zabbix/etc/zabbix_server.conf

sed -i ‘s/^.*DBPassword=.*$/DBPassword=zabbix/g‘ /opt/local/zabbix/etc/zabbix_server.conf

sed -i ‘s/BASEDIR=\/usr\/local/BASEDIR=\/opt\/local\/zabbix/g‘ /etc/init.d/zabbix_server

sed -i ‘s/BASEDIR=\/usr\/local/BASEDIR=\/opt\/local\/zabbix/g‘ /etc/init.d/zabbix_agentd

cp -R /usr/local/src/zabbix/zabbix-2.2.2/frontends/php/* /var/www/html/

 

**修改图形乱码**

cd /var/www/html/conf/fonts/

rz -y 上传字体 simkai.ttf

mv DejaVuSans.ttf DejaVuSans.ttf.bak 备份原有字体

mv simkai.ttf DejaVuSans.ttf 替换原有字体为中文楷体

 

8.IE页面配置

IE框内输入:http://serverIP/setup.php

 点击next

技术分享

Zabbix检测安装组件是否完整安装

技术分享

 

技术分享

红框内根据提示,修改/etc/php.ini相关的参数

Php-bcmath 如果无法找到,直接yum install y php-bcmath

直到全部显示为绿色,OK。点击下一步。

 

技术分享

此页面填入数据库密码即可,点击下一步。

技术分享

默认即可,下一步。

技术分享

前面的配置检测,如无故障报错,下一步。

技术分享

此处页面是安装好之后的页面,正常第一次页面会告诉你无法在/var/www/html/conf/文件夹下找到zabbix.conf.php文件,此处需要你在这个页面将zabbix.conf.php文件下载到本地,然后上传到/var/www/html/conf/目录下即可。然后让系统自己检测一遍,点击完成。

 

登陆zabbix页面。默认useradmin  passwdzabbix

@@排错@@

  1. 页面报错zabbix server is not runningthe information     displayed may not be current.

关闭selinux

/etc/sysconfig/selinux

 

编辑zabbix.conf.php文件,文件位置

/var/www/html/conf/zabbix.conf.php

$ZBX_SERVER的值改为本机的IP地址$ZBX_SERVER =  ‘serverIP’代替hostname

2.zabbix_server.log出现的提示

zabbix_server.log出现的提示

2009:20121023:193549.354 Sending list of active checks to [serverIP] failed: host [CentOS65] not found

这是因为zabbix_agentd.conf配置文件中的Hostnameweb中的主机名对应。

技术分享

####Zabbix discoverer processes more than 75% busy####

启用自动发现功能出现此错误。

解决方法:

zabbix_server.conf中的

修改StartDiscoverers的值,根据需求修改.

默认为1.

禁用zabbix重装

 

 

 

 

*****Zabbixfetion报警****

首先下载fetion包。(fetion包在目录/usr/local/src)

解压。Cd /usr/local/src

tar -zxvf fetion.tar.gz  -C /usr/local/

 

cd fetion/    fetion目录下有3个包

技术分享

(第一个为依赖库文件,第二个为fetion运行文件 第三个为系统文件)

cp fetion /bin/ 

vi /etc/ld.so.conf.d/fetion.conf #创建飞信运行的配置文件

添加:/usr/local/fetion

chmod 775 /etc/ld.so.conf.d/fetion.conf

ldconfig  ##创建关联

cd  /bin/ && ldd fetion  查看所依赖的包  根据提示 拷贝相关库文件到对应的地方

cp /usr/local/fetion/ld-linux.so.2 /lib/

cp libACE-5.7.2.so /lib64/

cp libACE_SSL-5.7.2.so /lib64/

cp libACE_SSL-5.7.2.so /lib/

cp libssl.so.4 /lib/

cp libstdc++.so.6 /lib/

yum install libz.so.1 y

yum install -y libgssapi_krb5.so.2

yum install krb5-libs

根据相关的对应提示,如包自带的就copy 如没有请下载。

测试feition   moble 发送的号码  pwd 密码  to 接收的手机号码

/bin/fetion --mobile xxxxxxxxxx --pwd=xxxxxxxx --to=xxxxxxxxx --msg-

utf8="test"

如测试成功。开始创建飞信脚本。  (注意:第一次使用fetion有验证码,请自行把fetion生成的验证码图片copy到本地,再输入到机器)

cd /opt/local/zabbix/share/zabbix/alertscripts/

vi sms.sh  ## 创建飞信脚本

技术分享

 

touch /var/log/sms.log 创建日志文件。

./sms.sh *********** hello world  测试脚本。

OK,请自行到页面配置。

 

@@插件安装zatree@@

git clone https://github.com/spide4k/zatree.git zatree

 

cp -r zatree/zabbix-2.2.x $ZABBIX_PATH/zatree

cd $ZABBIX_PATH/zatree/addfile

cp -f CLineGraphDraw_Zabbix.php  CGraphDraw_Zabbix.php CImageTextTable_Zabbix.php  $ZABBIX_PATH/include/classes/graphdraw/

cp -f zabbix.php zabbix_chart.php $ZABBIX_PATH/

cp -f CItemValue.php $ZABBIX_PATH/api/classes/

cp -f menu.inc.php $ZABBIX_PATH/include/

cp -f main.js $ZABBIX_PATH/js/

cp -f API.php $ZABBIX_PATH/include/classes/api/

3:支持web  interface,修改配置文件

vi  $ZABBIX_PATH/zatree/zabbix_config.php
   ‘user‘=>‘xxx‘, //
你的用户名
   ‘passowrd‘=>‘xxx‘, //
你的密码

 

4:导航增加Zatree入口,修改menu.inc.php,main.js

vi $ZABBIX_PATH/include/menu.inc.php

在login数组前添加以下内容:

 

‘zatree‘=>array(       
   ‘label‘ => _(‘zatree‘),         
   ‘user_type‘ => USER_TYPE_ZABBIX_USER,       
   ‘default_page_id‘  => 0,       
   ‘force_disable_all_nodes‘ => true,         
   ‘pages‘ =>array(                
             array(‘url‘ =>  ‘zabbix.php‘,‘label‘ => _(‘Zatree‘),)               
   ),

 

 

vim vi $ZABBIX_PATH/js/main.js

替换106行

menus:  {‘empty‘: 0, ‘view‘: 0, ‘cm‘: 0, ‘reports‘: 0, ‘config‘: 0, ‘admin‘: 0,  ‘zatree‘:0},

66:增加封装的api类

vi  $ZABBIX_PATH/include/classes/api/API.php

在70行附近,添加如下内容:

         ‘usermedia‘ => ‘CUserMedia‘,
           ‘itemvalue‘  =>‘CItemValue‘,
           ‘webcheck‘ => ‘CWebCheck‘

7:登陆zabbix,在导航里可以看到一个Zatree的菜单,然后开始使用zetree.

 

 

 

cp -rf zatree  $ZABBIX_PATH/

cd  $ZABBIX_PATH/zatree/addfile

cp  class.cchart_zabbix.php class.cgraphdraw_zabbix.php  class.cimagetexttable_zabbix.php $ZABBIX_PATH/include/classes/

cp zabbix.php  zabbix_chart.php $ZABBIX_PATH/

cp CItemValue.php  $ZABBIX_PATH/api/classes/

 

 

###mail报警#####

yum  install mailx #安装

CentOS  5.x 编译安装mailx,直接yum安装的mailx版本太旧,使用外部邮件发送会有问题。

yum  remove mailx #卸载系统自带的旧版mailx

下载mailx

http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

tar  jxvf mailx-12.4.tar.bz2 #解压

cd  mailx-12.4 #进入目录

make #编译

make  install UCBINSTALL=/usr/bin/install #安装

ln -s  /usr/local/bin/mailx /bin/mail #创建mailxmail的软连接

ln -s  /etc/nail.rc /etc/mail.rc #创建mailx配置文件软连接

whereis  mailx #查看安装路径

mailx  -V #查看版本信息

配置Zabbix服务端外部邮箱

vi  /etc/mail.rc #编辑,添加以下信息

set from=xxx@163.com smtp=smtp.163.com

set smtp-auth-user=xxx@163.com smtp-auth-password=123456

set smtp-auth=login

:wq! #保存退出

echo "zabbix  test mail" |mail -s "zabbix" yyy@163.com

#测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:yyy@163.com

#这时候,邮箱yyy@163.com会收到来自xxx@163.com的测试邮件

四、配置Zabbix服务端邮件报警

1、打开Zabbix

管理-示警媒介类型-创建媒体类型

技术分享

 

技术分享

名称:Sendmail

类型:脚本

脚本名称:sendmail.sh

已启用:勾选

存档

2、设置Zabbix用户报警邮箱地址

组态-用户-Admin (Zabbix Administrator)

技术分享

 

技术分享

切换到示警媒介-添加

技术分享

类型:Sendmail

收件人:xxx@163.com

其他默认即可,也可

以根据需要设置

状态:已启用

存档

3、设置Zabbix触发报警的动作

组态-动作-创建动作

技术分享

名称:Action-Email

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:  {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}:  {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

技术分享

切换到操作选项

新的

操作类型:送出信息

送到用户:添加

默认信息:打钩

选择用户:Admin

选择

仅送到:Sendmail

存档

4、添加Zabbix服务端邮件发送脚本

cd  /usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录

vi  sendmail.sh #编辑,添加以下代码

#!/bin/sh

echo "$3"  | mail -s "$2" $1

:wq! #保存退出

chown zabbix.zabbix  /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本所有者为zabbix用户

chmod +x  /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

#设置脚本执行权限

五、测试Zabbix报警

关闭Zabbix客户端服务

service  zabbix_agentd stop

查看xxx@163.com邮箱,会收到报警邮件

再开启Zabbix客户端服务

service  zabbix_agentd start

查看xxx@163.com邮箱,会收到恢复邮件

使用外部邮箱账号发送报警邮件设置完成。

 

 

 


zabbix部署记录

标签:记录   zabbix   

原文地址:http://dwwendy.blog.51cto.com/2359960/1630598

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!