Grafana和ES打造的Nginx的仪表盘
grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库,官网(http://docs.grafana.org/).
我们想要打造一套监控平台,因此我在逐渐的完善我的DashBoard系列文章。如果你也对这部分感兴趣那么欢迎来和我一起构建这个仪表盘。
监控指标
针对入口Nginx,我设计了如下的监控指标:
- 最近的24小时内访问量Top10的国家
- 最近24小时最受欢迎的页面
- 200状态码和404状态码的比例
- 最受欢迎的世界题图展示
- 等等
构建你的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 会将我们定义的log_format写入/var/log/nginx/access_json.log文件,Filebeat会将其作为输入项。
- Filebeat会将数据输出到Redis
- Logstash作为Redis数据的过滤将数据存储Elasticsearch
- Grafana读取Elasticsearch数据源