Centos下Zabbix_Server/agent/proxy的安装配置

--------源码编译

                                      完整版请查看附件

一、环境说明

a)软件环境

由于是源码安装,官方的zabbix源码包内已经包含了Server,Proxy, Agent, GUI所有组件和必要的执行脚本,截至本文正式版本限于2.2.3

LAMP环境

n操作系统使用Centos6.5 X86_64 最小化安装,并yum update到最新状态,内核版本为2.6.32-431.17.1.el6.x86_64

nMysql 使用mysql-5.1,本文不介绍mysql的安装和配置,仅于下文中有关zabbix配置时的概述;

nPHP使用5.3版本;

nhttpd使用2.2.15版本

b)网络环境

i.服务端:

1.网卡eht0:

地址:192.168.13.222

掩码:255.255.255.0

网关:192.168.13.1


ii.客户端

1.网卡eht0:

地址:192.168.254.222

掩码:255.255.255.0

网关:192.168.254.1


iii.代理端

1.网卡eht0:

地址:192.168.13.223

掩码:255.255.255.0

网关:192.168.13.1

2.网卡eht1:

地址:192.168.254.223

掩码:255.255.255.0

网关:192.168.254.1


二、获取软件

a)获取zabbix

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

b)获取其他软件

i.yum install httpdphp-xml php-mbstring mysql-server mysqlphp-mysql php php-bcmath php-gd mysql-devel curl-devel gcc libgcc make net-snmpnet-snmp-develnet-snmp-utils –y

三、部署过程

a)操作系统配置

i.网络配置

1.vi/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

IPADDR=192.168.13.222

PREFIX=24

GATEWAY=192.168.13.1

DNS1=114.114.114.114

2.service network restart

ii.Selinux配置

1.vi /etc/sysconfig/selinux

2.修改SELINUX=enforcingSELINUX=disabled

iii.防火墙配置

1.iptables -A INPUT -p tcp --dport10051 -j ACCEPT

2.iptables -A INPUT -p tcp --dport 80-j ACCEPT

3.service iptables save

以上配置完成后,注意重启操作系统!

b)服务端安装

i.创建zabbix运行用户和用户组

groupadd zabbix

useradd –g zabbix zabbix

ii.配置zabbix数据库

1.修改root密码,默认密码为空;(略)

2.修改/etc/my.cnf,在[mysqld]下新增一行;

default-character-set=utf8\\默认数据库字符集为utf8

3.重启mysql

service mysqld restart

4.新建zabbix-server使用的数据库(数据库名称为zabbix

Mysql –uroot –p

Mysql> create database zabbix;

5.创建一个名为zabbix,密码为zabbix123mysql用户,并赋予本地登入zabbix数据库的所有权限

grant allprivileges on zabbix.* to zabbix@localhost identified by "zabbix123";

6.导入zabbix数据库结构;

a)解压zabbix-2.2.3;

i.tar zxvf zabbix-2.2.3.tar.gz


[root@operation~]# ls && pwd

zabbix-2.2.3zabbix-2.2.3.tar.gz

/root


b)导入数据库结构;

i.mysql> use zabbix;

mysql> source /root/zabbix-2.2.3/database/mysql/schema.sql

mysql> source/root/zabbix-2.2.3/database/mysql/p_w_picpaths.sql

mysql> source /root/zabbix-2.2.3/database/mysql/data.sql

iii.编译源码

参考的编译参数,具体可以./configure –help


./configure --prefix=/usr/local --enable-server --enable-agent--enable-proxy --enable-java --with-mysql --enable-ipv6 --with-net-snmp--with-libcurl --with-libxml2 --with-ldap --with-openipmi --with-unixodbc--with-jabber


编译错误处理:

以下操作可能需要第三方源,参考此进行安装第三方Yum

rpm-ivhhttp://ftp.sjtu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm


configure: error: Jabber library not found

#yum install iksemel-devel即可,

configure: error: LIBXML2 library not found

#yuminstall libxml2-devel

configure: error: unixODBC library not found

#yum install unixODBC-devel

configure: error: Invalid OPENIPMI directory - unable to findipmiif.h

#yum install OpenIPMI-devel

configure:error: Unable to find "javac" executable in path

#yum install java*具体什么包没找,直接通配算逑,生产环境可去掉--enable-java选项

configure: error: Curl library not found

# yum install curl-devel


Make && make install

iv.编辑配置文件

vi/usr/local/etc/zabbix_server.conf

替换下列行

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix123

v.设置后台服务启动

cp ~/zabbix-2.2.3/misc/init.d/fedora/core/zabbix_server/etc/init.d/

chkconfig –add zabbix_server

vi.设置web前端

1.设置PHP

Vi /etc/php.ini

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

date.timezone = Asia/Chongqing

2.设置web目录

mkdir /var/www/html/zabbix

cp -R ~/zabbix-2.2.3/frontends/php/* /var/www/html/zabbix/

service httpdstart

vii.WEB安装

1.打开http://zabbix_server_ip/zabbix


2.点击Next,出现下图的检测页面,确保所有均为OK


3.点击Next,出现数据库设置窗口,填入之前设置好的数据库信息;填写好后,点击Test connection,出现OK后方可点击Next


4.Server设置页面建议不要修改;


5.点击如下图中的”Download configuration file” ,将下载的文件上传到/var/www/html/zabbix/conf/



上传完成后,点击“Retry,出现“OK”后,点击“Finish”。

介此,server端的安装完成。

c)客户端安装

i.Selinux配置

1.vi /etc/sysconfig/selinux

2.修改SELINUX=enforcingSELINUX=disabled

ii.防火墙配置

1.iptables -A INPUT -p tcp --dport10051 -j ACCEPT

2.iptables -A INPUT -p tcp --dport 10050-j ACCEPT

3.service iptables save

以上配置完成后,注意重启操作系统!

iii.解压软件包

tar zxvf zabbix-2.2.3.tar.gz

解压的路径为/root/zabbix*****

iv.编译前的准备工作

1.建立用户组

gourpaddzabbix

useradd –g zabbix zabbix

2.安装gcc

yum install gcc

v.编译软件

cd /root/zabbix****

./configure –enable-agent

Make && make install

vi.编译后的工作

1.设置后台服务启动

cp misc/init.d/fedora/core/zabbix_agentd/etc/init.d/

chkconfig –add zabbix_agentd

vii.编辑配置文件

1.vi /usr/local/etc/zabbix_agentd.conf

修改下列行:

LogFile=/var/log/zabbix_agentd.log\\修改日志位置;

Hostname=zabbix_agent\\主机名称,一定要与后面server端配置的一致;

Server=192.168.254.223\\代理端的IP地址

ServerActive=192.168.254.223:10051\\代理端的IP和端口

ListenPort=10050\\agent监听端口

ListenIP=0.0.0.0\\监听的地址

Servicezabbix_agentd start启动zabbix_agent

基本错误处理:

zabbix_agentd[8235]: cannot open [/var/log/zabbix_agentd.log]: [13] Permission denied

这个错误是由于/var/log/下没有写的权限;

使用root用户创建/var/log/zabbix_agentd.log文件并给予zabbix用户和用户组所有权;

touch/var/log/zabbix_agentd.log

chownzabbix.zabbix /var/log/zabbix_agentd.log

d)代理端安装

i.创建zabbix运行用户和用户组

groupadd zabbix

useradd –g zabbix zabbix

ii.配置zabbix数据库

1.修改root密码,默认密码为空;(略)

2.修改/etc/my.cnf,在[mysqld]下新增一行;

default-character-set=utf8\\默认数据库字符集为utf8

3.重启mysql

service mysqld restart

4.新建zabbix-server使用的数据库(数据库名称为zabbix

Mysql –uroot –p

Mysql> create database zabbix_proxy;

5.创建一个名为zabbix_proxy,密码为zabbix_proxy 123mysql用户,并赋予本地登入zabbix_proxy数据库的所有权限

grant allprivileges on zabbix_proxy.* to zabbix_proxy @localhost identified by " zabbix_proxy123";

6.导入zabbix数据库结构;

a)解压zabbix-2.2.3;

i.tar zxvf zabbix-2.2.3.tar.gz


[root@operation~]# ls && pwd

zabbix-2.2.3zabbix-2.2.3.tar.gz

/root


b)导入数据库结构;

i.mysql> use zabbix;

mysql> source /root/zabbix-2.2.3/database/mysql/schema.sql

\\proxy只需要导入架构即可

iii.编译源码

参考的编译参数,具体可以./configure –help


./configure --prefix=/usr/local --enable-agent --enable-proxy--enable-java --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl--with-libxml2 --with-ldap --with-openipmi --with-unixodbc--with-jabber


编译错误处理:

以下操作可能需要第三方源,参考此进行安装第三方Yum

rpm-ivhhttp://ftp.sjtu.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm


configure: error: Jabber library not found

#yum installiksemel-devel 即可,

configure: error: LIBXML2 library not found

#yuminstall libxml2-devel

configure: error: unixODBC library not found

#yuminstall unixODBC-devel

configure: error: Invalid OPENIPMI directory - unable to findipmiif.h

#yum install OpenIPMI-devel

configure:error: Unable to find "javac" executable in path

#yum install java*具体什么包没找,直接通配,生产环境可去掉--enable-java选项

configure: error: Curl library not found

# yum install curl-devel

Make && make install

iv.安装后配置

1.修改zabbix_proxy.conf配置文件

vi/usr/local/etc/zabbix_proxy.conf

修改如下行:

Server=192.168.13.222\\ Server端的地址

Hostname=Zabbix_proxy\\ 主机名称,在Server设置代理时候必须一致

DBName=zabbix_proxy\\数据库名称

DBUser=zabbix_proxy\\数据库用户

DBPassword=zabbix_proxy123\\数据库密码

ProxyLocalBuffer=0\\最好设置为0,除非有插件要求。

ProxyOfflineBuffer=1\\离线缓存记录,设置为1小时

ConfigFrequency=600\\serverproxy配置修改同步时间间隔,单位秒

DataSenderFrequency=10\\数据发送时间间隔,单位秒

StartPollers=10\\开启多线程

StartPollersUnreachable=1\\该线程用来单独监控无法连接的主机,1个即可

StartTrappers=10\\trapper线程数

StartPingers=1\\fping线程数

CacheSize=64M\\用来保存监控数据的缓存数,根据监控主机数量适当调整

Timeout=10\\超时时间,单位秒

TrapperTimeout=30\\Trappe超时时间,单位秒

LogFile=/var/log/zabbix_proxy.log\\日志位置


2.启动zabbix_proxy

/usr/local/sbin/zabbix_proxy

3.Server端设置

a)Web页面设置

i.中文

1.“管理”-->“分布管理”-->“创建代理”(创建的为系统代理程式)


2.名称填入之前在proxy配置文件里面的hostname的值


3.以后创建主机时,由“系统代理程式监测”里在选上使用的代理即可