一、概述
为什么使用zabbix分布式监控。
假如zabbix server在杭州, 北京、上海、广州各有100台机器需要监控,天津有10台机器需要监控。
如果没有分布式的话,zabbix server就得添加310台主机,而且每台主机都要zabbix server去获取数据。
如果有分布式的话,北京部署一台proxy,北京一百台机器都让proxy代替server去获取数据。上海、广州各一台proxy,天津一台proxy。
zabbix server ip:172.16.0.3 192.168.1.106
zabbix proxy ip: 172.16.0.1
zabbix agent ip: 172.16.0.1
二、zabbix proxy安装脚本
#!/bin/sh
if [ -d "/usr/local/zabbix/" ];then
echo "zabbix is install"
exit 1
else
echo "zabbix in not install"
fi
my_gcc=`rpm -qa gcc`
if [[ -n "$my_gcc" ]];then
echo "$my_gcc"
else
yum -y install gcc
fi
my_gcc_c=`rpm -qa gcc-c++`
if [[ -n "$my_gcc_c" ]];then
echo "$my_gcc_c"
else
yum -y install gcc-c++
fi
mysql_devel=`rpm -qa mysql-devel`
if [[ -n "$mysql_devel" ]];then
echo "$mysql_devel"
else
yum install mysql-devel -y
fi
snmp_devel=`rpm -qa net-snmp-devel`
if [[ -n "$snmp_devel" ]];then
echo "$snmp_devel"
else
yum install net-snmp-devel -y
fi
libxml2_devel=`rpm -qa libxml2-devel`
if [[ -n "$libxml2_devel" ]];then
echo "$libxml2_devel"
else
yum install libxml2-devel -y
fi
libcurl=`rpm -qa libcurl-devel`
if [[ -n "$libcurl" ]];then
echo "$libcurl"
else
yum install libcurl-devel -y
fi
groupadd zabbix useradd -g zabbix zabbix
cd /usr/local/src/
tar -zxvf zabbix-3.0.9.tar.gz
cd zabbix-3.0.9
./configure --prefix=/usr/local/zabbix --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make
make install
三、查看下zabbix_proxy是否有安装成功
/usr/local/zabbix/sbin/zabbix_proxy -h
四、zabbix_proxy mysql导入数据
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
set names utf8;
use zabbix;
source /usr/local/src/zabbix-3.0.9/database/mysql/schema.sql;
五、把zabbix目录属主变成zabbix
chown zabbix:zabbix /usr/local/zabbix/ -R
六、zabbix_proxy的配置
Server=172.16.0.3 #zabbix server的ip
Hostname=tj_proxy #zabbix server网页上配置的名字
LogFile=/usr/local/zabbix/zabbix_proxy.log #log的位置
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
七、启动zabbix_proxy
/usr/local/zabbix/sbin/zabbix_proxy
八、 zabbix网页上添加proxy,并测试是否成功
管理-> agent程序代理
看最近出现(时长)有没有超过60s,没有的话,就说明已经添加成功了
九、添加第一台zabbix_agentd 172.16.0.1的配置(使用proxy)
PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/zabbix_agentd.log
Server=172.16.0.1 #以前讲的这里是配置zabbix server的ip,如果使用proxy的话,就得配置proxy的
ServerActive=172.16.0.1 #以前讲的这里是配置zabbix server的ip,如果使用proxy的话,就得配置proxy的
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
Hostname=host_172.16.0.1
添加主机,注意:最后一个由agent代理程序监测选择自己添加的proxy
添加system.uname测试。
如果测试过程中有问题,可以尝试重启proxy。测试过程的问题。
十、应用一个linux模板看下
十一、为什么proxy要重启,因为如果没重启的话,Proxy是一小时去获取需要的监控项目。所以需要zabbix proxy添加配置