Articles of zabbix

Zabbix连接到MySQL错误

试图打开Zabbix 2.2.2服务器的Web界面,我有一个错误: Database error: Error connecting to database [Access denied for user 'zabbix'@'localhost' (using password: YES)] 这是日志: 870:20140716:181121.327 Starting Zabbix Server. Zabbix 2.2.2 (revision 42525). 870:20140716:181121.327 ****** Enabled features ****** 870:20140716:181121.328 SNMP monitoring: YES 870:20140716:181121.328 IPMI monitoring: NO 870:20140716:181121.328 WEB monitoring: YES 870:20140716:181121.329 VMware monitoring: NO 870:20140716:181121.329 Jabber notifications: YES 870:20140716:181121.329 Ez Texting notifications: YES […]

Zabbix触发最后N个文本值匹配正则expression式

我通过检查最后一个值是否匹配regexp来检查是否发生了错误。 ({myhost.com:my.item.regexp(^ERROR$)})#0 我需要一些容忍,通过检查不是最后的N值来匹配正则expression式,即最后2-3个值。 我怎样才能做到这一点?

大量收集大量发现的物品

(这是Zabbix 2.2.2 。) 我有一个发现规则 ,可以返回100多个项目,我想监视。 每个项目的数据可以通过调用一个单独的可执行文件的UserParameter来收集。 将这些作为被动检查来执行,会激活zabbix代理,为每个项目产生一个外部进程。 所有项目的数据可以很容易地一次收集,并批量发送到Zabbix服务器(通过zabbix_sender )。 我不知道如何正确实施。 文档不回答我(有可能是愚蠢的)的问题。 我如何让Zabbix代理对我的自定义数据收集脚本进行一次外部调用,并为100个以上发现的项目批量发回所有数据,以及不为每个项目调用客户端操作? 我想避免的是让Zabbix代理尝试单独收集每个项目。 发现规则必须创build项目。 据我所知,每个项目将导致zabbix代理试图做一些事情来收集其数据。 有没有一种方法可以防止这种情况,或将一组项目与一个客户端主动检查关联? 我不明白的部分是如何主动检查应该实施。 如果一个活动支票可以发回一批物品的数据, 那么该物品将如何定义 (因此代理商不会单独收集该物品的数据), 以及将定义哪个物品来调用活动支票 (或任何项目types应该使用),将做实际的数据收集(但不保存任何数据本身)? 这是文档没有回答的真正问题。 Zabbix如何实现主动检查或使用zabbix_sender发送项目的批量更新(代理将尝试自行收集)。

如何在主机上运行的操作在给定触发器已经“真实”的情况下运行?

设置:Zabbix 2.4 | RHEL 6.4 我正在configuration一个方法来允许Zabbix Agentd服务在抛出触发器时(使用Git作为容器)自动更新它们自己的二进制文件。 两个触发器到位: 触发器1:“Git repo不存在” – 确保有一个存放Zabbix Agentd二进制文件的git存储库。 一个。 {Template App Zabbix Agent:vfs.file.exists[/opt/zabbix/.git/config].last()}=0 触发器2:“Zabbix代理版本不正确。” – 如果代理不是预期的编译版本,则触发。 这被设置为一个用户macros。 一个。 {Template App Zabbix Agent:vfs.file.cksum[/opt/zabbix/sbin/zabbix_agentd].last()}<>{$LATESTAGENT} 湾 $LATESTAGENT是已编译的zabbix_agentd二进制文件的cksum()值。 C。 取决于触发器1 触发器1只是确保触发器2是否触发,代理将能够运行远程命令来执行git pull并获取最新的二进制文件。 现在的情况 触发器运行正常,并显示我的系统代理版本不alignment。 从那以后,我configuration了几个动作去跟他们做肮脏的工作。 触发器1>在Zabbix Agentd安装path中运行git init 。 触发器2>运行git pull origin master来获取最新的bin。 这些只是我创build的全局脚本,所以我可以通过单击任何主机并为主机select适当的脚本来手动testing其工作。 问题 由于我先创build了触发器,它们已经被“触发”了。 然而,现在我已经采取行动去处理这些触发器,我希望这些触发器能够“重新触发”(或者重新初始化或者重新触发或者其他),以使这些行为能够完成它们的事情。 不幸的是,我真的找不到一个办法来做到这一点。 关注触发器1(git repo exists),我尝试清除vfs.file.cksum[/opt/zabbix/sbin/zabbix_agentd]键上的历史logging,但是这并不影响触发器的状态。 我已经看到一些人提到一些SQL或API的工作来手动修改触发器的状态,但感觉应该有比这更简单的东西! 概要 创build触发器来部署更新的Zabbix […]

Zabbix拍打检测

TL / DR:Zabbix中是否有扑动检测function? 扩展问题:我试图在Nagios中看到Zabbix警报中的相同行为:当受监视的服务处于不稳定状态,并在一段时间内触发多个Up / Down事件“扑动检测”会生成一个扑动警报并保持所有其他的向上/向下警报,直到服务稳定。 我已经做了什么:我试图增加时间和/或事件的数量来触发报警状态。 这种方法使其不太明智,仍然不能解决扑动问题。 可能是我只是不明白在Zabbix触发逻辑的东西?

如何closures特定时段的触发器?

我有一个行动,ping我的服务器zabbix代理和一个触发器,通知如果有超过3分钟没有答案。 expression式是: {template_zabbix_agent:agent.ping.nodata(3m)}=1 它运行良好,但现在我有一个计划的工作,使一些服务器无法访问几分钟,当他们每天运行在晚上9点,每天我收到关键的通知。 有没有办法设置一个主机的特定触发器不能运行的时间?

Zabbix应用程序监控

我们运营一个SAAS业务,我们有数百个可以从服务器漫游到服务器的stream程。 它们是.net进程,可以在任何一台机器上创build(启动),运行一段时间(通常几周),然后迁移到另一台机器上。 这些进程有许多不同的时间序列输出(使用RabbitMQ进行广播),我们有自己的定制系统来监视应用程序进程。 我们有各种监控工具(例如LogicMonitor),但是我们开始使用Zabbix进行服务器监控。 对于我来说,我们把来自所有源(交换机,服务器,主机,虚拟机,应用程序)的所有时间序列数据放到一个地方,因为那样我们就可以比较服务器范围的数据(例如CPU负载,内存负载)。 我正在考虑使用Zabbix。 我可以看到Zabbix支持使用https://www.zabbix.com/documentation/3.0/manual/concepts/sender发送时间序列数据。 所以我知道我可以得到数据。 我正在努力了解如何设置Zabbix这个给定的Zabbix是以服务器为中心,每个时间序列数据的关键。 但是,我认为这是一个常见的情况,但我是Zabbix的新手。 我想象下面的一个层次: DataCenter (1 of n) -> Rack (1 of n) keys (eg power used) -> Physical Machine (1 of n) "The hosts" keys (eg CPU, Memory, Network Bandwidth) -> VM (1 of n) keys (eg CPU, Memory, Network Bandwidth) -> Application keys (eg CPU, Memory, […]

有没有可能使用Zabbix来监视进程?

我在我的一些专用服务器上安装了zabbix-server , zabbix-proxy和一些zabbix-agent 。 一切正常,我对所有事情都很满意,但是我对这个话题感到好奇: 监控stream程 。 我想要的是: 我希望Zabbix能够监控进程(CPU和RAM的使用情况,正常运行时间等),监控networkingstream量,CPU使用率等等,所以我可以看到它们的graphics,制作屏幕等等。 至今: 从谷歌search,我发现可以创build一个自定义脚本,然后可以执行,所以你可以告诉脚本做你想做的任何事情,但我试图完成不同的东西,你可能已经注意到以上部分 题: 那么,甚至有可能以任何方式做到这一点? 如果是这样,我应该从哪里开始?

服务器突然掉在空闲的内存,但仍然运行良好

我正在运行8GB内存的Debian 8。 同时运行Zabbix并添加了显示空闲内存的自定义项目: vm.memory.size[free] 根据Zabbix的消息,它已经运行了数周,拥有大约4GB的可用内存。 突然,超过3天,它已经下降到200MB左右的空闲内存,但仍然运行良好。 在terminal这是免费的节目: free -m total used free shared buffers cached Mem: 7998 7745 252 42 142 7284 -/+ buffers/cache: 319 7679 Swap: 2047 0 2046 男人之前:免费赠送4GB左右,现在只有252MB。 但缓冲区/caching显示很多免费。 我正在运行PostgreSQL作为唯一的应用程序。 我该怎么做才能最好地了解机器中发生的事情? 我会对可用/可用内存的真实看法,所以我知道何时增加更多的内存,而不是担心 – 就像我现在。 Zabbix图表的截图: http : //imgur.com/a/lgyMD 更新: 运行提供顶级'%MEM': 24091 postgres 20 0 226720 65664 64216 S 1.7 0.8 0:03.19 postgres […]

如何在不打开防火墙端口的情况下监控远程客户的Windows / Linux PC /服务器?

我为IT服务提供商工作 – 我们在客户网站上支持一系列Windows和Linux服务器/ PC。 我正在寻找一种方法来监视这些设备上的基本信息(例如,磁盘空间使用情况,CPU利用率,正常运行时间等)并将数据收集在一个中央接口中。 我看过Zabbix,在Nagios上读过。 但是,两者似乎都要求我们的客户有一个静态的外部IP地址,并且在客户的防火墙上打开一个特定的端口以允许双向通信。 对于大多数客户来说这是不可能的。 有没有办法configurationZabbix或Nagios从他们的Windows代理发送数据到我们的中央服务器(打开相关的传入端口),而不需要在客户防火墙上打开端口的双向通信? 我尝试了潘多拉FMS,它能够做到这一点,但我不喜欢整体产品。 据我所知,这将需要代理预先configuration他们应该发送的数据,但我不是100%肯定从阅读文档。 在此先感谢您的任何build议, 马特