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