【问题标题】:Changing Kibana-index on the basis of the context根据上下文更改 Kibana-index
【发布时间】:2014-08-04 03:52:21
【问题描述】:

总的来说,我是计算机科学的新手,目前我正在从事一个涉及 Elasticsearch、logstash 和 Kibana 的项目,我们正在使用它来构建一个集中式日志记录系统。 在 kibana config.js 中,有一个参数 kibana_index,其默认值设置为“Kibana-int”。有没有办法根据上下文更改 Kibana-index 的值?从我的研究中我可以理解的是,“kibana-int”是存储所有仪表板的索引。当我说上下文时,我的意思是如果我在一个组织中有多个项目,当我在我的 url 中将该项目的名称作为上下文时,kibana 仪表板页面上的下拉菜单应该仅在特定项目下显示仪表板。所以在一个项目中工作的人只能看到他们项目中的那些。 我能找到的唯一方法是根据项目更改 kibana-index 值,例如“kibana-projA”。所以它显示了这个特定索引下的所有仪表板。但我找不到如何做到这一点的方法。你能帮帮我吗?

任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: logging elasticsearch dashboard kibana


    【解决方案1】:

    没有可以让您动态选择 kibana_index 的 Kibana 功能。 为了实现您的目标,您可以使用单独的 config.js 配置为 kibana_index 属性 (source code) 设置单独的 Kibana 实例。 您还可以使用服务器堆栈(例如 node.js 或 ruby​​ on rails)为 Kibana 提供服务,并让服务器根据用户请求指定要使用的 kibana_index。

    【讨论】:

      【解决方案2】:

      这是可能的,使用 java 脚本函数而不是“kibana-int”,所以当 kibana 尝试获取值时,java 脚本函数被调用,在 java 脚本函数中编写逻辑,通过查看来决定window.document.url 并决定合适的索引。

      希望能解决你的问题

      【讨论】:

      • 感谢 Ankireddy。我能够做到这一点,并且成功地根据上下文更改了索引。我将项目名称指定为查询字符串。现在我正在做类似的事情。假设我有一个像“logs.xyz.com/projname”这样的网址,我应该从这个网址获取项目名称。这里的 Projname 是可以提取的路径名。但问题是,当我将 url 键入为“logs.xyz.com”时,我确实得到了 Kibana 页面。但是当我添加路径名时,我得到了错误页面,而当我添加查询字符串时却不是这样。有什么帮助吗?
      • 您收到异常的原因是因为不存在具有给定名称的 html。默认情况下,当您尝试访问 kibana 时,它仅加载 index.html
      猜你喜欢
      • 2019-10-26
      • 1970-01-01
      • 1970-01-01
      • 2017-09-13
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      • 2012-02-02
      • 2021-10-21
      相关资源
      最近更新 更多