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代理 模式 默认为 主动模式