0

在我们的应用程序中,我们将关键信息记录到日志文本文件中,以供以后调试。如果我已经有一些数据点,如订单号或“未找到对象引用”类型的错误,则使用 splunk 很容易识别问题。但是,使用 splunk 全面了解问题对我来说是一项挑战。为了能够识别软件中的实际问题,我必须通读可能的多个日志文件或整个日志文件,以查看在问题发生之前应用程序在做什么。以人类的方式阅读整个日志文件有助于我在实际问题发生之前确定应用程序与其他数据点的行为方式。换句话说,我很难看到 splunk 错误的“真正根本原因”。您在软件开发领域的经验如何?

4

4 回答 4

2

询问 splunk 问题的正确位置是

http://splunkbase.com

那里有一群人可以帮助你...

@Cninroh 在大多数帐户上都是错误的。我在 Splunk 从事开发工作。

  1. 使用 splunk,您无需修改​​您的应用程序或日志
  2. 没有日期的事件可以正常工作。
  3. 您可以根据需要进行搜索以找到根本原因。您需要根据需要制作搜索。我不知道你的数据,但是,例如,下面的搜索会找到在“磁盘错误”之前以 root 身份登录的用户......

    login root [ search disk-error | head 1 | eval latest = _time - 5*60 ] | head 1

您还可以设置警报以查找异常值和其他意外事件,因此您不必积极寻找问题。他们可以推给你。

于 2011-08-10T19:27:23.840 回答
1

去除人性是非常困难的。话虽如此,我最近不得不领导 splunk 推出的开发方面,并且有一些很棒的工具至少可以满足您的一些需求。使用 splunk 的内置警报是执行此操作的最简单方法。不幸的是,在 splunkbase 或其他地方都缺乏许多与 splunk 相关的东西的实际实用答案和示例(我的意思是,严肃地说,请不要对 web 服务或 rest api 的每个示例使用带有不安全标志的 curl)互联网。

无论哪种方式,我发现的一些用于查找特定类型的日志或日志数据的最优雅的解决方案都是在我的搜索中大量使用管道“rex”命令。它将指定 Perl 正则表达式以帮助从正确的字段中提取正确的信息。 这是splunk 网站上的新页面。

这当然假设您知道哪些字段包含您要查找的数据。不幸的是,如果在索引器上没有正确设置,这可能是 Windows 日志的问题。

于 2011-09-23T16:02:26.833 回答
0

为了让 Splunk 以您可能想要的方式工作(从您的描述来看),您将“被迫”修改应用程序的某些部分以适应 Splunk 索引和存储数据的方法。

Splunk 依赖于事件索引,这些事件是来自系统中各种日志的错误或状态消息。Splunk 索引的主要目标是日期,因此没有日期意味着没有索引,这将导致您在 Splunk 搜索中的搜索结果较少。

为不同的情况保留不同搜索词的列表或备忘单也是一个好习惯,因此之后您可以轻松生成曾经成功的结果。

在我们公司,我们专门为选择使用 Splunk 作为他们选择的监控工具的客户创建了特定版本的软件。这个自定义应用程序和我们的标准应用程序之间的唯一区别基本上是它非常依赖于将它所做的所有事情都写入日志文件并使用“segemtn-时间-根本原因-用户-组-文件-操作”将它们保存在逻辑事件中- 结果 - 注释”这有助于我们实时发现和识别问题,而且成本比以前低得多。

于 2011-03-26T08:09:34.017 回答
0

就像您需要学习如何阅读和评估日志文件一样,您需要学习如何使用 Splunk 来充分利用您的努力。

对于在单台机器上运行代码的开发人员,您可以轻松读取一个日志文件并查看何时发生了什么。一旦您发布该代码并在多层或分布式架构上运行,您就无法轻松跟踪在何时何地跟踪问题发生了什么。也许您甚至无法访问生产系统日志。

这是一个例子。通过简单的关键字搜索找到您的错误。单击感兴趣事件的时间戳。这会将 Splunk 的时间范围调整为 1 秒。清除关键字搜索并输入 * 以查看 1 秒内的所有事件。将您正在查看事件的主机和设备限制为您感兴趣的系统/应用程序。

您现在可以在一个视图中查看应用程序中涉及的所有系统的事件。如果需要捕获根事件,您可以缩小到更多时间。如果要按时间顺序阅读,请使用“| reverse”命令 - 从顶部(最旧)到底部(最新)而不是 Splunk 的默认反向时间顺序。

找到问题后,您可以将该搜索转换为 Splunk 警报,以便将来收到通知。修复该问题后,您可以启用警报,因此如果您的修复在所有情况下都不是 100% 有效,或者没有进入您的下一个主要/次要版本,您将收到通知。

于 2013-05-15T17:34:23.210 回答