首页 > 代码库 > 自动化运维工具之Zabbix分布式监控应用(五)

自动化运维工具之Zabbix分布式监控应用(五)

分布式监控概述
proxy and node
Zabbix常用3种架构
-->Server-agent
-->Server-Node-agent
-->Server-Proxy-agent

Zabbix能高效地监控分布式IT架构
在大型环境中Zabbix提供两种解决方案
-->使用代理(proxy)
-->使用节点(node)
Proxy or Node?
-->代理(proxy)用于本区域数据收集,并将数据发送给server
-->节点(node)提供完整的Zabbix server用以建立分布式监控中的层级


Proxy
Node
Lightweight
Yes
No
GUI
No
Yes
Works independently
Yes
Yes
Easy maintenance
Yes
No
Automatic DB creation
Yes
No
Local administration
No
Yes
Ready for embedded hardware
Yes
No
One way TCP connections
Yes
Yes
Centralised configuration
Yes
No
Generates notifications
No
Yes


Proxy模式与Node模式

Node本身是一台server,它有完整的Web页面,完整的数据库,它将数据源源不断传送给Master。

Proxy只有一个proxy的daemon进程,Proxy也有自己的数据库,但它的数据库只会保存一定时间的数据,它与Master通信是将一批信息打包后发送到Master,Master将这些数据merge入Master数据库。

Master-Proxy相比Master-Node的有点有以下:

-->proxy压力小,数据库只存储一定时间数据;

-->Master压力变小,数据不是源源不断获取,减少IO压力;

-->架构更清晰,易维护;


Server-Node-Client特性

--解决host过多时单台Server面临性能瓶颈的问题



-->使用多个instance

-->每个instance是独立的一套zabbix,有database和Frontend(optional)

-->支持热插拔,Node和Server的连接可以随时断开,但不影响Node的正常运行。

-->Node定时给Server发送configuration,history,event

-->Server定时给Node发送configuration

-->所有配置变更只能在Node节点操作,不能在Server操作。

-->支持树状结构,Node又可以是个Server


Server-Proxy-Client工作特性

--Proxy不会向Server同步configuration,只会接收

--Proxy的数据库定时会将数据传送给Server,Proxy本地数据库只保存最近没有发送的数据


配置zabbix_proxy服务器如下:

(1)配置mysql数据库如下:

mysql> CREATE DATABASE zabbix_proxy CHARACTER SET utf8;
mysql> GRANT ALL ON zabbix_proxy.* TO ‘zbxuser‘@‘172.16.%.%‘ IDENTIFIED BY ‘redhat‘;
mysql> FLUSH PRIVILEGES;

(2)安装zabbix组件

# ls
zabbix-2.0.8-3.el6.x86_64.rpm        zabbix-proxy-mysql-2.0.8-3.el6.x86_64.rpm
zabbix-proxy-2.0.8-3.el6.x86_64.rpm
# yum -y localinstall *.rpm

(3)创建zabbix_proxy表

# mysql -uzbxuser -predhat -h172.16.100.3 zabbix_proxy< /usr/share/doc/zabbix-proxy-mysql-2.0.8/create/schema.sql

(4)配置zabbix_proxy配置文件如下:

# cat /etc/zabbix/zabbix_proxy.conf | grep -E ‘(Server|DBHost|DBName|DBUser|DBPassword)‘
Server=172.16.100.2
Hostname=172.16.100.101
DBHost=172.16.100.3
DBName=zabbix_proxy
DBUser=zbxuser
DBPassword=redhat

(5)启动zabbix-proxy服务

# service zabbix-proxy  start

(6)在zabbix web interface中添加proxy:

Administration-->GM-->proxies[create proxy]

技术分享

(7)在proxy下的被监控主机的zabbix_agentd.conf配置,如下所示:

vim /etc/zabbix/zabbix_agentd.conf 
Server=172.16.100.101  --修改为proxy地址
ServerActive=172.16.100.101
UserParameter=memory.free,/usr/bin/free |awk ‘/^Mem:/{print $4}‘
UserParameter=memory.usage[*],/bin/cat /proc/meminfo | awk ‘/^$1:/{print $$2}‘

重启agent服务
# service zabbix-agent restart

(8)在zabbix web interface中创建主机及item如下

技术分享

技术分享





zabbix-agent在Windows环境内客户端的安装与管理
Windows环境内客户端的安装
1)在目标机器上C:\windows目录下新建一个目录,如zabbix-->(bin/conf/logs)目录;

2)复制(zabbix_agents_2.0.8.win)文件至创建的目录上;

3)在新建的logs目录中新建一个zabbix_agentd.log文件;

如下所示:

技术分享

技术分享

技术分享

4)配置zabbix_agentd.win.conf文件如下选项:

LogFile=c:\Windows\zabbix\logs\zabbix_agentd.log
Server=172.16.100.101
Hostname=Windows Host

5)在目标机器上进入CMD界面;
6)在CMD界面进入新建的目录:cd \windows\zabbix\bin;
7)输入以下命令进行安装:

>cd c:\WINDOWS\zabbix\bin
>zabbix_agentd.exe -c c:\WINDOWS\zabbix\conf\zabbix_agentd.win.conf -i

8)在"运行"输入 "services.msc",在里面找到"ZABBIXAGENT",并启动服务。


9)最后在zabbix web interface如下:

技术分享

技术分享

技术分享

技术分享

以上为自动化运维工具之Zabbix分布式监控应用所有内容。

本文出自 “Opensamlee” 博客,请务必保留此出处http://gzsamlee.blog.51cto.com/9976612/1869555

自动化运维工具之Zabbix分布式监控应用(五)