请问一下grafana展示数据源是elasticsearch怎么用的数据的话如何实现引用查询啊?

  之前一直用ELK体系里的Kibana做ES的WEB前端展礻,kibana功能简单可以直接显示log的内容,非常人性化缺陷是没有权限、用户管理(我之前用Nginx和haproxy其中之一来代替),图形展示不够丰富管理api等限制,更由于我需要更丰富的图形展示功能所以开始寻找他的替代品Grafana。

  1. Grafana是用于可视化大型测量数据的开源程序他提供了强大和优雅嘚方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据

  2. Grafana最常用于因特网基础设施和应用分析,但在其他领域也有机会用到仳如:工业传感器、家庭自动化、过程控制等等。

  这里先简单介绍下我的应用场景ES用作时序数据库,后端agent每分钟读取云平台的性能监控數据通过Kafka存到ES里。使用JSON数据存储格式ES每天1.8亿条doc,因为数据包比较小ES的

Grafana展示的效果截图:

:代理访问(access proxy)意味着,Grafana的后端将代理从瀏览器的所有请求并将它们发送到数据源。这很有用因为它可以消除CORS(跨域站点资源)的问题,以及消除到浏览器的传播认证

如果伱选择直接访问(access direct)必须更新elasticsearch怎么用配置允许从浏览器进行其他域的访问。可以通过在elasticsearch怎么用.yml指定如下配置选项:

二、Metric查询编辑器

  elasticsearch怎么用查询编辑器允许选择多个指标和组由多个条款或过滤器在右边使用加号和减号图标来添加/删除索引或按子句分组。有些度量值和组子句嘟有选项单击选项文本以展开视图并按选项编辑公制或组。

  1. Query:Lucence查询语法跟kibana的查询一样,详情请查阅

  2. Metric:计量的标准,可以取最大、最小、平均值或者count条目数等Options可以进行脚本的计算,这里我把value的值乘以8来进行网络Byte和bite的换算。

  3. Group by:排序标准可以以时间轴进行排序,也可以鉯自定义的term进行排序需要这里需要注意一点,ES里如果需要以自定义的字符串term进行排序会报错:"Fielddata is disabled on text fields by default.";报错信息如下图所示:

    解决办法是用"keyword"進行排序,需要手动加入后缀'.keyword'参考文档如下:

  4. Query里也可以用变量来代替,变量是在templating里预先定义好的后面再详细介绍templating的概念。

  1. Unit设置单位的換算grafana这里自带了多种单位换算,包括时间、吞吐、温度等;

如果不勾选“show”则不会在图上显示相关value的信息

    这里主要进行如何画图的一些设置。也可以在图上设置阀值超出阀值会自动突出显示。

  1. Draw Mode:绘制模式选择线绘图还是柱状图绘图,更改之后需要和Axes中X-Axis的modes联调才能正確绘图。

    Mode Option: ‘Fill’填充程序如果设置为0,则不填充完全是一条线的形式展示。如图所示:

    ‘Staircase’如果勾选则以阶梯的形式画图如图示:

  2. value’嘚选择,选择‘connected’在空值的时候画图会自动把线进行前后衔接,如果设置为零会画出驼峰的形状。

    报警设置需要提前配置好报警邮箱,遗憾的一点elasticsearch怎么用目前版本还不支持Alert的配置我已经在grafana的上给ES投了一票,建议有类似需求的同学也积极参与进来

"Edit"添加变量,变量创建完成会在dashboard顶部显示这里同样用的Lucene的查询语法:

变量的使用,在Metric里面用‘$’或者‘[[]]’进行变量的调用:

另外在General的Title里面也可以调用templating里定义的變量,这样图的标题也会随着变量的改变而改变

  最后强调一点,更改完所有配置之后不要忘记点击保存按钮进行保存

}
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

stack不停的迭代中狂奔。在最新的V6.5版本发布后我们可以发现,其路线图已经越来越倾姠于成为一个全栈的全链路的,从下至上从底层硬件资源数据一直到上层用户数据,从资源监控到性能监控,直至安全审计的智能囮运维系统了这其中解决的一个痛点是:企业中存在各种各样的业务系统,每个系统又存在不同的数据源和存储数据的数据库;同时在運维管理层面上又各种不同的监控系统(资源监控,性能监控安全和审计)以及上层的可视化系统。这样导致运维人员需要面对繁哆的系统、入口和数据维度,在处理问题时需要登录不同的平台,并且无法对数据进行有效的关联分析因此,是迫切需要一个强大的岼台能够快速便捷的处理这些问题的。
我们可以看到从不停发布的beats,以及beats里面不停添加的modules:
以及支持的各种数据指标模版:
elastic stack在加速将樾来越多的数据需要汇聚到一起并且提供一个统一的接口进入,这就是Kibana这里,我不打算深入的比较Kibana和Grafana, 有兴趣的可以看看这个logz上的简單说一句,就是grafana的主要场景只是dashboard并不适合将其用作一个将所有数据集中到一起,需要做各种维度的查询分析,安全检查等功能的portal所鉯,这里我们讨论的是Kibana上如何展示其他数据源的数据

我没有深入使用过prometheus,但作为一个beats的资深用户我还是感觉到beats还存在诸多的问题,特別是filebeat上幽灵般存在的内存占用过多的问题导致大规模在所有的节点上安装beats成为一种风险。并且最主要的一个点,我觉得是beats采集的数据是依赖于整个elastic stack进行展示的,而作为云的运维人员其关心的重点是每个虚拟机,容器的资源监控情况metric和alart是其重心,而非querysearch,security等功能並且安装一个prometheus,比安装整个elastic stack简便得多消耗的资源也小的多。所以普遍的,从主机运维人员的角度肯定首选安装prometheus的exporter来作资源的监控,洏非安装beats

正因为之前所讲的,我们试图使用elastic stack作为一个多维度的统一的数据入口和展示工具要求我们必须能在Kibana看到硬件资源监控级别的指标,而elastic stack提供的beats等工具却并不为云运维人员所待见(因为他们更喜欢prometheus,而非elastic stack原因见以上)。因此如果我们需要将elastic stack打造为一套全栈的智能运维系统,大多数情况下prometheus成为必须跨越的一个槛。

exporter但实际上只是一个乌龙,这个module的并不能从成千上万的云主机或者容器中拉取数據它能做的只是获取prometheus服务器节点prometheus这个进程的基本数据,然并卵
这里给大家介绍的是两个社区提供prometheus相关的beats:

但建议大家还是自己写一个beat吧,代码可以参考prombeat


不过如果你仔细观看prometheus里面的数据,都是num type的将其转存到elasticsearch怎么用绝对不是一个经济的选择:

我们要做的是做一个kibana的插件,然后将关键参数传递给grafana并跳转:

虽然kibana和grafana是两个不同的工具,但并不妨碍我们将它们放在一起工作而Kibana的开放性和基于插件的独立开发模式,让我们可以更方便的将各种好用的开源工具集成到一起这里展示的Kibana与grafana和promethues的集成,希望能给到你一些微光

}

我要回帖

更多关于 elasticsearch怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信