分布式监控概述
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;
# 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.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
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分布式监控应用所有内容。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。