Grafana 和 ES 打造的 Nginx 的仪表盘
grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库,官网(http://docs.grafana.org/).
我们想要打造一套监控平台,因此我在逐渐的完善我的DashBoard系列文章。如果你也对这部分感兴趣那么欢迎来和我一起构建这个仪表盘。
监控指标
针对入口Nginx,我设计了如下的监控指标:
最近的24小时内访问量Top10的国家
最近24小时最受欢迎的页面
200状态码和404状态码的比例
最受欢迎的世界题图展示
等等
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3vIRXmEl-1589266045508)(https://user-images.githubusercontent.com/567298/80523974-32925180-898f-11ea-96b6-e8e559655745.png)]
构建你的DashBoard
再开始构建前,我需要先介绍一下都用到了什么基础软件,Nginx,Redis,Logstash,Elasticsearch,Grafana,Pormetheus。
那么,要构建这个DashBoard,我们首先要把Elasticsearch作为数据源配置到Grafana中。打开如下地址,然后输入Grafana的管理员用户名和密码进配置。
http://grafana服务ip:3000
进入配置页面,在左侧选择数据源,选择添加数据源,选择Elasticsearch后,完成配置。
配置完成数据后,我们就要选择dashboard的模板了。我们进入dashboard的配置,我们使用 https://grafana.com/grafana/dashboards/11190,模板。接下啦,我们需要输入dashboard的名字,选择Elasticsearch和Prometheus的数据源就可以看到你的监控数据了。
看看我们的DashBoard
你需要知道的内容
上面看完了,那么下面我介绍一下我系统中用到的这些软件的链接关系。
Nginx 会将我们定义的logformat写入/var/log/nginx/accessjson.log文件,Filebeat会将其作为输入项。
Filebeat会将数据输出到Redis
Logstash作为Redis数据的过滤将数据存储Elasticsearch
Grafana读取Elasticsearch数据源
版权声明: 本文为 InfoQ 作者【陈磊@Criss】的原创文章。
原文链接:【http://xie.infoq.cn/article/6499b2ec579bfe2e510078249】。未经作者许可,禁止转载。
评论