CentOS 6.4 x64 zabbix 2.2.2 编译安装

A. 服务端安装配置

 

1.下载zabbix 2.x 最新版本

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

 

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

 

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

 

创建mysql数据库

mysql -uroot -p123456

 

create database zabbix character set utf8;

 

use zabbix

 

source schema.sql

 

source images.sql

 

source data.sql

 

配置zabbix连接数据库选项

 

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

 

DBHost=localhost

DBUser=zabbix

DBPassword=123456

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

DBPort=3306

 

启动zabbix

 

/opt/local/zabbix/sbin/zabbix_server

 

 

配置zabbix web管理接口

 

mkdir /opt/htdocs/zabbix

 

cp -a /opt/software/zabbix-2.2.2/frontends/php/* /opt/htdocs/zabbix/

 

chown -R apache:apache /opt/htdocs/zabbix/

 

httpd 配置一个虚拟主机

 

 

访问 http://localhost/setup.php  进行安装

 

然后下一步 会对 php 的参数有要求~安装要求进行修改 php.ini

 

然后下一步 按照要求配置参数

 

完全以后!!

 

通过web登录,默认用户:admin 密码:zabbix

 

如需要显示中文可通过:右上角“Profile”--"Language" 选择“chinese(zh_CN)”之后保存

 

 

 

B. 客户端安装配置

1.下载zabbix 2.x 最新版本客户端 agents

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

http://www.zabbix.com/downloads/2.2.1/zabbix_agents_2.2.1.linux2_6.i386.tar.gz

 

useradd zabbix

 

mkdir /opt/local/zabbix

 

tar zxvf zabbix_agents_2.0.0.linux2_6.i386.tar.gz -C /opt/local/zabbix/

 

cd /opt/local/zabbix/conf

 

修改下面的配置文件

 

vi zabbix_agentd.conf

 

Server= xxx.xxx.xxx.xxx  

 

修改为服务端的IP

 

然后启动 agent 服务

 

/opt/local/zabbix/sbin/zabbix_agentd -c /opt/local/zabbix/conf/zabbix_agentd.conf

 

 

(  在64系统里执行32位程序如果出现/lib/ld-linux.so.2:

bad ELF interpreter: No such file or directory,安装下glic即可

 

yum install glibc.i686  )

 

netstat -nlp | grep zabbix_agentd

tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      11174/zabbix_agentd

 

 

 

 

--------------------------------------------------------------------------------------

zabbix   之邮件报警

 

安装msmtp

 

首先需要下载msmtp这个组件,可以从这里下载(http://msmtp.sourceforge.net/)

 

http://sourceforge.net/projects/msmtp/files/msmtp/

 

tar jxvf msmtp-1.4.31.tar.bz2

 

cd msmtp-1.4.31

 

./configure && make && make install

 

 

cd /opt/local/zabbix

 

vi .msmtprc

 

------------------------------------------------------

account zabbix                      #调用时的用户

host smtp.qq.com                   #邮件服务器

port 25

from jicki@qq.com

auth login                          #验证方式

tls off                             #不使用tls

user jicki@qq.com

password xxxxxxx

logfile /var/log/zext_msmtp.log     #记录日志

------------------------------------------------------

 

touch /var/log/zext_msmtp.log

chown zabbix:zabbix /var/log/zext_msmtp.log

chmod 0600 /opt/local/zabbix/.msmtprc

chown zabbix:zabbix /opt/local/zabbix/.msmtprc

 

 

 

配置好msmtprc 以后.. 配置 邮件发送脚本

 

vi /usr/bin/zext_msmtp.sh

 

----------------------------------------------------------------------------------------------

 

#! /bin/sh

DEBUG=1

if [ $DEBUG -gt 0 ]

then

       exec 2>>/var/log/zext_msmtp.log

       set -x

fi

FROM='jicki@qq.com'

MSMTP_ACCOUNT='zabbix'

# Parameters (as passed by Zabbix):

#  $1 : Recipient

#  $2 : Subject

#  $3 : Message

recipient=$1

subject=$2

message=$3

date=`date --rfc-2822`

sed 's/$/\r/' <<EOF | /usr/local/bin/msmtp --account $MSMTP_ACCOUNT $recipient

From: <$FROM>

To: <$recipient>

Subject: $subject

Date: $date

$message

EOF

 

---------------------------------------------------------------------------------------------

 

chmod 755 /usr/bin/zext_msmtp.sh

chown zabbix:zabbix /usr/bin/zext_msmtp.sh

 

 

(注: 出现 msmtp: account zabbix not found: no configuration file available 的错误)

使用 msmtp -P  查看 配置文件的位置

[root@localhost log]# msmtp -P

ignoring system configuration file /usr/local/etc/msmtprc: No such file or directory

ignoring user configuration file /root/.msmtprc: No such file or directory

falling back to default account

msmtp: account default not found: no configuration file available

 

将配置文件放在其中一个地方  然后授权 zabbix 下用户的权限 否则问题依旧

 

chown zabbix:zabbix /usr/local/etc/msmtprc

 

 

 

 

完成以后!!就在 Web -- > 管理 -- > 示警媒介类型 -- > 创建媒体类型

 

名称   zext_msmtp

类型   脚本

脚本名称 zext_msmtp.sh

 

 

然后在右上角  基本资料 -- > 示警媒介 -- > 添加

 

类型 zext_msmtp

收件人  jicki@qq.com

当作用中时  默认

用此如果示警度  全选

状态  已启用

 

可以添加多个

 

---------------------------------------------------------------------------------------

 

 

 

zabbix   之手机短信报警

 

首先 拿到公司的短信接口  嘿嘿!!!

 

我们公司的短信接口是PHP的~所有就让PHP开发部给一个短信接口

 

http://xxxx.com/xxx/send.php

 

然后用一个 python 的脚本

 

脚本内容

 

----------------------------------------------------------------------------------------

 

#!/usr/bin/env python

#fileencoding:utf-8

URL = 'http://xxxx.com/xxx/send.php'

import sys

import urllib

import urllib2

import time

def sendsms(mobile,content):

       content = '[%s] %s' % (time.strftime('%Y%m%d %H:%M:%S'),content)

       data = {'mobile':mobile,'content':content}

       body = urllib.urlencode(data)

       request = urllib2.Request(URL,body)

       urldata = urllib2.urlopen(request)

       #print urldata.read()

if __name__ == '__main__':

       sendsms(sys.argv[1],sys.argv[2])

 

----------------------------------------------------------------------------------------

 

保存为 send.py  并授权 /opt/local/zabbix/share/zabbix/alertscripts/send.py

 

chmod +x /opt/local/zabbix/share/zabbix/alertscripts/send.py

 

 

 

完成以后!!就在 Web -- > 管理 -- > 示警媒介类型 -- > 创建媒体类型

 

名称   SMS

类型   脚本

脚本名称 send.py

 

 

然后在右上角  基本资料 -- > 示警媒介 -- > 添加

 

类型 SMS

收件人  18888888888

当作用中时  默认

用此如果示警度  选择比较紧急的

状态  已启用

 

可以添加多个

 

 

-------------------------------------------------------------------------------------

 

 

 

zabbix的监控Mongodb

 

在安装有Mongodb的机器上配置如下:

 

vi zabbix_agentd.conf

 

UserParameter=MongoDB.Status[*],/bin/echo "db.serverStatus().$1" | /opt/local/mongodb/bin/mongo admin | grep "$2"| awk -F: '{print $$2}'|awk -F, '{print $$1}'

 

注: 注意Mongodb 安装路径

 

保存修改以后~重启 zabbix_agentd 服务

 

--------------------------------------------------------------------------------------

Web 上配置 Mongodb 监控模板    模板在附件     组态 --> 模板 ---> 汇入  

 

然后查看模板   编辑  项目   将模式 改成 Agent代理  模式    默认为 主动模式

posted @ 2016-05-31 18:33  丶小炒肉  阅读(435)  评论(0编辑  收藏  举报