zabbix之2安装编译/基本功能实现
1.安装方式:
rpm或者编译都可,rpm可以直接用yum安装.
rpm安装的话,根据文件名进行选择即可.
编译的话,不同参数对应不同的组件.
编译安装zabbix:
同时安装server和agent,并支持将数据放入mysql数据中,可使用类似如下配置命令:
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2
同时安装server和agent,并支持将数据放入mysql数据中,可使用类似如下配置命令:
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2
如果仅安装server,并支持将数据放入mysql数据中,可使用类似如下配置命令:
./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl
如果仅安装proxy,并支持将数据放入mysql数据中,可使用类似如下配置命令:
./configure --prefix=/usr/local/zabbix --prefix=/usr --enable-proxy --with-net-snmp --with-mysql --with-ssh2
如果仅安装agent,可使用类似如下配置命令:
./configure --prefix=/usr/local/zabbix --enable-agent
这里选择的方式是非proxy
#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2
![](http://images0.cnblogs.com/blog/507024/201405/191738311848177.gif)
ssh2 lib找不到,则安装libssh2,并--with-ssh2=指定安装位置,地址:http://www.libssh2.org/
# make
# make install
# make install
添加zabbix系统账户
#groupadd zabbix
#useradd -g zabbix -m zabbix
#chown -R root.zabbix /usr/local/zabbix
添加服务端口(可要可不要,官方说建议要)
#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
配置文件软连接(可要可不要,按照习惯要)
ln -s /usr/local/zabbix/etc /etc/zabbix
#vim /etc/zabbix/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBName=zabbix
DBUser=zabbixer
DBPassword=123456 #指定zabbix数据库密码
ListenIP=192.168.10.197 #服务器IP地址
复制网站文件到虚拟主机目录,当然修改虚拟主机的配置也是必须的.(这里贴出apache的,至于nginx,这里就不贴出来了)
#cp -rp /usr/local/src/zabbix-***/frontends/php /var/www/zabbix
#cd /var/www
#chown -R zabbix.zabbix zabbix
#vim /usr/local/apache/conf/httpd.conf
group zabbix
user zabbix
#vim /usr/local/apache/conf/extra/httpd-vhost.conf
<VirtualHost 10.88.5.124:80>
ServerAdmin xxx@abc.com
DocumentRoot "/var/www/zabbix"
ServerName 10.88.5.124
ErrorLog "logs/zabbix-error_log"
CustomLog "logs/zabbix-access_log" common
<Directory "/var/www/zabbix">
Options None
DirectoryIndex index.php
AllowOverride Options FileInfo
Require all granted
</Directory>
</VirtualHost>
复制启动脚本,zabbix的启动脚本位于源码包中,路径如下:
# ls /usr/local/src/zabbix-2.2.3/misc/init.d/
aix debian fedora freebsd gentoo README suse tru64 ubuntu
# ls fedora/core/
zabbix_agentd zabbix_server
#cp * /etc/init.d/
#chkconfig --add zabbix_agentd
#chkconfig --add zabbix_server
#chkconfig zabbix_agentd on
#chkconfig zabbix_server on
修改脚本,因为脚本里的bin程序和配置文件路径均不对,好吧,也不能说不对,不过和我的不一样...所以得改下,但是版本不同,可能里面的内容不同,不过修改的内容都差不多,只不过变量不一样.这里贴出我的zabbix_server
# Variables 变量区域
# Edit these to match your system settings
# Zabbix-Directory
BASEDIR=/usr/local/zabbix
# Binary File
BINARY_NAME=zabbix_server
# Full Binary File Call
FULLPATH=$BASEDIR/sbin/$BINARY_NAME
# PID file
PIDFILE=/tmp/$BINARY_NAME.pid
# Establish args
ERROR=0
STOPPING=0
#启动区域
start() {
if [ $RUNNING -eq 1 ]
then
echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
else
action $"Starting $BINARY_NAME: " $FULLPATH -c /etc/zabbix/zabbix_server.conf
touch /var/lock/subsys/$BINARY_NAME
fi
}
# Edit these to match your system settings
# Zabbix-Directory
BASEDIR=/usr/local/zabbix
# Binary File
BINARY_NAME=zabbix_server
# Full Binary File Call
FULLPATH=$BASEDIR/sbin/$BINARY_NAME
# PID file
PIDFILE=/tmp/$BINARY_NAME.pid
# Establish args
ERROR=0
STOPPING=0
#启动区域
start() {
if [ $RUNNING -eq 1 ]
then
echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
else
action $"Starting $BINARY_NAME: " $FULLPATH -c /etc/zabbix/zabbix_server.conf
touch /var/lock/subsys/$BINARY_NAME
fi
}
红色区域就是我修改的,分别是一个zabbix根路径和启动时所调用的配置文件.
至于zabbix_agentd,修改方式一样.
数据库端-->
创建数据库:server和proxy的运行都依赖于数据库,agent则不需要。
以MySQL数据库为例:
#生成用户名和密码;
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL ON zabbix.* TO zabbixer@'%' IDENTIFIED BY '123456';
#生成proxy数据库
shell> mysql -u<username> -p<password> zabbix < schema.sql
#生成server数据库
shell> mysql -u<username> -p<password> zabbix < images.sql
shell> mysql -u<username> -p<password> zabbix < data.sql
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL ON zabbix.* TO zabbixer@'%' IDENTIFIED BY '123456';
#生成proxy数据库
shell> mysql -u<username> -p<password> zabbix < schema.sql
#生成server数据库
shell> mysql -u<username> -p<password> zabbix < images.sql
shell> mysql -u<username> -p<password> zabbix < data.sql
![](http://images0.cnblogs.com/blog/507024/201405/191738317628520.gif)
![](http://images0.cnblogs.com/blog/507024/201405/191738317628520.gif)
server端和web端在一起-->
![](http://images0.cnblogs.com/blog/507024/201405/191738317628520.gif)
![](http://images0.cnblogs.com/blog/507024/201405/191738317628520.gif)
启动过程中可能会出现诸多问题,这里列出我所出现的:
![](http://images0.cnblogs.com/blog/507024/201405/191738320748550.gif)
![](http://images0.cnblogs.com/blog/507024/201405/191738324812907.gif)
![](http://images0.cnblogs.com/blog/507024/201405/191738320748550.gif)
![](http://images0.cnblogs.com/blog/507024/201405/191738324812907.gif)
![](http://images0.cnblogs.com/blog/507024/201405/191738320748550.gif)
![](http://images0.cnblogs.com/blog/507024/201405/191738324812907.gif)
配置完成,可以启动
service zabbix-server start
访问页面http://localhost/zabbix(如果是rpm安装),如果是编译安装,则路径按照自己httpd中定义的来写.
![](http://images0.cnblogs.com/blog/507024/201405/191738311848177.gif)
1.php的参数不对,这个根据网页上显示的修改php.ini即可.如:php时区 Aisa/ShangHai
2.gd库不支持,包括gd库下的png,jpeg,freetype等.这个需要下载gd,libpng,jpeg,freetype.具体操作如下:
#编译安装libpng,jpeg,freetype,这三个包安装无需特殊参数,指定一下路径即可,有人说需要加入--enable-shared,但是我没开,gd依然可以用.
#编译安装gd,加入--with-png-dir=/path/libpng --with-jpeg-dir=/path/jpeg --with-freetype-dir=/path/freetype
#如果gd编译后,显示这几个库都是YES,则说明OK.
#将gd加入到php中.如果你的php已经是安装过的,那么需要单独编译gd,操作如下:(路径自己根据情况修改)
#cd /usr/local/src/php-***/ext/gd
#/usr/local/php/bin/phpize
#./configure --with-gd=/usr/local/gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-php-config=/usr/local/php/bin/php-config
#make && make install
编译安装完,会有一个路径,将其路径复制,假设路径是pathA
#vim /usr/local/php/php.ini
[gd]
extension = pathA/gd.so
#重启apache或fpm-php
#编译安装gd,加入--with-png-dir=/path/libpng --with-jpeg-dir=/path/jpeg --with-freetype-dir=/path/freetype
#如果gd编译后,显示这几个库都是YES,则说明OK.
#将gd加入到php中.如果你的php已经是安装过的,那么需要单独编译gd,操作如下:(路径自己根据情况修改)
#cd /usr/local/src/php-***/ext/gd
#/usr/local/php/bin/phpize
#./configure --with-gd=/usr/local/gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-php-config=/usr/local/php/bin/php-config
#make && make install
编译安装完,会有一个路径,将其路径复制,假设路径是pathA
#vim /usr/local/php/php.ini
[gd]
extension = pathA/gd.so
#重启apache或fpm-php
3.其他库不支持,如上编译安装即可.
被监控端:
配置:zabbix-agentd.conf
#vim /etc/zabbix/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid #进程PID
LogFile=/tmp/zabbix_agentd.log #日志保存位置
EnableRemoteCommands=1 #允许执行远程命令
Server= #agent端的ip
Hostname=zabbix server #必须与zabbix创建的host监控项目中的name标签相同
PidFile=/tmp/zabbix_agentd.pid #进程PID
LogFile=/tmp/zabbix_agentd.log #日志保存位置
EnableRemoteCommands=1 #允许执行远程命令
Server= #agent端的ip
Hostname=zabbix server #必须与zabbix创建的host监控项目中的name标签相同
配置完成,可以启动
service zabbix-agentd start
![](http://images0.cnblogs.com/blog/507024/201405/191738317628520.gif)
windows端的安装
1. 配置zabbix_agentd.conf文件,需要修改的地方分别为:Server,Hostname,LogFile;
其中Server是zabbix服务器的IP地址,Hostname是本地的主机名,LogFile为zabbix_agentd.log文件的位置,用于记录事件.
2. 进入cmd环境,C:\zabbix\bin\win32>zabbix_agentd.exe --config c:\zabbix\conf\zabbix_agentd.win.conf -i
3. 在"运行"输入 "services.msc",在里面找到"ZABBIX AGENT",并启动服务。
至此就完成了ZABBIX windows agent的安装和配置。
2. 进入cmd环境,C:\zabbix\bin\win32>zabbix_agentd.exe --config c:\zabbix\conf\zabbix_agentd.win.conf -i
3. 在"运行"输入 "services.msc",在里面找到"ZABBIX AGENT",并启动服务。
至此就完成了ZABBIX windows agent的安装和配置。
配置监控项目基本流程:
1.设定主机
2.设定监控项Configuration-->Hosts-->Items-->create items
多个Items可以定义为Application组
监控项需要定义key,来确保项目唯一性.另,key可以接收参数.
3.配置Graph,可以将多个监控项的图表合并在一起.
4.Screen可以将多个Graph整合在一个屏幕上.
5.配置触发器
6.配置动作Action
[星空刺]
|-->一颗星辰一闪即逝,支撑它的唯有方向和目的