您如何分析来自 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
是否可以在本地查看远程计算机的“任务管理器”信息?
我希望能够以与“Windows 任务管理器”提供的相同格式查看远程 XP 计算机的进程列表,以便可以查看具体哪个进程占用了处理器时间的百分比。
我特别不想通过 RDP 或类似方式登录,最好使用 WinXP 附带的工具。我知道“任务列表”可以显示进程,性能管理器可以显示 cpu %,但它们并没有真正结合起来。
能够远程终止进程而无需起诉 PSKill 等也很有用。
我希望向我的经理推销一个全面的监控系统,并且一直在考虑使用 OpenNMS。但是,我在这里看到了对 Nagios 的热烈赞扬,我希望有经验的人可以帮助我说明主要区别。他们的侧重点不同,还是只是竞争对手?
如果某些背景有帮助,我们会运行 6 个现场服务器(文件服务器、PBX、代理、应用程序等)和两个场外服务器(网站/开发)以及几个交换机和一个路由器。我们安装的监控服务将在运行 freeBSD 的单独转换桌面上运行。我们所有的东西都运行 Linux 或 BSD 衍生版本。
我们希望不花钱来实现这一点(叹气)。
谢谢你的帮助。
编辑 看起来 openNMS 提供了更接近我想要的更全面的解决方案。但是,由于它是用 Java 编写的,并且该端口尚未在官方端口树中,因此已被否决。现在开始我的 Nagios 将比 MRTG 活动更好。感谢您的快速回复。
-机会
这有多难?我想从远程 Win 2k3 机器获取当前的 CPU 性能。我需要使用 SNMP,因为机器位于防火墙后面。
假设:
问题: - 我用什么 OID 来简单地询问当前的性能使用情况。
我花了很多时间问谷歌 - 显然问错了问题:S .... 这有多难?
Glusterfs 虽然是一个不错的分布式文件系统,但几乎没有提供监控其完整性的方法。服务器可以来来去去,砖块可能会变得陈旧或失败,我害怕知道这些可能为时已晚。
最近我们遇到了一个奇怪的故障,当一切正常时,但是一块砖从体积中掉了出来(纯属巧合)。
是否有一种简单可靠的方法(cron 脚本?)可以让我了解 GlusterFS 3.2卷的健康状况?
有没有 etsy 的statsd 的替代品?甚至是一个完整的类似仪表板的解决方案?我的研究只发现了专有的 SaaS 解决方案。
对于那些不知道的人:statsd 是一个守护进程,它通过 UDP 收集应用程序和系统指标并将它们发送到 Graphite 以生成或多或少漂亮的图。有一个适用于所有重要语言的 API。
我需要:
我在我的服务器上使用 monit 来监控 apache 和 mysql 的运行。
现在我想在磁盘太满时添加警报。我添加了这个用于测试/etc/monit/monitrc:
check device rootfs with path /dev/md0
if space usage > 10% then alert
Run Code Online (Sandbox Code Playgroud)
我有两个要检查的分区:/和/var:
mount
/dev/md0 on / type ext3 (rw)
/dev/md2 on /var type ext3 (rw)
Run Code Online (Sandbox Code Playgroud)
除了磁盘空间之外,此配置中还有哪些有用的检查?
你好,
我想问一下集体对分布式监控系统的看法和看法,您使用什么以及您知道哪些可能符合我的要求?
要求相当复杂;
没有单点故障。真的。我是认真的!需要能够容忍单/多节点故障,包括“主节点”和“工作节点”,您可以假设没有监控位置(“站点”)中有多个节点,或者位于同一网络上。因此,这可能排除了传统的 HA 技术,例如 DRBD 或 Keepalive。
分布式逻辑,我想在多个网络、多个数据中心和多个大陆上部署 5 个以上的节点。我希望从我的客户的角度来看我的网络和应用程序的“鸟瞰”视图,当你有 50 多个节点,甚至 500 多个节点时,监控逻辑的加分不会陷入困境。
需要能够处理相当合理数量的主机/服务检查,就像 Nagios,一般假设有 1500-2500 个主机和 30 个服务每个主机。如果添加更多监控节点允许您相对线性地扩展,那就太好了,也许在 5 年内我可能希望监控 5000 台主机和每台主机 40 个服务!从我上面关于“分布式逻辑”的注释中添加,很高兴地说:
图形和管理友好的功能。我们需要跟踪我们的 SLA,了解我们的“高可用”应用程序是否 24x7 都在一定程度上有用。理想情况下,您提出的解决方案应该以最少的方式进行“开箱即用”的报告。
必须有一个可靠的 API 或插件系统来开发定制检查。
需要了解警报。我不想知道(通过 SMS,凌晨 3 点!)一个监控节点认为我的核心路由器已关闭。我确实想知道他们中是否有一定比例的人同意正在发生一些时髦的事情;) 基本上我在这里谈论的是“法定人数”逻辑,或者将理智应用于分布式疯狂!
我愿意同时考虑商业和开源选项,尽管我更愿意避开价值数百万英镑的软件:-) 我也愿意接受可能没有任何东西可以满足所有这些要求,但是想问问集体那个。
在考虑监控节点及其位置时,请记住其中大部分将是随机 ISP 网络上的专用服务器,因此在很大程度上超出了我的控制范围。依赖 BGP 馈送和其他复杂网络操作的解决方案可能不适合。
我还应该指出,过去我已经评估、部署或大量使用/定制了大多数开源风格,包括 Nagios、Zabbix 和朋友——它们确实不是坏工具,但总体上还是平庸的。”分布式”方面,特别是关于我的问题和“智能”警报中讨论的逻辑。
很高兴澄清所需的任何要点。欢呼吧伙计们和女孩们:-)
monitoring ×10
nagios ×2
windows ×2
debian ×1
glusterfs ×1
linux ×1
logging ×1
monit ×1
mysql ×1
networking ×1
opennms ×1
perfmon ×1
performance ×1
sla ×1
snmp ×1
statsd ×1
unix ×1
windows-xp ×1