|
...
http://www.zabbix.com/download.php
#############################################################################
https://www.zabbix.com/wiki/howto/install/centos/centosinstall
Zabbix on RHEL/CentOS 4, 5 and 6 using packages
Must be in two steps. First you have to configure the EPEL repository fromhttp://fedoraproject.org/wiki/EPEL/FAQ#howtouse.
And then you can install Zabbix as on Fedora with
# yum install zabbix zabbix-agent zabbix-web
where
zabbix is Zabbix server
zabbix-agent is Zabbix Agent
zabbix-web is Zabbix Web interface
zabbix-proxy (optional) is Zabbix Proxy
The agent and server config file are then located in /etc/zabbix directory.
Note: it currently installs version 1.8.10 (December 2011) on RHEL/CentOS 6. See here for updates.
Zabbix Installation
We will be installing following components:
Zabbix Server (for gathering data)
Zabbix Agent (for monitoring)
Net-SNMP (for SNMP Support)
Jabber (for notifications)
OpenIPMI (for monitoring)
cURL (for web monitoring)
Dependencies
First install all the dependencies with yum using the command
# yum install zlib-devel mysql-devel glibc-devel curl-devel gcc automake mysql libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-devel
Compile and Install Source
Now that we have our dependencies set up we need to download the actual source, this can also be done with the wget command.
# wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/1.8.1/zabbix-1.8.1.tar.gz?use_mirror=freefr
After it has downloaded the file we can unzip and untar with following command.
# gunzip zabbix-1.8.1.tar.gz && tar -xvf zabbix-1.8.1.tar
This should have created a folder called zabbix-1.8.1 in your home directory. Next we need to browse to the directory and configure our setup.
# cd zabbix-1.8.1
# ./configure --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl --with-openipmi --enable-agent
===============
http://jicki.blog.iyunv.com/1323993/1358689
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 查看 配置文件的位置
[iyunv@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代理 模式 默认为 主动模式
============================
http://www.yunvn.com/thread-19749-1-1.html
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix由2部分构成,zabbixserver与可选组件zabbix agent。
一、Zabbix简介
1.1Zabbix简介
Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。官方网站:http://www.zabbix.com官方文档:http://www.zabbix.com/documentation/2.0/manual/quickstart。Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
Zabbix运行条件:
Server:Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低。
Agent:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows。
SNMP:支持各类常见的网络设备
1.2Zabbix功能
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持自动发现网络设备和服务器;支持分布式,能集中展示、管理分布式的监控点;扩展性强,server提供通用接口,可以自己开发完善各类监控。
1.3 优劣势
优点:开源,无软件成本投入;Server对设备性能要求低(实际测试环境:虚拟机CentOS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上);支持设备多;支持分布式集中管理;开放式接口,扩展性强。
缺点:中文资料较少。
二、zabbix安装
CentOS5.8 上安装 Zabbix 2.2
环境:
CentOS5.8 64 Bit Zabbix 2.2
Zabbixserver ip: 10.0.215.126
使用yum安装软件,首先安装 yum-fastestmirror 插件,用来找到最快的源。
yuminstall yum-fastestmirror -y
3.安装 Apache、PHP、MySQL
软件清单
软件
| 版本
| Apache
| httpd-2.2.3
| Mysql
| mysql-5.0.95
| Php
| PHP -5.3.27
| Zabbix
| Zabbix -2.20
|
1、安装组件
yuminstall make mysql-server httpd php mysql-devel gcc net-snmp-devel curl-develperl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml -y
useraddzabbix
2、启动mysql
service mysqld start
mysqladmin –u root password root 设定mysql数据库管理员的账号密码
mysql –u root –p
输入密码root
3、创建zabbix数据库
Mysql> create database zabbix character set utf8;
Mysql> grant all on zabbix.* TO zabbix@'localhost' identified by'zabbixpass'; 授权本机通过账号zabbix密码zabbixpass访问数据库的所有权限
Mysql> flush privileges;
4、导入数据库sql
zabbix-2.0.6/database/mysql
mysql -h localhost -uroot -proot zabbix <schema.sql 这里应该用zabbix和zabbix来导入sql文件,由于root是管理员账号,所以本地可以直接用来连接
mysql-h localhost -uroot -proot zabbix <images.sql 这里应该用zabbix和zabbix来导入sql文件
mysql-h localhost -uroot -proot zabbix <data.sql 这里应该用zabbix和zabbix来导入sql文件
5、添加用户
添加用户:
groupaddzabbix
useraddzabbix -g zabbix
6、编译安装
./configure --with-mysql --with-net-snmp --with-libcurl --enable-server--enable-agent --enable-proxy --prefix=/usr/local/zabbix
make && make install
7、添加端口
vim /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
8、修改配置文件
修改/etc/httpd/conf/httpd.conf
DirectoryIndex index.html index.html.var index.php
修改/usr/local/zabbix/etc/zabbix_server.conf参数:
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/
cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
chmod 700 /etc/init.d/zabbix_*
vim /etc/init.d/zabbix_server
修改
ZABBIX_BIN="/usr/local/sbin/zabbix_server"
为
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"
vim /etc/init.d/zabbix_agentd
修改
ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"
为
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
9、启动服务并设置开机启动
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start
chkconfig zabbix_server on
chkconfig zabbix_agentd on
10、修改php相关参数
# vi /etc/php.ini 找到如下几项,改成下面的值,前面有;号的要删掉
max_execution_time = 300
max_input_time = 300
date.timezone = PRC
post_max_size = 32M
重启httpd
/etc/init.d/httpd restart
11、配置php文件
# cd zabbix-2.0.6
# cd frontends/
# cp -rf php /var/www/html/
# cd /var/www/html
# mv php zabbix
# chown -R zabbix:zabbix zabbix
zabbix2.2版本默认到zabbix安装目录下的etc文件中去找server的配置文件,如果想另指配置文件位置比如/etc/zabbix
可以./configure中添加--sysconfig=/etc/zabbix
由于 zabbix 使用 fping 替代了 ping 作为 icmp 的工具,所以要安装 fping
可以从 http://fping.sourceforge.net/ 上下载 fping 的源代码,解压编译安装。
进入 fping 解压后的源代码目录
./configure
makeinstall
修改/etc/zabbix/zabbix_server.conf
FpingLocation=/usr/local/sbin/fping
拷贝zabbix服务器的frontend php 程序到 http server 的主目录下
cp-r frontend/php/* /var/www/html/
使用浏览器登陆到 zabbix server
http://你的IP地址/index.php
会出现如下配置服务器界面
<ignore_js_op>
一路 next 进入配置检查页面,会发现 PHP max execution 和PHP Timezone 两项检查失败,如下:
<ignore_js_op>
修改 /etc/php.ini ,修改以下两项
max_execution_time= 300
date.timezone= Asia/Chongqing
重启httpd
service httpd restart
在页面上点击 retry ,检查成功
next 进入下一页面,检查 mysql 连接
填写 mysql 连接参数,Test Connection ,成功
一路 next,出现如下页面
<ignore_js_op>
点击 save configuration file ,将文件上传到虚拟机的 /var/www/html/conf 目录下,点击 retry ,成功。
一路 next ,进入登陆页面
<ignore_js_op>
输入管理用户名:admin 默认口令 zabbix 登陆。进入Configuration -》Hosts 选择 Zabbix Server 然后 Activate Select,Zabbix Server (本机)的监控激活。进入 Monitoring Dashboard,可以看到 Zabbix Server 的监控结果
<ignore_js_op>
有一点要注意:agent端配置好之后,添加host,需要添加模板才会显示绿色成功连接哟。
<ignore_js_op>
好了,大功告成!
zabbix agent安装配置
至于zabbix agent的安装就很简单了,将源码安装包拷到客户机上,解压后
groupaddzabbix
useraddzabbix -g zabbix
1、编译安装
./configure --with-net-snmp --with-libcurl --enable-agent --enable-proxy--prefix=/usr/local/zabbix
make && make install
2、添加端口
vim /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
3、修改配置文件
cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
chown-R zabbix:zabbix /etc/init.d/zabbix_*
chmod 700 /etc/init.d/zabbix_*
su - zabbix
vim /etc/init.d/zabbix_agentd
修改
ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"
为
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
4、启动服务并设置开机启动
/etc/init.d/zabbix_agentdstart
chkconfigzabbix_agentd on
##########################################################
http://www.it165.net/os/html/201405/8300.html
- 一、Zabbix基本介绍:
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server:可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。zabbix agent:需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista等系统之上。 Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监.控数据并使用apache+php的方式呈现。 Agent:指安装在被监.控设备上的zabbix代理(以下简称代理),被监.控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并呈现。 SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监.控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)。 IPMI:Agent的另一种方式,主要应用于设备的物理性能监.控,例如设备的温度、风扇的转速等。
zabbix的体系结构图:
QTBnMzgyLmpwZw==" src="http://www.it165.net/uploadfile/files/2014/0515/2014051509221076.jpg" title="zabbix体系结构.jpg" />
二、Zabbix安装配置
第一步:下载所需要用的的程序包:1、zabbix-2.0.8-3.el6.x86_64.rpm # 主程序包2、zabbix-agent-2.0.8-3.el6.x86_64.rpm # 被监.控端需要安装的代理程序包3、zabbix-get-2.0.8-3.el6.x86_64.rpm # 去被监.控端拉取数据的程序包4、zabbix-sender-2.0.8-3.el6.x86_64.rpm # 发送数据所需要安培的程序包5、zabbix-server-2.0.8-3.el6.x86_64.rpm # 做为服务器端所需要安装的各6、zabbix-server-mysql-2.0.8-3.el6.x86_64.rpm # 服务器端安装数据库程序包7、zabbix-web-2.0.8-3.el6.noarch.rpm # web界面需要安装的程序包8、zabbix-web-mysql-2.0.8-3.el6.noarch.rpm # web界面需要安装的数据库程序包
# 作为服务器端需要安装的程序包除了2和4都要安装
[iyunv@node1 ~]# yum -y install zabbix-2.0.8-3.el6.x86_64.rpm zabbix-get-2.0.8-3.el6.x86_64.rpm zabbix-server-2.0.8-3.el6.x86_64.rpm zabbix-server-mysql-2.0.8-3.el6.x86_64.rpm zabbix-web-2.0.8-3.el6.noarch.rpm zabbix-web-mysql-2.0.8-3.el6.noarch.rpm
# 安装好之后可以查看一下数据库程序包安装的位置,特别要注意红色的数据库文件
[iyunv@node1 ~]# rpm -ql zabbix-server-mysql/usr/sbin/zabbix_server_mysql/usr/share/doc/zabbix-server-mysql-2.0.8/usr/share/doc/zabbix-server-mysql-2.0.8/create/usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql/usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql/usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql
[iyunv@node1 ~]# cd /etc/zabbix/[iyunv@node1 zabbix]# ls web zabbix_server.conf[iyunv@node1 zabbix]# vim zabbix_server.conf
DBHost=172.16.27.88 # 连接数据库的主机名
DBName=zabbix # 数据库名
DBUser=zabbix # 连接数据库所使用的用户
DBPassword=linux # 用户的数据
DBPort=3306 # 连接数据库的端口 | 配置文件中各参数的详细说明如下表,按需要启动这些参数:
DBName=zabbix | zabbix所属数据库名称 | DBUser=zabbix | zabbix所属数据库用户 | DBPassword=www.tanxw.com | zabbix数据库密码 | StartPollers=30 | 轮询的初始值(0-1000) | StartIPMIPollers=4 | IPMI轮询的初始值(0-1000) | StartPollersUnreachable=30 | 轮询不可达的主机数(包括IPMI 0-1000) | StartTrappers=8
| 捕获的初始值(0-1000) | StartPingers=4 | ping的初始值(0-1000) | StartDiscoverers=0 | 自动发现的初始值(0-250) | CacheSize=384M | 缓存空间大小 | CacheUpdateFrequency=300 | 缓存更新的频率 | StartDBSyncers=8 | 数据库同步时间 | TrendCacheSize=128M | 总趋势缓存大小 | AlertScriptsPath=/path/something/script | 脚本的存放位置 | LogSlowQueries=1000 | 日志慢查询设定 |
第二步:如果数据库跟zabbix server不在同一台主机上,那就要去远程主机上创建数据库了和给用户授权了,这里我们也是在不同的上机上进行操作:
[iyunv@node0 ~]# mysql -uroot -pEnter password: Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 8174Server version: 10.0.10-MariaDB-log MariaDB ServerCopyright (c) 2000, 2014, Oracle, SkySQL Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> GRANT ALL ON *.* TO 'root'@'172.16.%.%' IDENTIFIED BY 'linux' WITH GRANT OPTION;Query OK, 0 rows affected (0.06 sec) MariaDB [none]> GRANT ALL ON zabbix.* TO 'zabbix'@'172.16.%.%' IDENTIFIED BY 'linux';Query OK, 0 rows affected (0.27 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> CREATE DATABASE zabbix;
Query OK, 0 rows affected (0.31 sec)
MariaDB [(none)]> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || test || zabbix |+--------------------+5 rows in set (0.16 sec)MariaDB [(none)]>
|
第三步:在服务器端安装上mysql客户端,或者把上面安装zabbix-server-mysql生成的数据库文件复制到数据库服务器上去,再导入到数据库中去,这里我们使用的是远程导入,就是在zabbix服务器端安装上mysql客户端,再把/usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql、/usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql、/usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql这三个文件导入到已经创建好的数据库中去;
[iyunv@node1 zabbix]# rpm -q mysql mysql-5.1.71-1.el6.x86_64
# 使用刚授权的远程用户把数据导入到数据库中去
[iyunv@node1 ~]# mysql -uroot -plinux -h172.16.27.88 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql [iyunv@node1 ~]# mysql -uroot -plinux -h172.16.27.88 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql [iyunv@node1 ~]# mysql -uroot -plinux -h172.16.27.88 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql
# 而后再回去172.16.27.88这台主机上的数据库中查看一下导入的数据是否成功
MariaDB [(none)]> USE zabbixDatabase changedMariaDB [zabbix]> SHOW TABLES;+-----------------------+| Tables_in_zabbix |+-----------------------+| acknowledges || actions || alerts || applications |
.........................
103 rows in set (0.07 sec)MariaDB [zabbix]>
# 再回到zabbix-server服务器端修改一下时区
[iyunv@node1 zabbix]# vim /etc/php.inidate.timezone = Asia/Shanghai[iyunv@node1 zabbix]# service httpd restart
Stopping httpd: [ OK ]Starting httpd: [ OK ][iyunv@node1 zabbix]#
|
第四步:启动zabbix-servere服务,这里要注意的是httpd安装好和php也要安装上,启动httpd服务和zabbix-server之后就可以在页面上访问安装了,zabbix-server会启动一大堆进程,默认监听的端口是10051:
[iyunv@node1 zabbix]# service zabbix-server start
Starting Zabbix server: [ OK ]
[iyunv@node1 zabbix]# ss -tlnp
|








到这里就就算是配置安装好了,那接下来的的很多操作基本上都是在这个界面上完成的,定义各个监.控对象等。现在我们再找几个节点,也就是再弄几台虚拟机安装上zabbix-agent,把这几个安装了zabbix-agent的主机添加到监.控服务中来:
1、在被监.控的主机上安装zabbix-2.0.8-3.el6.x86_64.rpm zabbix-agent-2.0.8-3.el6.x86_64.rpm zabbix-sender-2.0.8-3.el6.x86_64.rpm这几个包,但sender这个包不是必须的,只有在被监.控端主动向服务器端发送监.控数据库时才需要安装,这里我们就一并安装了吧,先把数据库这台主机安装上agent,而后再安装其实主机测试使用:
[iyunv@node0 ~]# yum -y locainstall zabbix-2.0.8-3.el6.x86_64.rpm zabbix-agent-2.0.8-3.el6.x86_64.rpm zabbix-sender-2.0.8-3.el6.x86_64.rpm
# 修改配置文件,指定zabbix的服务器端的地址
[iyunv@node0 ~]# cd /etc/zabbix/[iyunv@node0 zabbix]# ls zabbix_agentd.conf zabbix_agentd.d[iyunv@node0 zabbix]# vim zabbix_agentd.conf Server=172.16.27.1# 只需要改这个监.控服务器地址就可以启动了
[iyunv@node0 ~]# service zabbix-agent startStarting Zabbix agent: [ OK ][iyunv@node0 ~]# ss -tnlp # zabbix agent监听的端口是10050sss
|
2、添加监.控主机到zabbix服务中去,在这里要说的是里面的选项很多,不过官方文档有很详细的说明,https://www.zabbix.com/documentation/2.0/manual/config/hosts/host


3、再创建一个监.控项item,点击上图中的Item项,再点击右上角的create item就可以创建item项了,这里我们添加两个做为测试,一个是eth0的数据流出量和流入量:



4、创建图形展示数据,点击Graphs,再点create graphs就可以创建图形展示数据了,填上相关的参数:



5、多个图组合在一个屏幕上查看的创建,也就是定义screens:




基本的监.控对象定义大概就是这个步骤,很多的监.控项还需要多花时间去了解认识,还是要结合官方文档了解清楚,这样才可以准确定义我们所需要监.控的对象,那接下来我们再来定义邮件通知、自动发现并添加主机和定义模板:
1、定义模板和发现主机,并自动添加主机:




定义一个发现规则:







2、报警发送邮件的定义,先定义一个媒介,而后再去定义一个用户,用来接收邮件的:






定义一个actions:



当流量超过我们定义的阈值时就会发送报告信息,通过邮件发送信息给我们的监.控用户:
总结:
zabbix是一个很强大并且开源的监.控系统,很多功能有待我们去了解去发现,通过上面的一些相关配置我们大概了解一这个监.控系统的基本的配置过程了,当然,于由水平有限,不难会出错或做得不到位的,还望大神多多指点。
http://coolnull.com/217.html
说明:
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。
实现:
1.获取zabbix,zabbix最新版2.0.3:
wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.3/zabbix-2.0.3.tar.gz//因为zabbix-2.0版本中并没有系统启动服务脚本,因此下载zabbix-1.8的,拷贝其中有的misc/init.d/redhat/zabbix_server,zabbix_agentd
wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/1.8.2/zabbix-1.8.2.tar.gz<span id="more-217"></span>
2.yum安装zabbix需要的其他组件
yum -y install net-snmp-devel curl-devel
3.为zabbix添加用户并创建数据库
groupadd zabbix //添加zabbix组
useradd zabbix -g zabbix //新建zabbix用户并将其加入到zabbix组
tar zxvf zabbix-2.0.3.tar.gz
cd zabbix-2.0.3>create database zabbix character set utf8;//新建zabbix数据库>grant all on zabbix.* to zabbix@localhost identified by'redhat';//给zabbix这个数据库授权,只允许zabbix这个用户通过本地登录,zabbix用户的密码为redhat//将zabbix源码包中的数据导入到新建的zabbix数据库,这一步是zabbix2.0.3与其他旧版不同的,在版本2.0.3里数据库的结构和名字都变了,而且导入也要严格按照顺序来。
mysql -uzabbix -p'redhat' zabbix </zabbix/zabbix-2.0.3/database/mysql/schema.sql #zabbix的数据库表结构
mysql -uzabbix -p'redhat' zabbix </zabbix/zabbix-2.0.3/database/mysql/images.sql #待查
mysql -uzabbix -p'redhat' zabbix </zabbix/zabbix-2.0.3/database/mysql/data.sql #zabbix的数据库数据./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/webserver/mysql/bin/mysql_config --with-net-snmp --with-libcurl
//--prefix指定zabbix安装目录,--enable-server 支持zabbix服务器,--enable-agent支持zabbix代理,--enable-proxy 支持zabbix代理服务器,--with-mysql 使用MySQL客户端库可以选择指定路径mysql_config,--with-net-snmp 使用net - snmp软件包,择性地指定路径NET - SNMP配置, --with-libcurl 使用curl包
make && make install
//若./configure 出现hecking for mysql_config… configure: error: MySQL library not found,可以使用find / -name “mysql_config”来查看,更改–with-mysql的位置
//若./configure出现错误configure: error: Invalid NET-SNMP directory – unable to find net-snmp-config,可以通过yum install net-snmp-devel来解决
4.为zabbix server添加端口
# cat >> /etc/services <<eof
zabbix-agent 10050/tcp #ZabbixAgent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #ZabbixTrapper
zabbix-trapper 10051/udp #Zabbix Trapper
EOF
5.拷贝配置文件到相应的目录下,这一步也是2.0.3改动的地方,以往的配置文件都是存放在源码包下的misc/conf/目录中,这次不是。将zabbix-1.8中的zabbix-server,zabbix-agentd.conf拷贝到/etc/zabbix
mkdir /etc/zabbix
cp -rf /zabbix/zabbix-1.8/conf/* /etc/zabbix
6.更改zabbix-server.conf配置文件中数据库相关的用户名密码
vim /etc/zabbix/zabbix_server.conf,修改以下三项:
DBName=zabbix
DBUser=zabbix
DBPassword=redhat
//DBPassword 默认是被注释掉的,需要自己添加
7.给zabbix-2.0.3服务端程序做软链接
cd /usr/local/zabbix/bin/for i in*;do ln -s /usr/local/zabbix/bin/${i}/usr/bin/${i};done
cd /usr/local/zabbix/sbin/for i in*;do ln -s /usr/local/zabbix/sbin/${i}/usr/sbin/${i};done//添加数据库Lib文件位置到/etc/ld.so.conf中,并使其生效
echo /usr/local/webserver/mysql/lib/mysql/>>/etc/ld.so.conf
ldconfig
//拷贝相应的web程序到相关WEB服务目录下
cp -r zabbix-2.0.3/frontends/php /www/
chown -R www:www /www/zabbix
8.拷贝zabbix服务端和客户端启动脚本到/etc/init.d目录下.
//因为zabbix-2.0.3下/misc/init.d/并没有redhat启动脚本,因此下载zabbix-1.8,拷贝zabbix-1.8/misc/init.d/zabbix_server,zabbix_agentd
cp zabbix-1.8.2/misc/init.d/zabbix_server /etc/init.d
chmod +x /etc/init.d/zabbix_server # 为脚本加上可执行权限
cp zabbix-2.0.3/misc/init.d/zabbix_agentd /etc/init.d
chmod +x /etc/init.d/zabbix_agentd
#修改/etc/init.d/zabbix_server,zabbix_agentd,将
9.启动zabbix,并且添加开机自启动
service zabbix-server start
service zabbix-agentd start //启动服务
chkconfig zabbix-server on
chkconfig zabbix-agentd on //开机自启动
10.在Nginx服务中添加zabbix虚拟主机
vim /usr/local/nginx/conf/vhosts/monitor.conf
server
{
listen 80;
server_name monitor.nobody.com;#access_log logs/zabbix_access.log main;
root /www/zabbix;
index index.html index.htm index.php;
location ~.*.(php|php5)?$
{#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;}}
11.修改PHP配置文件php.ini内容
vim /usr/local/webserver/php/etc/php.ini
date.timezone =Asia/Shanghai
post_max_size =32M
max_execution_time =300
max_input_time =300
注:更改完之后需要重启nginx和php,启动重启之后最好使用ps -ef | grep php 查看下
12.浏览器安装打开http://monitor.nobody.com进行安装
检测php组件,全部OK才可以点击next
最后一栏 PHP gettext 肯定是No状态,因为在LNMP中没有加入 PHP gettext,所以需要动态编译下php添加gettext。
13.php添加gettext模块
//进入到php源码包中,php源码包中包含有gettext
cd /opt/php-5.1.2/ext/gettext
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-gettext
make && make install
//在/usr/local/webserver/php/lib/php/extensions下产生一个gettext.so文件//确定 php.ini文件中的extension_dir=/opt/php/lib/php/extensions 跟 extension=gettext.so//重启php,nginx//可以通过/usr/local/webserver/php/bin/php -m|grep gettext来查看是否添加了gettext模块
14.连接zabbix数据库
设置zabbix服务IP和端口等等,就可以进入了
15.默认用户名:admin 密码:zabbix
|
|