Loading

zabbix分布式监控

一、概述

为什么使用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要重启,因为如果没重启的话,Proxy是一小时去获取需要的监控项目。所以需要zabbix proxy添加配置

ConfigFrequency=60

 

posted @ 2018-07-10 21:05  KubeSec  阅读(711)  评论(0编辑  收藏  举报