11-zabbix使用proxy代理进行监控8 min read

  • A+
所属分类:Zabbix

 

    目录

       1. 安装

       2. 配置 

          2.1 配置zabbix-proxy 

          2.2. 配置MySQL数据库 

       3. 启动 

       4. Zabbix web前端配置 

          4.1. zabbix前端配置zabbix-proxy代理. 

          4.2 配置node2zabbix-agent

          4.3. zabbix-web前段配置增加node2

    

    在zabbix大规模的监控中使用zabbix-agent主动模式会减轻zabbix-server的压力,但是zabbix-server端还是要进行数据的采集,压力还是比较大,而且在服务器多机房的情况下和一个zabbox-server跨机房监控的网络延迟也会是一个问题,所以说根据这些情况,zabbix提供了一个组件叫做zabbix-proxy,安装的组件名字叫做:zabbix-proxy-mysql,这个组件下载好后是连同proxy和mysql初始化的脚本都装好的。
    zabbix-proxy也有两种模式,主动模式和被动模式,可以在配置文件/etc/zabbix/zabbix_proxy.conf中看到模式的配置,默认ProxyMode是0,0是主动模式,所以zabbix-proxy会主动连zabbix-server;1是被动模式,是要zabbix-server去连zabbix-proxy。 
    这里我们要知道zabbix-proxy只是一个数据收集器,它不用于计算、告警、触发等操作,它就有两个部分组成,一个zabbix-proxy的进程,然后一个是数据库,有数据他就往数据库中写。实时发送给zabbix-server。这里也可以设置zabbix-proxy收集到数据后先缓存到本地,然后定期传给zabbix-server数据,配置为项为:# ProxyLocalBuffer=0(默认0为不缓存)。另外还有当zabbix-proxy连接不上zabbix-server时,zabbix-proxy会先将数据缓存到本地一个小时再进行发送。这里的缓存时间也是可以配置的,配置项为:# ProxyOfflineBuffer=1,以小时为单位,当然这里也可以根据需要调整时间。

  

11-zabbix使用proxy代理进行监控
 

本文服务器环境:

Host

HostName

IP

System Version

Zabbix-server 

linux-node1

192.168.56.11


CentOS-6.7


Zabbix-agent

linux-node2

192.168.56.12

Zabbix-proxy

linux-node2

192.168.56.12

环境补充说明:

   - 当前zabbix-server和zabbix-agent已经安装配置好,在主机中只添加了linux-node1,linux-node2配置zabbix-proxy的时候再添加。所以本文直接安装zabbix-proxy

   - 因为zabbix-server和zabbix-proxy不能使用同一个数据库,所以zabbix-server连接的是node1的数据库,zabbix-proxy是node2的数据库

   - zabbix版本:zabbix_3.4.7

   

1. 安装

  

node2上面安装zabbix-proxymysql数据库

  1. #安装zabbix源  
  2. rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm  
  3.   
  4. #下载zabbix-proxy  
  5. yum -y install zabbix-proxy-mysql mysql mysql-server  

      提示:下载好之后在/etc/zabbix/在会生成proxy配置文件:zabbix_proxy.conf

  

2. 配置

  

2.1 配置zabbix-proxy

 

  1. [root@linux-node2 ~]# grep -vE '^$|#' /etc/zabbix/zabbix_proxy.conf  
  2. ………………  
  3. Server=192.168.56.11  
  4. Hostname=linux-node2  
  5. DBHost=192.168.56.12  
  6. DBName=zabbix_proxy  
  7. DBUser=zabbix_proxy  
  8. DBPassword=123456  
  9. ………………  

     

2.2. 配置MySQL数据库

   

2.2.1 启动数据库

  1. [root@linux-node2 ~]# /etc/init.d/mysqld start  
  2. Starting mysqld:                                           [  OK  ]  

  

2.2.2 运行脚本命令对数据库进行安全设置

  1. [root@linux-node2 ~]# mysql_secure_installation   
  2.   
  3. NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL  
  4.       SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!  
  5.   
  6. In order to log into MySQL to secure it, we'll need the current  
  7. password for the root user.  If you've just installed MySQL, and  
  8. you haven't set the root password yet, the password will be blank,  
  9. so you should just press enter here.  
  10. #当前密码:  
  11. Enter current password for root (enter for none):   
  12. OK, successfully used password, moving on...  
  13.   
  14. Setting the root password ensures that nobody can log into the MySQL  
  15. root user without the proper authorisation.  
  16. #是否设置root密码:  
  17. Set root password? [Y/n] Y  
  18. New password: 123456  
  19. Re-enter new password: 123456  
  20. Password updated successfully!  
  21. Reloading privilege tables..  
  22.  ... Success!  
  23.   
  24.   
  25. By default, a MySQL installation has an anonymous user, allowing anyone  
  26. to log into MySQL without having to have a user account created for  
  27. them.  This is intended only for testing, and to make the installation  
  28. go a bit smoother.  You should remove them before moving into a  
  29. production environment.  
  30. #是否删除匿名用户?  
  31. Remove anonymous users? [Y/n] Y  
  32.  ... Success!  
  33.   
  34. Normally, root should only be allowed to connect from 'localhost'.  This  
  35. ensures that someone cannot guess at the root password from the network.  
  36. #是否关闭root远程登录?  
  37. Disallow root login remotely? [Y/n] Y  
  38.  ... Success!  
  39.   
  40. By default, MySQL comes with a database named 'test' that anyone can  
  41. access.  This is also intended only for testing, and should be removed  
  42. before moving into a production environment.  
  43. #是否删除测试数据库?  
  44. Remove test database and access to it? [Y/n] Y  
  45.  - Dropping test database...  
  46.  ... Success!  
  47.  - Removing privileges on test database...  
  48.  ... Success!  
  49.   
  50. Reloading the privilege tables will ensure that all changes made so far  
  51. will take effect immediately.  
  52. #是否刷新授权表?  
  53. Reload privilege tables now? [Y/n] Y  
  54.  ... Success!  
  55.   
  56. Cleaning up...  
  57.   
  58.   
  59.   
  60. All done!  If you've completed all of the above steps, your MySQL  
  61. installation should now be secure.  
  62.   
  63. Thanks for using MySQL!  

    

2.2.3 创建zabbix_proxy数据库

  1. [root@linux-node2 ~]# mysql -uroot -p  
  2. mysql> create database zabbix_proxy character set utf8 collate utf8_bin;  
  3. Query OK, 1 row affected (0.01 sec)  
  4.    
  5. mysql> grant all on zabbix_proxy.* to zabbix_proxy@192.168.56.12 identified by '123456';  
  6. Query OK, 0 rows affected (0.00 sec)  
  7.    
  8. mysql> flush privileges;  
  9. Query OK, 0 rows affected (0.00 sec)  
  10. mysql> quit  
  11. Bye  
  12.     
  13. #创建好用户之后测试创建的用户是否能登录  
  14. [root@linux-node2 ~]# mysql -h 192.168.56.12 -u zabbix_proxy -p123456  

    

2.2.4 初始化数据库

  1. #查看初始化数据库的数据包  
  2. [root@linux-node2 ~]# rpm -ql zabbix-proxy-mysql  
  3. …………  
  4. /usr/share/doc/zabbix-proxy-mysql-3.4.7/schema.sql.gz  
  5. …………  
  6. [root@linux-node2 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.7/schema.sql.gz | mysql -h 192.168.56.12 -u zabbix_proxy -p zabbix_proxy  
  7. Enter password:  

      

3. 启动zabbix-proxy

 

  1. [root@linux-node2 ~]# /etc/init.d/zabbix-proxy start  
  2. Starting Zabbix proxy:                                     [  OK  ]  
  3.   
  4. [root@linux-node2 ~]# netstat -lntup|grep 10051      
  5. tcp    0      0 0.0.0.0:10051        0.0.0.0:*       LISTEN      86567/zabbix_proxy   
  6. tcp    0      0 :::10051             :::*            LISTEN      86567/zabbix_proxy   

      

4. Zabbix web前端配置

  

4.1. zabbix前端配置zabbix-proxy代理

   

管理--agent代理程序--创建代理

11-zabbix使用proxy代理进行监控

   

11-zabbix使用proxy代理进行监控

    

   

4.2 配置node2zabbix-agent

    

修改node2zabbix-agent的配置

  1. [root@linux-node2 ~]# grep -vE '^$|#' /etc/zabbix/zabbix_agentd.conf  
  2. …………  
  3. Server=192.168.56.12  
  4. ServerActive=192.168.56.12  
  5. Hostname=linux-node2  
  6. …………  
  7.   
  8. #重启下node2的zabbix-agent  
  9. [root@linux-node2 ~]# /etc/init.d/zabbix-agent restart  
  10. Shutting down Zabbix agent:                                [  OK  ]  
  11. Starting Zabbix agent:                                           [  OK  ]  

    

4.3. zabbix-web前段配置增加node2

   

配置--主机--添加主机

11-zabbix使用proxy代理进行监控

选择好相应的模版,最后添加即可:

11-zabbix使用proxy代理进行监控

 

配置好之后稍等一下如图:

11-zabbix使用proxy代理进行监控

 

到这里配置完成,有错看日志~有错看日志~有错看日志~

   


  

zhaoyulin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: