自动化运维工具之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用以建立分布式监控中的层级
创新互联主要从事网站设计、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务天涯,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
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 -h272.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如下:
10)在Zabbix中添加windows网络流量监控
(1)在客户端获取网卡参数列表:
>typeperf -qx | find"Network Interface" | find "Bytes"
(2)编辑目标机器中的zabbix_agentd.win.conf文件添加以下内容,并保存:
### Option:Network PerfCounter=NetIn,"\Network Interface(AMD PCNET Family PCI Ethernet Adapter)\Bytes Received/sec",15 PerfCounter=NetOut,"\Network Interface(AMD PCNET Family PCI Ethernet Adapter)\Bytes Sent/sec",15
其中红色字部分取自于上图中的网卡参数,
蓝色的NetIn和NetOut是在Zabbix中配置时的Key。
最后的15是指取值时间,单位为“秒”
(3)在服务中或是用命令重启zabbix_agentd服务。
(4)进入Zabbix,在configurationa-->host-->windows host相关的host中(如Windows New)-->Applications-->create application 启名为“Network”;
(5)以上步骤新建完成,并save后,然后点击Items-->Create Item分别建立网络接口的IN和OUT,
下图中的Key就是配置文件中的值,Units为bps,但收到的值是Byte,所以要乘上8;
最后在相应的模板组中为这两个Item建上Graphs,如下图:
以上为自动化运维工具之Zabbix分布式监控应用所有内容。
文章名称:自动化运维工具之Zabbix分布式监控应用(五)
文章来源:http://azwzsj.com/article/ipdhsc.html