Grafana 简介
- 官网地址:https://grafana.com/
- 用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。
- 可视化:支持快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件
- 比如热图、折线图、图表等多种展示方式
- 数据源广: Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等。
- 支持混合数据源,在同一个图中混合不同的数据源,可以根据每个查询指定数据源,甚至适用于自定义数据源。
- 报警:支持可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时进行告警
- 过滤器:过滤器允许动态创建新的键/值过滤器,这些过滤器将自动应用于使用该数据源的所有查询。
- 避免混淆各个组件主要的作用概念
- Exporter 数据生产者,采集需要监控的数据
- Prometheus 普罗米修斯时序数据库,用来存储和查询的监控数据,从Exporter上拉取
- Grafana 可视化工具仪表盘
快速部署
- docker部署
#Docker(Alpine 基础镜像)
docker run -d --name=grafana -p 3000:3000 grafana/grafana-enterprise
#Docker (Ubuntu 基础镜像)
docker run -d --name=grafana -p 3000:3000 grafana/grafana-enterprise:11.0.0-ubuntu
- 访问
- 通过了浏览器访问
http://IP:3000
就能访问到登陆页面,默认用户名admin
密码admin
- 通过了浏览器访问
配数据源
创建第一个数据源,指定prometheus地址
配置数据源地址并保存
查看数据源列表
Grafana常用菜单和仪表盘配置
- 菜单说明
-
用户和组织
- 用户
- Grafana 里面用户有三种角色 admin,editor,viewer
- admin 权限最高,可以执行任何操作,包括创建用户,新增 Datasource、DashBoard。
- editor 角色不可以创建用户,不可以新增 Datasource,可以创建 DashBoard。
- viewer 角色仅可以查看 DashBoard
- 组织
- 每个用户可以拥有多个 Organization,用户登录后可以在不同的 Organization 之间切换
- 不同的 Organization 之间完全不一样,包括 datasource,dashboard 等都不一样
- 创建一个 Organization 就相当于开了一个全新的视图,所有的 datasource,dashboard 等都要再重新开始创建
- 用户
-
数据源 (Data Source )
- Grafana 支持多种不同的时序数据库数据源,对每种数据源提供不同的查询方法,而且能很好的支持每种数据源的特性
- 可以将多个数据源的数据合并到一个单独的仪表板上
-
仪表盘(Dashboard)
- 最重要 UI 界面 仪表盘,通过数据源定义好可视化的数据来源,Dashboard 来组织和管理数据可视化图表
- 仪表盘可以视为一组一个或多个面板组成的一个集合,来展示各种各样的面板
-
面板 (Panel)
- Panel 在一个 Dashboard 中一个最基本的可视化单元为一个 Panel(面板)
- 通过 Panel 的 Query Editor(查询编辑器)为每一个 Panel 添加查询的数据源以及数据查询方式,每一个 Panel 都是独立的
-
探索 (Explore)
-
仪表盘配置使用步骤
步骤一:创建dashboard
步骤二:创建panel面板
步骤三:配置数据项
100 - ((node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100)
高效导入仪表盘- Grafana应用市场
需求
- Grafana支持很多数据源,但是不同中间件太多,每个panel又很多选项
- 一个个配置对于开发新手和老手都是比较麻烦的,能不能达到复用呢?
Grafana应用市场
- 地址:https://grafana.com/grafana/dashboards/
- 是Grafana社区和其他用户分享的可装载的仪表板和面板集合
- 当安装应用程序市场模板时,Grafana会自动安装和配置自定义仪表板面板,并可以自动设置相关数据源
- 应用市场模板可以是来自Grafana仓库、别人的GitHub仓库、开源项目或个人创建的
- Grafana模板使得共享可装载的仪表板变得容易,从而帮助用户减少了工作量,并促进了最佳设置和最佳配置的使用
案例实战
Node-Exporter监控仪表盘