Grafana与Elasticsearch

简介:

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

  Grafana简绍:

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

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

  3. Grafana有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch。

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

Primary Size每天30多G。

数据存储格式如下:

wKioL1lI7QHRGURTAAFeXK7R0Kc583.png-wh_50

Grafana展示的效果截图:

wKioL1lI72XDvd9kAAKdXzhlS6k521.png-wh_50

wKioL1lI79PjfhKCAAHx_yRgW90211.png-wh_50

具体实现:

一、添加elasticsearch数据源

  默认Grafana是安装了ES插件的,如果没装需要安装相应data source插件。

点击Data Sources-->Add data source--> Type-->elasticsearch

wKiom1lJxwLCt80aAAD9pVW9rSo861.png-wh_50

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

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

1
2
http.cors.enabled:  true
http.cors.allow-origin:  "*"

二、Metric查询编辑器

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

wKioL1lJ44rgQuYJAAEmKSj43Pg564.png-wh_50

  1. Query:Lucence查询语法,跟kibana的查询一样,详情请查阅ES的官方文档

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

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

    解决办法是用"keyword"进行排序,需要手动加入后缀'.keyword',参考文档如下:https://www.elastic.co/guide/en/elasticsearch/reference/current/fielddata.html

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

三、Axes选项

    这里可以进行X轴和Y轴的定义。

wKioL1lJ0rvDDEahAACivA6w7i8843.png-wh_50

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

  2. X-Axis里"mode"的选择,如果是要曲线图可以选择"Time",如果是要画柱状图可以选择"histogram"

四、Legend选项

    这里主要进行图上显示文字的设置。

wKioL1lJ1D_zhF5mAACYNs8u-XY750.png-wh_50

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

五、Display选项

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

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

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

    wKiom1lJ1iTRzl3LAAIUcP4GY04754.png-wh_50

    ‘Staircase’如果勾选则以阶梯的形式画图,如图示:wKiom1lJ1n6xEG9gAADNyBj1uXc934.png-wh_50

  2. Stacking & Null value:这里需要注意‘Null value’的选择,选择‘connected’,在空值的时候画图会自动把线进行前后衔接,如果设置为零,会画出驼峰的形状。

  3. Thresholds:阀值的设置:

    wKiom1lJ17-iClJxAACdlau_qJA281.png-wh_50

   效果图如下:

   wKioL1lJ1_iBjazIAAIL65_EXmY331.png-wh_50

六、Alert选项

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

七、Templating

Templating在dashboard manage里设置:

wKiom1lJ2g_gfKjHAACFraUphYc334.png-wh_50

wKiom1lJ2nSxeAGbAAFObDd9eTM345.png-wh_50

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

wKioL1lJ2sPAjziNAAGTFm7jGfQ734.png-wh_50

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

wKioL1lJ2zXjTBYQAADTmcpxz8U393.png-wh_50

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

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

更多详细配置见文档:http://docs.grafana.org/features/datasources/elasticsearch/#using-elasticsearch-in-grafana

Grafana官方文档:http://docs.grafana.org/




      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1940439,如需转载请自行联系原作者




相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
JSON Prometheus Cloud Native
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
|
存储 数据可视化 索引
Grafana 系列 - 统一展示 -7-ElasticSearch 数据源
Grafana 系列 - 统一展示 -7-ElasticSearch 数据源
|
索引
grafana elasticsearch date类型问题
大致的数据格式 { "createTime": 1484967199, "ip": "localhost", "appId": "10000", "thre...
2507 0
|
存储 监控 Cloud Native
用Grafana为Elasticsearch做日志分析
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/50373453 用Grafana为Elasticsearch做日志分析 作者:chszs,未经博主允许不得转载。
2032 0
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
1497 3
|
11月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana(docker安装)
本文档详细介绍了如何使用Docker容器快速部署Prometheus监控系统和Grafana数据可视化平台。该方案适用于需要快速搭建监控环境的开发测试场景,具备部署简单、资源占用低、易于维护等特点。
|
存储 数据采集 Prometheus
Grafana Prometheus Altermanager 监控系统
Grafana、Prometheus 和 Alertmanager 是一套强大的开源监控系统组合。Prometheus 负责数据采集与存储,Alertmanager 处理告警通知,Grafana 提供可视化界面。本文简要介绍了这套系统的安装配置流程,包括各组件的下载、安装、服务配置及开机自启设置,并提供了访问地址和重启命令。适用于希望快速搭建高效监控平台的用户。
969 20
|
Prometheus 监控 Cloud Native
Prometheus+Grafana监控Linux主机
通过本文的步骤,我们成功地在 Linux 主机上使用 Prometheus 和 Grafana 进行了监控配置。具体包括安装 Prometheus 和 Node Exporter,配置 Grafana 数据源,并导入预设的仪表盘来展示监控数据。通过这种方式,可以轻松实现对 Linux 主机的系统指标监控,帮助及时发现和处理潜在问题。
1327 7
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
2240 3
|
Prometheus 监控 前端开发
Grafana 安装配置教程,让你的 Prometheus 监控数据变得更美观
《Grafana安装配置教程,让你的Prometheus监控数据变得更美观》简介: Grafana是一个开源的度量分析与可视化工具,支持多种数据源(如Prometheus),提供丰富的可视化功能和警报机制。本文详细介绍了Grafana的安装、汉化方法及模板使用,帮助用户轻松创建美观、灵活的数据面板,并实现数据的协作与共享。通过Docker镜像、配置文件修改或替换前端页面等方式实现汉化,让用户更便捷地使用中文界面。此外,还提供了导入JSON格式模板的具体步骤,方便快速搭建仪表盘。
2420 2

热门文章

最新文章

推荐镜像

更多