我有一个用ColdFusion编写的Web应用程序,它定期开始使用100%的服务器CPU并崩溃ColdFusion服务.
由于我自己无法重现这个问题,我想找到一个实用工具,当CPU使用率开始攀升时会通过电子邮件通知我,所以我可以跳上服务器,看看FusionReactor看看发生了什么,并确定行为不当的代码.
我用Google搜索并且找不到合适的实用工具,所以我想我会问其他程序员是否找到了可以进行这种监控的工具.鉴于我的需求的具体情况,我宁愿不编写自己的监控工具.
如果您有其他建议来解决整体问题,我也很乐意听到.
回答答案:
使用Windows perfmon触发命令行听起来很有希望.谁能指点我如何做到这一点的教程?
我们没有设置接收SNMP陷阱的监控系统.
我们正在运行ColdFusion 8标准版,它不包括ColdFusion性能监控工具 - 只有Enterprise包含这些工具.
Peter Boughton的答案可能会让我解决这个问题,但它无法帮助我主动解决问题,因为CPU开始飙升,所以我仍然在寻找通知解决方案.
在生产环境中监控异常日志记录的最佳方法是什么?我有一个应用程序,其中例外记录到文本文件.每次,我都需要访问这些日志文件,我得请求后台团队给我发一份副本.
为了即兴发挥这个过程,我想到了几个选择:
1)定期通过电子邮件发送错误日志
2)将日志文件存储在数据库中
3)创建一些监听器对象来监控日志(这甚至可能吗?)
有没有更好的选择以及如何实施?
TIA
我目前正在进行一个项目,并希望在代码中实现某种软件跟踪.理想情况下,它的推出频率.它运行了多长时间,功能跟踪等.我已经将Exceptioneer用于未处理的异常,但是想要使用类似的用法跟踪.
这些数据应该都是匿名的,理想情况下由其他人作为服务运行.我想让用户选择将其关闭,如果他们希望...那么,这是我应该实现的东西,还是有第三方做那种事情?我知道它可能是一个粘性区域,但我已经看到有关iPhone应用程序使用情况的统计数据.他们这样做,为什么我们不能?(如果用户同意,当然)
[更新]根据评论,我应该更清楚.这是一个Winforms .NET 4.应用程序,虽然我想稍后用WCF更新它.我只会跟踪我自己的应用程序,虽然我也想知道有关环境的小信息(Windows操作系统版本,SP,也许proc和ram ......)
如何在Linux中对流程进行基准测试?对于特定的进程名称,我需要将"top"和"time"放在一起(这是一个多进程程序,所以会给出很多PID)?
此外,我希望有一个关于这些进程的内存和CPU使用时间的图,而不仅仅是最终数字.
有任何想法吗?
我想探索Azure webApps的OMS(特别是Service Map),但它显示以下错误:"为了将服务器安装到服务映射,需要在由OMS监视的服务器上安装Microsoft Dependency Agent.可以被找寻到".
Alos,微软声称"监控服务"用于查看多个订阅,资源组等的数据.但是当我查看指标时,它需要"资源名称".虽然评论说'选择或所有资源',但它没有提供选择全部的选项.
监视磁盘对文件活动的最佳方法是什么.我的意思是获取完整的文件名(c:\ temp\abc.txt),操作(创建/删除/修改/重命名),以及导致该文件的用户(user1)和进程名称(notepad.exe)(多个)删除)活动.
我听说过一些API和ShellNotifications,但不能将它们用于上述所有需求.
最好的祝福.
我正在使用Watchdog监视网络目录,非递归,以便随着时间的推移创建特定模式的文件.我看到的问题是,虽然我在本地测试时效果很好,但如果我从远程计算机更改受监控目录,则不会触发事件.
以下是我配置的具体细节:
使用stock示例代码段可以轻松复制我的问题示例:
import sys
import time
import logging
from watchdog.observers import Observer
from watchdog.events import LoggingEventHandler
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO,
format='%(asctime)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
event_handler = LoggingEventHandler()
observer = Observer()
observer.schedule(event_handler, path=sys.argv[1], recursive=False)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Run Code Online (Sandbox Code Playgroud)
如果在网络目录上启动它,然后从同一系统进行更改,则会调度事件.但是,如果您随后从网络上的另一台计算机更改目录,则不会调度任何事件.
我是否遗漏了关于kqueue限制的内容(或者可能是OSX上的FSEvents,因为它首先由Watchdog表示首选)?
我在这个python包上被激怒了,并且开始将它用于替换文件系统轮询的其他脚本,但我似乎无法找到有关我为何看到此问题的任何信息.
更新
我还测试了MacFSEvents并遇到了同样的问题.然后我修改了上面的测试脚本,强行尝试不同的观察者:
# does not work with remote changes
from watchdog.observers.fsevents import FSEventsObserver as Observer
# does not work with remote changes
from watchdog.observers.kqueue …Run Code Online (Sandbox Code Playgroud) 我们正试图在VB6应用程序上获取一些使用指标,我们的目标是迁移到更新的技术.它相当庞大(如此大,以至于它刷新了VB6所具有的表格数量等限制)并且改进某种自定义监控本身并不是一项小任务.
我希望像DeskMetrics这样的工具(我不会把它们单独列出)会有某种遗留的COM控件,我们可以将它们放到每个表单中,并使用一些应用程序级配置和安装本地(现场)集我们可以捕获一些可以让我们做出决定的统计数据.
然而:
我找不到任何直接兼容的VB6库,可用于任何这些跟踪系统
由于我们客户的网站未必完全连接到互联网,因此我们无法找到任何可以在未连接到更广泛互联网的客户网站上进行本地安装的平台.
所以我的问题是,是否有任何图书馆/第三方确实满足这些要求,或者我们最好将我们自己非常简单的跟踪解决方案推广到数据库并通过某种报告收集该信息.
有没有办法在 Visual Studio 中监视调用堆栈大小?运行时提供了一个调用堆栈窗口,但不显示堆栈的大小。我正在使用 C++ 并面临堆栈溢出问题。我知道我正在使用的一些递归函数可能有问题,但在解决这些问题之前,我想监视调用堆栈大小以查看发生了什么。
我想使用正则表达式过滤标记值的指标。我可以在Prometheus中做到,但在Datadog中找不到等效的方法。
例如,要选择status标签值以开头的以下指标2,我可以使用查询http.server.requests.count{status=~"^2..$"}
我在Datadog中也具有相同的指标和相同的标签,但是找不到具有相同查询的方法。