Splunk路由到不同的索引

时间:2015-12-16 04:19:26

标签: splunk

splunkers!

问题陈述

  • 我的日志包含INFO,WARNING和DEBUG日志条目。 DEBUG日志条目包含客户特定信息,我不希望向更广泛的受众公开。
  • 我希望团队中的某些特定用户可以使用这些DEBUG日志条目访问日志。其他人不应该访问它。

我的解决方案

  • 创建2个索引。 'index-normal'和'index-debug'。

    • 创建角色和用户,以便相应地提供对这些索引器的访问。简单。可以管理!
    • 在转发器中,我有2个段 - 每个段对应于将相同的日志索引到不同的索引。请注意,我试图通过在其中一个部分中使用'queue = indexQueue'来绕过indexrs上的props.conf和transforms.conf。

    [监视器:///mypath/abc.log] disabled = false index = index-normal sourcetype = mysourcetype

    [监视器:///mypath/abc.log] disabled = false index = index-debug sourcetype = mysourcetype queue = indexQueue

  • 通过上面的配置,我试图将同一个文件索引两次并将它们发送到2个单独的索引。一个(索引)通过props.conf和transforms.conf配置索引器,另一个(索引调试)绕过它。

  • 在索引器中,我正在删除包含DEBUG字符串的日志条目日志。

    props.conf [mysourcetype] TRANSFORMS-null = setnull NO_BINARY_CHECK = 1 pulldown_type = 1

    transforms.conf: [的setNull] REGEX = DEBUG DEST_KEY =队列 FORMAT = nullQueue

毋庸置疑,这不起作用。

问题   - 这是处理这种情况的最佳方法吗?我试图将相同的日志索引两次(也许这不会发生)。在索引器端使用一些逻辑是否有更好的方法?   - 如果这是要使用的方法,我哪里出错?

谢谢!

1 个答案:

答案 0 :(得分:0)

我能想到的一种方法是使用搜索过滤器

仅使用一个索引并摄取其中的所有内容。创建两个角色,一个用于调试其他角色。对于调试角色,添加一个搜索过滤器,例如level!= DEBUG,以便它使用级别DEBUG排除索引中的所有事件。这将导致字符串“level!= DEBUG”被添加到属于该特定角色的用户运行的所有搜索。

通过以下内容阅读

http://docs.splunk.com/Documentation/Splunk/6.4.1/Security/Addandeditroles#Search_filter_format