自动化运维工具之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.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如下:

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

时间: 2024-10-28 20:04:39

自动化运维工具之Zabbix分布式监控应用(五)的相关文章

自动化运维工具之Zabbix服务器监控基本应用详解(一)

Zabbix基本概述:Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.它能监视各种网络参数,保证服务器系统的安全运营:并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题. zabbix由zabbix server与可选组件zabbix agent构成:zabbix server:可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, H

自动化运维工具之Zabbix宏使用及用户自定义监控(三)

Zabbix宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定得文本模式,而解释器或编译器在遇到宏时会自动进行这一模式替换: Zabbix基于宏保存预设文本模式,并且在调用时将其替换为其中的文本: Zabbix有许多内置的宏,如{HOST.NAME}.{HOST.IP}.{TRIGGER.DESCRIPTION}.{TRIGGER.NAME}. {TRIGGER.EVENTS.ACK}等 Zabbix为了更强的灵活性,zabbix还支持在全局.模板或主机级别使用用户自定义宏

自动化运维工具之Zabbix触发器_action动作及模板应用(二)

一个完善的监控系统需要一定的报警机制,什么时候告警警需要触发器,怎么告警,在什么情况下如何告警取决于action动作: 创建触发器(trigger) **"监控项"仅负责收集数据,而通常收集数据的目的还包括在某指标对应的数据超出合理范围时给相关人员发送告警信息,"触发器"正是用于为监控项所收集的数据定义阈值. **每个触发器仅能关联至一个监控项,但可以为一个监控项或同时使用多个触发器: 事实上,为一个监控项定义多个具有不用阈值的触发器,可以实现不用级别的报警功能 *

自动化运维工具(三)之( 时实监控)

话说运维监控,出口就是nagios.cacti.zabbix.Ganglia.Graphite 等,还有自已公司开发的,但采集轮询时间一般为 5分钟,1分钟 ,最少的也没30秒内的,但如果服务器异常,要时实查看,不得不开多个终端,一边处理分析,一边查看. 自动化运维工具,时实查看,5秒刷新一次并出图.可放心的去处理,并时实知道服务器的运行情况.

应用软件学习总结(包括监控,自动化运维工具,WEB服务等)

应用软件学习总结 目录 SVN部署及使用 一健安装Zabbix Ansible自动化运维工具安装及使用 PPTP服务器端部署到客户端连接使用 fail2ban安装配置 kvm安装使用 LVS+Keepalived搭建 Keepalived+LVS维护技巧与调优 LVS概念类型及三种工作模式和十种调度算法介绍 redis单实例.多实例.主从同步实战 整合Nginx和Tomcat Nginx服务器的搭建 安装LAMP 一健安装LNMP 生产环境Nginx配置文件 Apache安装配置解析 Rsync

自动化运维工具之ansible的简单应用

ansible: ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,例如shell,copy,ping等,ansible只是提供一种框架.ansible的主要特性: 模块化:调用特定的模块,完成特定任务 基于Python语言实现,由Pa

Puppet Saltstatck Ansible 自动化运维工具对比

最近尝试安装了一下salt statck就对自动化工具感兴趣了点所以找了一些资料入门下面总结一下希望和看到这篇文章一起探索自动化运维的世界.                              --- 小 Q ------------------------------------------------------------------------------------------------------ 自动化运维就是为减少重复又枯燥的工作而建立起来的流程更能减少失误及时报警并恢复

自动化运维工具之ansible

ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. 主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定

自动化运维工具Ansible详细部署

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 =========================================================