【发布时间】:2010-10-25 14:21:26
【问题描述】:
我正在构建一个包含很多模块的大型应用程序,我想监控它们。每个模块都有自己感兴趣的不同参数,从性能到组件的逻辑状态。
最终我需要集中所有这些信息,并能够显示它。有没有我可以用来实现这一目标的框架?我使用.net 3.5
【问题讨论】:
标签: c# .net monitoring
我正在构建一个包含很多模块的大型应用程序,我想监控它们。每个模块都有自己感兴趣的不同参数,从性能到组件的逻辑状态。
最终我需要集中所有这些信息,并能够显示它。有没有我可以用来实现这一目标的框架?我使用.net 3.5
【问题讨论】:
标签: c# .net monitoring
你可以试试穆宁。一旦你安装了它——你只需编写一些插件——从你的应用程序中获取值的小程序。并以值和标签的形式将它们打印到命令行。例如:
NoRDNS.value 10
Breakin.value 1
LogPassPAM.value 0
NoID.value 0
LogPass.value 100
InvUsr.value 23
LogKey.value 0
RootAttempt.value 0
花车也可以。
Munin 会定期调用插件(默认每 10 分钟一次)并随着时间的推移绘制漂亮的 PNG 图表,跟踪最小/最大/平均信息,并在静态 HTML 页面中组织所有内容。
对你来说,Munin 最大的问题可能是在 Windows 上设置它。我从未在 Windows 上尝试过 - 对我来说它适用于 Linux。幸运的是官方网站确实有一些适用于 Windows 的选项 - 特别是 munin-node-win32 程序。你会需要它。
不幸的是,munin-node-win32 只会收集数据。要存储(作为 RDD)和渲染图形(作为 PNG),您需要 Munin 服务器。这可以在本地或远程运行。对于在本地运行它,Cygwing 可能是一个选项,但它是设置运行 Ubuntu 或 Debian 的简单设置的虚拟机(参见 QUEMU 或 VirtualBox)的可靠方法。在那里,设置 Munin 服务器非常简单 - 只需运行:
sudo aptitude install munin
并编辑 /etc/munin/munin.conf - 放置您的应用程序和 munin-node 正在运行的主机的本地 IP 地址。你甚至不需要重新启动任何东西——Munin 已经在 CRON 中进行了配置,因此只要 VM 正在运行,它就会读取配置文件并每 10 分钟执行一次工作。以防万一出现问题 - 日志将位于通常的 /var/log 文件夹中。
它看起来很复杂,但比编写自己的监控和图形框架要容易。我有一个近亲,他重新发明了轮子并在 .NET 中从头开始编写了一个监控/绘图系统,但我更信任 Munin,而不是他的代码。
在一天结束的时候,您可以将您的网络浏览器指向虚拟机的专用网络 IP 地址,并获得看起来很不错的性能报告,看起来像 like this。
【讨论】:
试试 wolfpack.codeplex.com - 基于 .net Windows 服务的监控框架 - 完全可扩展并附带大量插件!
提供被动监控(轮询数据)和主动 - 您的应用可以将数据/kpis/stats 泵入 wolfpack。它还提供了geckoboard数据api,让您可以在瞬间获得丰富的业务仪表盘。
PS:我写了 wolfpack!
【讨论】:
您可以使用 appfirst 产品。他们有一种发现网络流量并显示您所描述内容的方法。这可能会解决您的问题。
【讨论】: