您的位置:首页 > 运维架构

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

2016-11-04 17:31 609 查看
分布式监控概述proxy and nodeZabbix常用3种架构-->Server-agent-->Server-Node-agent-->Server-Proxy-agentZabbix能高效地监控分布式IT架构在大型环境中Zabbix提供两种解决方案-->使用代理(proxy)-->使用节点(node)Proxy or Node?-->代理(proxy)用于本区域数据收集,并将数据发送给server-->节点(node)提供完整的Zabbix server用以建立分布式监控中的层级
ProxyNode
LightweightYesNo
GUINoYes
Works independentlyYesYes
Easy maintenanceYesNo
Automatic DB creationYesNo
Local administrationNoYes
Ready for embedded hardwareYesNo
One way TCP connectionsYesYes
Centralised configurationYesNo
Generates notificationsNoYes
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又可以是个ServerServer-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组件
# lszabbix-2.0.8-3.el6.x86_64.rpm        zabbix-proxy-mysql-2.0.8-3.el6.x86_64.rpmzabbix-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.2Hostname=172.16.100.101DBHost=172.16.100.3DBName=zabbix_proxyDBUser=zbxuserDBPassword=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.confServer=172.16.100.101  --修改为proxy地址ServerActive=172.16.100.101UserParameter=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.logServer=172.16.100.101Hostname=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:NetworkPerfCounter=NetIn,"\Network Interface(AMD PCNET Family PCI Ethernet Adapter)\Bytes Received/sec",15PerfCounter=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分布式监控应用所有内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  server 监控 解决方案