如何远程监视 Windows 事件日志,以便在发生某些事件时自动通知我?
有很多主动监控解决方案,但它们需要人工关注或持续轮询。我需要一个被动的解决方案,它只会在发生特定事件时生成通知。
我的 Windows 2003 Server 上有一个镜像动态磁盘。您如何监控卷的健康状况?
当音量出现问题时,有没有办法让服务器发送电子邮件?有没有办法让服务器运行 SMART 测试?
编辑: 没有什么比登录客户端服务器、运行 DISKPART LIST VOLUME 并看到这个更能说明 WTF 了。
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 X xDrive NTFS Mirror 233 GB Failed Rd
Volume 1 C NTFS Simple 57 GB Healthy System
Volume 2 D DVD-ROM 0 B Healthy
Volume 3 F RAW Partition 466 GB Healthy
Volume 4 E New Volume NTFS Partition 932 GB Healthy
Run Code Online (Sandbox Code Playgroud) raid windows-server-2003 monitoring software-raid dynamic-disk
当您使用 Monit 通过其 pid 监视进程时,例如:
check process blop with pidfile /.../blop.pid
start program = "..."
stop program = "..."
Run Code Online (Sandbox Code Playgroud)
当 pidfile 更改时,您会收到警报。
您如何禁用此警报?例如,如果您只想知道进程何时无法重新启动。
tcpdump在与 apache 服务器的本地连接上运行时,我发现 TCP 连接每 2 秒立即建立并关闭一次。我如何找到哪个进程负责这些?netstat -ctp没有帮助,连接速度太快,并且没有为 TIME_WAIT 显示进程标识符。
结果证明它们是 haproxy 探针,我可以用 验证strace,但我仍然不知道有什么方法可以首先确定 haproxy。
在 2013 年,在新的 Linux 映像上仍然有多个挂载点是否有意义,还是将所有空间分配给 / 更有意义?
我宁愿避免增加安装点大小所需的重新启动。我也更喜欢监控单个坐骑的空间。我宁愿知道整个服务器的驱动器空间使用率高于 70%,而不是处理单个安装点。
您如何分析来自 UNIX/Linux 机器的日志文件?我们运行数百台服务器,它们都直接或通过 syslog 生成自己的日志文件。我正在寻找一个不错的解决方案来汇总这些并挑选出重要的事件。这个问题分为 3 个部分:
1) 消息传输
经典的方法是使用 syslog 将消息记录到远程主机。这对于登录到 syslog 的应用程序很有效,但对于写入本地文件的应用程序不太有用。解决方案可能包括让应用程序登录到连接到程序的 FIFO 以使用 syslog 发送消息,或者通过编写一些内容来 grep 本地文件并将输出发送到中央 syslog 主机。然而,如果我们不厌其烦地编写工具来将消息导入系统日志,我们是否会更好地用 Facebook 的Scribe 之类的东西来替换整个系统,它比系统日志提供更多的灵活性和可靠性?
2)消息聚合
日志条目似乎属于两种类型之一:每主机和每服务。Per-host 消息是发生在一台机器上的消息;考虑磁盘故障或可疑登录。Per-service 消息出现在大多数或所有运行服务的主机上。例如,我们想知道 Apache 何时发现 SSI 错误,但我们不希望 100 台机器出现相同的错误。在所有情况下,我们只希望看到每种类型的消息中的一个:我们不希望有 10 条消息说同一个磁盘发生故障,并且我们不希望每次遇到损坏的 SSI 时都收到一条消息。
解决此问题的一种方法是在每个主机上将多个相同类型的消息聚合为一个,将这些消息发送到中央服务器,然后将相同类型的消息聚合为一个整体事件。SER可以做到这一点,但使用起来很尴尬。即使经过几天的摆弄,我也只能进行基本的聚合,并且不得不不断查找 SER 用于关联事件的逻辑。这是强大但棘手的东西:我需要一些我的同事可以在最短的时间内拿起和使用的东西。SER 规则不符合该要求。
3) 生成警报
当有趣的事情发生时,我们如何告诉我们的管理员?邮寄群组收件箱?注入Nagios?
那么,你是如何解决这个问题的?我不指望盘子上有答案;我可以自己解决细节问题,但就什么是常见问题进行一些高层讨论会很棒。目前,我们正在使用 cron 作业、系统日志以及谁知道还有什么可以找到事件的大杂烩。这不是可扩展的、可维护的或灵活的,因此我们错过了很多我们不应该的东西。
更新:我们已经在使用 Nagios 进行监控,这对于检测到的主机/测试服务/等非常有用,但对于抓取日志文件不太有用。我知道 Nagios 有日志插件,但我对比每个主机警报更具可扩展性和层次性的东西感兴趣。
我们的监控办公室有一堆大型高清电视,密切关注我们所有的生产设备。
我们正在监控:
思科路由器
目前我们使用
除了 Perfmon 部分之外,所有这些都很好 - 它为我们提供了我们想要的东西 - 即屏幕上的实时图表,记录某些性能计数器等 - 唯一的问题是设置它是一件真正的苦差事。如果运行 Perfmon 的 Vista PC 重新启动(通常是由于 Windows 更新),那么再次设置所有计数器需要很长时间 - 对于办公室中的某个人来说,实际上需要一两个小时的工作......
任何人都知道一种方法: 1. 添加 Perfmon 计数器的脚本 2. 另一个具有图形输出和 WMI/windows 计数器访问的工具。
谢谢
windows monitoring performance perfmon performance-monitoring
可能的重复:
您使用什么工具来监控您的服务器?
是否有免费的开源服务器监控工具,如运行在 MS 堆栈上的 Nagios?它还需要能够检测服务停止和启动。
我们正在运行两台带有 Apache 2 和 MySQL 的生产服务器。我正在寻找一种可靠的方式来监控我们的负载、稳定性和正常运行时间。
我遇到过monit,但有更好的选择吗?
我想在新的根进程产生时执行一个脚本。(在 Linux 上)我怎么能简单地做到这一点?
谢谢
monitoring ×10
linux ×3
monit ×2
unix ×2
windows ×2
alert ×1
apache-2.2 ×1
connection ×1
dynamic-disk ×1
logging ×1
mount ×1
mysql ×1
perfmon ×1
performance ×1
process ×1
raid ×1
snmp ×1
tcp ×1