如何直接在elasticsearch中放置可视化文件?

时间:2016-04-25 13:15:51

标签: elasticsearch visualization kibana elastic-stack

我发布了一个关于Kibana中自动化(即:脚本自动化)可视化创建的问题。但是我在编写时找到了解决方案;)让我解释一下:

我有点受阻,因为我在网上找不到任何关于它的内容。 Elasticsearch的文档没有解释这一点。

简而言之,我正在尝试的全局项目是编写一个脚本,根据特定用户自动创建新的仪表板(为此,搜索会发生变化)。

更确切地说,由于仪表板由可视化组成,我们需要首先创建可视化。我在此步骤被阻止,通过CURL -XPOST请求直接创建可视化到ElasticSearch。

因为为了完成最终的仪表板,我们需要:

  1. 撰写搜索
  2. 创建可视化
  3. 创建由可视化构成的仪表板
  4. 示意:

    输入:用户名 - > Myscript - >用户的仪表板

    为了清楚起见,可视化只是路径中的JSON文档(在我的情况下,但肯定也在你的文件中): 'http://localhost:9200/.kibana/visualization/ *' 在ElasticSearch中。

    所以很简单,在通过ElasticSearch API添加新文档时添加新的可视化。 要做到这一点,并了解您想要创建的可视化效果,您可以使用Kibana Web界面创建它;一旦您验证并将其添加到ElasticSearch中,您就会看到ElasticSearch文档。

    假设我们使用名为“Test1”的Kibana创建了一个饼图:我们在ElasticSearch中请求它来查看文档。

    curl -XGET 'http://localhost:9200/.kibana/visualization/Test1'
    

    你应该有这样的结果:

    {"_index":".kibana","_type":"visualization","_id":"Test1","_version":1,"found":true,"_source":{"title":"Test1","visState":"{\"aggs\":[{\"id\":\"1\",\"params\":{},\"schema\":\"metric\",\"type\":\"count\"},{\"id\":\"2\",\"params\":{\"field\":\"type.raw\",\"order\":\"desc\",\"orderBy\":\"1\",\"size\":10},\"schema\":\"segment\",\"type\":\"terms\"}],\"listeners\":{},\"params\":{\"addLegend\":true,\"addTooltip\":true,\"isDonut\":false,\"shareYAxis\":true},\"title\":\"New Visualization\",\"type\":\"pie\"}","uiStateJSON":"{}","description":"","version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"logstash-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"YOUR KIBANA DISCOVER SEARCH HERE\"}},\"filter\":[]}"}}}
    

    那么,我们想要直接在ElasticSearch中创建一个类似的文档,而不使用Kibana,因为我们需要在脚本中使用它。查询如下所示:

    curl -XPOST 'http://localhost:9200/.kibana/visualization/Test2' '{"title":"Test2","visState":"{\"aggs\":[{\"id\":\"1\",\"params\":{},\"schema\":\"metric\",\"type\":\"count\"},{\"id\":\"2\",\"params\":{\"field\":\"type.raw\",\"order\":\"desc\",\"orderBy\":\"1\",\"size\":10},\"schema\":\"segment\",\"type\":\"terms\"}],\"listeners\":{},\"params\":{\"addLegend\":true,\"addTooltip\":true,\"isDonut\":false,\"shareYAxis\":true},\"title\":\"New Visualization\",\"type\":\"pie\"}","uiStateJSON":"{}","description":"","version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"logstash-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"YOUR KIBANA DISCOVER SEARCH HERE\"}},\"filter\":[]}"}}'
    

    就是这样!您可以检查饼图已在Kibana中创建好;)

    祝你有个美好的一天,我希望这有用。

0 个答案:

没有答案