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 �Cy
三、部署过程
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=enforcing为SELINUX=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 �Cg 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 �Curoot �Cp
Mysql> create database zabbix;
5.创建一个名为zabbix,密码为zabbix123的mysql用户,并赋予本地登入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/images.sql
mysql> source /root/zabbix-2.2.3/database/mysql/data.sql
iii.编译源码
参考的编译参数,具体可以./configure �Chelp
./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 �Cadd 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=enforcing为SELINUX=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 �Cg zabbix zabbix
2.安装gcc
yum install gcc
v.编译软件
cd /root/zabbix****
./configure �Cenable-agent
Make && make install
vi.编译后的工作
1.设置后台服务启动
cp misc/init.d/fedora/core/zabbix_agentd/etc/init.d/
chkconfig �Cadd 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 �Cg 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 �Curoot �Cp
Mysql> create database zabbix_proxy;
5.创建一个名为zabbix_proxy,密码为zabbix_proxy 123的mysql用户,并赋予本地登入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 �Chelp
./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\\server和proxy配置修改同步时间间隔,单位秒
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.以后创建主机时,由“系统代理程式监测”里在选上使用的代理即可