我有一个监控许多服务器的 Nagios 服务器。有一个内部编码的仪表板,它使用被动检查将监控数据发送到 Nagios 服务器。每当出现问题时,NOC 团队都会收到大量电子邮件通知。
我的目标是:
当出现问题时,即使仪表板向 Nagios 发送了 100 封通知电子邮件,我也希望 Nagios 将这些通知聚合为一个通知。然后我希望 Nagios 在问题解决后再发送一个通知。它是如何完成的?
在云平台上,您经常听到由于相邻 VM 的高负载、磁盘超额订阅以太网、备份或实时迁移到其他硬件,虚拟机可能会“冻结”片刻。
我怀疑这发生在我们的一个云提供商上的 Ubuntu 虚拟机上,我不想公开羞辱。
每天晚上,外部监控服务都无法使用它。机器本身在负载、流量等方面看起来很健康。供应商建议网络虽然很好。
我希望能够(反驳)证明 VM 冻结导致这些寻呼机。
我的一个想法是每秒将日期写入日志,然后在短暂的不可用后查看我们是否跳过了“节拍”。
然而,这似乎是有缺陷的,因为如果 VM 保持自己的时钟并允许从主机的硬件漂移怎么办。
如果我们的内部时钟与 VM 一起冻结,我们在该日志文件中仍然会有很好的秒数序列,并且时钟现在落后于实时。
有没有更好的方法/工具可以用来确定是否有机器冻结?
我猜是实时的,我们的时间可以证明,然后再一次,时钟漂移还有其他原因。
我正在使用企业 PKI 管理单元来诊断和检查 MSFT PKI 系统的运行状况。
有什么方法可以编写/自动化此工具以提醒我 CRL 即将到期或缺少 AIA?
monitoring pki certificate-authority ad-certificate-services
我一直在我们的环境中测试不同的备份软件,我似乎无法处理的一件事是对这些备份解决方案的监控。我找不到一个备份系统可以完成我想要它做的所有事情,所以我有一种感觉,我最终会得到一些不同的软件。
话虽如此,是否有任何明智的方法来监控不同的备份解决方案?
到目前为止,我唯一能找到的完全不可知的是PRTG 的 IMAP 传感器。我意识到这不是一个应该通过解析电子邮件主题/正文来解决的解决方案,但我真的不知道还能做什么。有没有人为此目的使用过该产品,它是否有效?
我有一个分布式 Icinga 设置,设置如下:
中央
仅接收被动检查结果
分布式A
227台主机
835服务
分布式B
67台主机
243服务
在中央服务器在任何时候都坐落在1秒以下的平均潜伏期检查。分布式 B目前的平均检查延迟约为 10 秒左右,但随着我们添加更多检查,这一数字也在攀升。
分布式 A有一些严重的检查延迟问题(有时长达 700 秒,重新加载后更少,但它会重新建立),我似乎无法确定。这是当前的 icingastats 输出:
Icinga Stats 1.10.3
Copyright (c) 2009 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 02-11-2014
License: GPL
CURRENT STATUS DATA
------------------------------------------------------
Status File: /var/lib/icinga/status.dat
Status File Age: 0d 0h 0m 3s
Status File Version: 1.10.3
Program Running Time: 1d 17h 30m 44s
Icinga PID: 1160
Used/High/Total Command Buffers: …Run Code Online (Sandbox Code Playgroud) 条件匹配时如何做多件事?例如,如果我想重新启动一个进程并发送警报电子邮件。我知道我可以用两条单独的线来完成,但我可以将它们组合起来吗?
if cpu > 95% for 2 cycles then restart
if cpu > 95% for 2 cycles then alert
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用特定主机名在 HAProxy 中执行 HTTP 检查。
这是我的后端配置的一个片段:
option httpchk HEAD / HTTP/1.1\r\nHost: example.com
http-check expect rstatus (2)[0-9][0-9]
Run Code Online (Sandbox Code Playgroud)
当我查看正在检查的服务器上的 IIS 日志时,主机名 ( cs-host) 为空:
#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
2016-04-15 20:24:09 W3SVC3 123.123.123.123 HEAD / - 80 - 456.456.456.456 - - - 302 0 0 365 45 14
Run Code Online (Sandbox Code Playgroud)
与来自浏览器的请求相比,主机名是可见的:
#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) cs-host sc-status sc-substatus sc-win32-status …Run Code Online (Sandbox Code Playgroud) 我有一个 OpenNMS 系统配置和运行。
我有几台 Linux (debian) 服务器,我需要监控它们上是否正在运行特定的服务。这必须仅使用 ssh 访问来完成。没有 SNMP 或代理。我必须配置 OpenNMS 才能登录这些服务器并检查此服务是否正在运行。
我已经阅读了关于轮询的内容,但我还没有找到有关如何配置 OpenNMS 以访问远程 Linux 计算机并检查服务是否正在运行的说明。
理想情况下,我正在寻找一种在 OpenNMS 中指定 IP 地址、用户名、密码和我要监视的进程名称的方法。
我怎样才能做到这一点?
我有一个 ubuntu 服务器,并且经常面临空间问题,即日志占用了大量磁盘空间。因此,我希望应用检查,以便每当可用磁盘空间少于 5 GB 时,我都会收到一封电子邮件通知,以便我可以删除日志。我该如何配置。我需要任何其他应用程序吗?
我已经在 Debian 8 中使用 Systemd 一段时间了。我使用 Restart=on-failure 选项在出现故障时唤醒服务。
我想知道如果服务没有侦听特定端口(即使进程仍在运行),是否有办法强制重新启动服务。
我需要它的原因是因为我们正在开发新功能来解决这个问题,但这需要一段时间。同时,我们需要一个解决方法。
我开发了一个脚本来检查该状态:
#! /bin/bash
PORTS=( 1452 542 )
for port in ${PORTS[@]}; do
netstat -anp | grep $port > /dev/null 2>&1
if [ "$?" -ne 0 ]; then
# Port blocked. Kill the running process and start it again after a while
done
Run Code Online (Sandbox Code Playgroud)
这个脚本是使用 cron 定期触发的。我知道这是一个肮脏的把戏。这就是为什么我想在 Systemd 检查中集成该行为。那可能吗?
先感谢您。
干杯,
一种。