如何通过Zabbix获取监控数据

如何通过Zabbix获取监控数据,第1张

zabbix基本架构:

1Server

zabbix系统核心进程,轮询并捕获数据、发送通知等。是zabbix agent和zabbix proxy汇报数据的对象。server自身可远程检测网络服务。所有的前后端配置、统计信息、可 *** 作数据存储于此。包含server、前段界面和后端DB几部分。

2Agent

部署在被监控主机上用于监控本地资源和应用并向zabbix server汇报结果。使用本地系统调用故非常高效。有主动和被动两种检测模式。被动模式下agent根据server或proxy的具体请求来返回数据。主动模式下先主动由server获取监控项列表在检测并返回新的数据。采用主动或被动检测取决于相应监控项的配置。

3Proxy

可以自由选择部署或者不部署,主要用于分担server的负载。在集中化监控远程位置、分支、网络的场景中是很好的解决方案。可从被监控设备收集数据缓存在proxy本地后传递给其所属的zabbix server。proxy需要单独的数据库。

4Java gateway

java实现的守护进程用于监控JMX类型的应用程序。

5Sender

命令行工具zabbix_sender,用于向zabbix server发送性能数据和可用性数据。多用于用户脚本定期向server发送数据。

如:

shell> cd bin

shell> /zabbix_sender -z zabbix -s "Linux DB3" -k dbconnections -o 43

6Get

命令行工具zabbix_get,用于同agent通信从agent获取数据。可用于zabbix agents的troubleshooting。

如:

shell> cd bin

shell> /zabbix_get -s 127001 -p 10050 -k "systemcpuload[all,avg1]"

#zabbix术语表:

host

需要被监控的设备,如交换机、路由器、WEB服务器、DB服务器等

host group

被监控设备的逻辑分组,如DB服务器一组、WEB服务器一组等。可包含主机和模板。用于权限控制

item

需要被监控的项,如CPU空闲率、某一块磁盘的使用率等

trigger

用于评估收到的监控值是否超出设定的阈值的逻辑表达式

event

如trigger状态改变等值得注意的事件

action

预先定义的响应event的一系列operations

escalation

执行action中的operations的定制场景;一连串的发送通知、执行远程命令

media

传递notification的方式

notification

通过media发送给用户的关于某个event的消息

remote command

在被监控机器上触发并自动执行的预定义命令

template

用于简化和加速主机上大规模监控任务的部署。包含一系列项目,如items, triggers, graphs, screens, applications, low-level discovery rules

application

逻辑组中的一组items

web scenario

一个或多个>

它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与 *** 作系统有关的内存,CPU等信息的收集。

1、Agent监控方式。

在Agent监控方式下,zabbix-agent会主动收集本机的监控信息并通过TCP协议与zabbix-server传递信息。

Agent监控方式分为主动和被动模式。在被动模式下,zabbix-agent监听10050端口,等待zabbix-server的监控信息收集信息请求;在主动模式下,zabbix-agent收集监控信息并通过10050端口主动将数据传给zabbix-server所在服务器的10051端口。

2、Trapper监控方式。

Trapper监控方式使用zabbix-sender程序主动向zabbix-server发送数据。key的名称和发送的数据内容都可以灵活定义。发送的信息采用JSON格式,遵循zabbix-sender协议。可以自定义脚本利用zabbix-sender协议来zabbix-server发送信息。

3、SNMP监控方式。

SNMP包括进程管理和被管理设备两部分。作为一种国际通用的网络管理协议被广泛的应用于各种交换机,路由器等网络设备的管理上,而现在也越来越多被用于对服务器的监控上。

zabbix的告警通知非常灵活,支持的通知类型有Email、Jabber、sms、script 。其在设备需要修护时,同样可以提供同nagios 一样的设备维护期间,暂停告警的功能有,而且其相对于nagios 更加灵活。本篇就针对zabbix的告警和设备维护功能进行下说明。

一、media types 告警通知

本篇以脚本通知为例进行说明

1、配置AlertScriptsPath

# vim /etc/zabbix/zabbix_serverconf

找到# AlertScriptsPath=${datadir}/zabbix/alertscripts 行,增加如下内容

AlertScriptsPath=/etc/zabbix/alertscripts

配置完成后,需要重启zabbix_server服务生效,在后面media type 写入的脚本名称就会从上面的配置目录中查找并执行。

2、创建media type

步骤为:登录 zabbix web 页面------Administration--------Media types--------Create Media Type(右上角) ,如下图:

配置完成后,save保存即可。

3、创建Action

步骤为:登录 zabbix web 页面---- Configuration ---- Actions ---- Create action , 如下图

subject为发送主题,message为发送内容(通过message内容的自定义,可以例如在告警时,将其他相关信息也进行通知,可以从侧面了解整个主机的运行情况---某次面试时面试官曾提过的需求),这两者的内容都可以很方便的进行更改。勾选了Recovery message 选项,会在监控项恢复时也会给一个恢复的提示。

condeitions 选项中设置的是触发通知的条件,默认情况下只有A、B两项 ,这里可以设置触发级别、主机组、主机、触发值、应用等 。举例说明下:

1、可以根据告警级别进行通知,如severity 级别大于等于average时,通知OPS运维人员,级别为Disater时通知部门经理或者BOSS (这需要配置两个action);

2、也可以根据时间进行定义,如只在工作时间进行告警通知;

3、如果你喜欢的话,也可以指定不同主机组通知到不同的人;

而且所有条件之间的关系可以是AND或者OR ,默认情况下都是AND,即所有条件都满足时,触发通知。

注:个别主机,如DB主机,晚上有备份任务导致晚上某段时间过载(同时又不是所有主机都这样,又不想增大触发条件的话),可以在configuation ---hosts 里的items 选项里配置通知的时间范围,那里也有 time period 配置选项(从另一方面也反映了zabbix的灵活,有宏观调控,也有微观调控,适用性很强) 。不过要尽可能的都在actions 里进行配置,因为这一般查看具体条件都是在这里 。

下图是action的Operations部分,该项是必填项:

Operation details 是一个比较强的配置项,这里主要有三个知识点---Escalations、remote command 和 event acknowledged,其中Escalations、remote command比较重要 。

operation details 的 step部分主要和escalations 相关,在监控场景中,如果你一天收到100+的短信告警,真有一天“狼”真来了估计你也不会注意到。有了escalations功能,可以实现如下配置(需配置多条operation):

1、在单位时间内(step duration)发送的总的通知次数(to - from +1 次),并通知到相应的组或人;

2、假如条件1中设置的是1800秒内发送1-5 次给OPS运维人员,结果运维人员在该时间段未能处理;我们就可以再增加一个Operations,指定from 5 to 10 (第5到10条告警)通知给 运维经理 ;我们还可以再增加,第11-15条给BOSS ,第16-20条告警时执行一个远程命令。

escalations部分,可以参看官方文档。

第二个知识点就是Operation type部分,类型可以是send message进行通知,也可以是remote command :

remote command 可以支持的 *** 作有IPMI、Custom script、ssh、telnet、Global script (其中前两者只能在zabbix server 或 zabbix proxy上 *** 作),该功能是相当牛B的。如,检测到一个tomcat 服务404,我们就可以利用该功能重启tomcat 服务 。

remote command部分可以查看官方页面。

第三个功能主要是为有值班人员或上班时间准备的一个功能,当设置这个条件时,如果一个告警的状态被设置为ACK ,则本次告警的后续通知就会停止 。

在一线运维人员接到告警信息时,在zabbix 的首页上,移到相应告警提示的部分,选择主机的ACK 部分 ,点选 NO ,会跳出一个message的窗口,在message里输入相关信息 ,如:误报、因什么什么原因在调试、已通知到相关责任人等 ,并点击Acknowledge 提交,此时的ACK 状态会变成YES 。本次告警也将停止不再进行。直到本次告警解决,下次再次出现同样告警时,该项又会重新变成ACK 。

Acknowledge部分,可以参看官文页面。

二、maintenance 维护

在线场景中,经常会遇到这样的情况:在线产品需要进行升级或其他 *** 作,此时又不想将监控系统的完整告警功能进行全部关闭,只临时关闭在线升级主机的告警。这就可以使用zabbix的maintenance功能。具体配置方式如下:

创建maintenance的步骤为:登录 zabbix web 页面---- Configuration-----Maintenance ----- create maintenance period ,如下图所示:

第一选项卡配置的是任务名和一个大范围的时间值,其指定了维护所在的磊的时候段在什么范围。maintenance type 指定在维护期间是否仍进行数据搜集。

periods指定的时间段具体的维护时间段,和maintenace中的范围为包含关系。而period type指定了执行的类型,其类型有one time only 一次执行,也有按日、星期或月定期执行 ,如果是后三种方式,date项会变成具体的间隔、开始时间 。无论是何种类型,都有maintenance period length型 ,其指定了具体每次维护的持续时间,如2小时。

hosts & groups 项太多内容,就是选择某组主机或某个主机在维护期间不进行告警通知。

正值 - 表示主从已经出现延时

0 - 该值为零,是我们极为渴望看到的情况,也就是该线程的Running状态是No,这是一个BUG值,该参数是不支持负值的可以通过监控show slave status\G命令输出的Seconds_Behind_Master参数的值来判断,表示主从复制良好,可以认为lag不存在,是否有发生主从延时。

其值有这么几种,数字越大表示从库落后主库越多。

负值 - 几乎很少见:

NULL - 表示io_thread或是sql_thread有任何一个发生故障,而非Yes,只是听一些资深的DBA说见过,其实

zabbix可以对CPU负荷、内存使用、磁盘使用、网络状况端实行监控,并且可以端口监视与日志监视。

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

扩展资料:

要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上。

但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。

参考资料来源:百度百科—zabbix

Linux下常用的系统监控软件有Nagios、Cacti、Zabbix、Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员。今天开始研究下Zabbix,使用Zabbix的目的,是为了能够更好的监控mysql数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。首先,我们先来介绍下Zabblx:一Zabbix简介zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix由zabbixserver与可选组件zabbixagent两部门组成。zabbixserver可以通过SNMP,zabbixagent,ping,端口监视等方法提供对远程服务器/网络状态的监视。zabbixagent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与 *** 作系统有关的内存,CPU等信息的收集。zabbix的主要特点:-安装与配置简单,学习成本低-支持多语言(包括中文)-开源-自动发现服务器与网络设备-分布式监视以及WEB集中管理功能-可以无agent监视-用户安全认证和柔软的授权方式-通过WEB界面设置或查看监视结果-email等通知功能等等Zabbix主要功能:-CPU负荷-内存使用-磁盘使用-网络状况-端口监视-日志监视官方也提供了安装资料:二Zabbix安装21zabbixWEB环境搭建zabbix的安装需要LAMP或者LNMP环境。需要其它的软件包yuminstallmysql-devgccnet-snmp-develcurl-develperl-DBIphp-gdphp-mysqlphp-bcmathphp-mbstringphp-xm22zabbix数据库设置zabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。grantallprivilegesonzabbixtozabbix_user@'ip'identifiedby'123456';注:ip为zabbix服务器的IP地址。关于数据库的安装,可以查看Mysql安装,我习惯使用二进制包。启动数据库/usr/local/mysql/bin/mysqld_safe--user=mysql&登录数据库,创建帐号和设置权限:mysql>usemysql;mysql>createdatabasezabbixcharactersetutf8;mysql>grantallprivilegesonzabbixtozabbix_user@'19216810197'identifiedby'123456';23安装zabbix服务增加zabbix用户和组#groupaddzabbix#useradd-gzabbix-mzabbix官网下载解压软件包。下载地址:#wget#tar-zxvfzabbix-203targz#cdzabbix-2203导入数据库表#cdzabbix-203/database/mysql#mysql-uroot-pmysqlzabbix

以上就是关于如何通过Zabbix获取监控数据全部的内容,包括:如何通过Zabbix获取监控数据、zabbix监控哪些东西、查询zabbix数据库alerts怎么看告警的恢复时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10127954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存