首页 > 代码库 > 使用Grafana展示时间序列数据
使用Grafana展示时间序列数据
Grafana是一个独立运行的系统,内置了Web服务器。它可以基于仪表盘的方式来展示、分析时间序列数据。
Grafana支持多种数据源,例如:Graphite、OpenTSDB、InfluxDB、Elasticsearch。你可以混合使用多种数据源。它对Graphite有以下增强的支持:
- 点击修改Metrics路径的每一个片断
- 快速的添加函数,支持点击函数参数以修改之
- 修改函数顺序
- 丰富的模板支持
在UI方面,Grafana具有以下特性:
- 丰富的、基于客户端的图表组件:Bar图、区域图、线图。支持多Y轴
- 支持点击/选择以缩放(Zoom)时间区间
- 支持混合多种图表组件,一起展示或者堆叠展示
- 支持定制图表的配色,支持黑白两种主题
- 支持拖放仪表盘面板(Panel),支持多种面板类型
- 支持脚本化仪表盘、仪表盘模板
- 通过来自数据源的事件(例如Graphite的Events),可以对仪表进行标注
术语 | 说明 |
数据源(Data Source) | Grafana支持多种存储后端,这些后端称为数据源 Grafana为每种数据源开发了查询编辑器( Query Editor)以匹配后端的特点 |
组织(Organization) | 引入组织机构的概念,以便一个Grafana实例可以被多个可能不受信任的组织使用 |
用户(User) | Grafana用户可以归属于1个或者多个组织 |
行(Row) | 仪表盘中的逻辑分段 |
面板(Panel) |
仪表盘中最基本的可视化单元,每个面板提供查询编辑器。Grafana目前内置了Graph, Singlestat, Dashlist和Text这几种面板 每种面板都具有一些样式、格式化选项,你可以利用它们设计出漂亮的图表 可以通过拖拽,在仪表盘中重新放置面板,也可以缩放其大小 |
查询编辑器(Query Editor) | 依据特定数据源设计的表单,用以查询需要的Metrics |
仪表盘(Dashboard) | 一系列面板的集合,这些面板被组织在一个或者多个行中 |
依次执行下面的命令完成安装:
1
2
3
4
|
# CentOS
yum install initscripts fontconfig
wget https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.1-1470047149.x86_64.rpm
rpm -Uvh grafana-3.1.1-1470047149.x86_64.rpm
|
设置为开机启动:
1
2
|
/bin/systemctl daemon-reload
/bin/systemctl enable grafana-server.service
|
启动服务:
1
|
systemctl start grafana-server.service
|
当Grafana服务启动时,会读取 /etc/sysconfig/grafana-server 中的环境变量。你可以修改日志目录、数据存储目录等变量。
默认的,日志文件存储目录为/var/log/grafana,数据存储目录为/var/lib/grafana。默认使用SQLite数据库/var/lib/grafana/grafana.db。
如果基于deb/rpm包进行安装,则主配置文件的位置为: /etc/grafana/grafana.ini 。使用命令行参数 --config可以覆盖此位置。主配置文件说明如下:
段 | 配置项 | 说明 |
instance_name | Grafana服务的名称,默认为${HOSTNAME},即环境变量HOMENAME的值 | |
[paths] | data | 在何处存放SQLite3数据库文件、基于文件的Session,以及其它数据 |
logs | 在何处存放日志 | |
[server] | http_addr | 内置Web服务的监听地址,默认绑定所有地址 |
http_port | 内置Web服务的监听端口,默认3000 | |
protocol | http或者https | |
cert_file | https证书文件 | |
cert_key | https证书密钥 | |
[database] | type | 数据库类型:mysql、postgres或者sqlite3 |
path | sqlite3数据库文件路径 | |
host | mysql或postgres的主机:端口,例如 127.0.0.1:3306 | |
name | 数据库名称默认grafana | |
user | 数据库用户 | |
password | 数据库密码 | |
[security] | admin_user | Grafana管理员用户,默认admin |
admin_password | Grafana管理员密码,默认admin | |
login_remember_days | 记住登陆的最大天数 | |
secret_key | 用于签名记住登陆的Cookie | |
disable_gravatar | 禁用头像 | |
[log] | mode | 日志记录方式,console、file或者syslog。可以用空格分开多个方式 |
level | 日志记录级别,debug、info、warn、error、critical |
使用Grafana的日常工作包括:用户管理、系统管理、仪表盘设计、数据源管理,等等。所有这些工作都在Web界面http://GRAFANA_HOST:3000 完成。该界面比较友好,适合最终用户。
点击Web界面左上角的图标,下拉列表中选择Data Sources,即可管理数据源。
点击Add data source按钮,添加新的数据源,参考下图:
注意Access设置成proxy,则数据通过Grafana间接获取,否则,数据直接通过客户端获取。添加Graphite数据源后,可以点击Dashboards选项卡,获得其预置的仪表盘Graphite Carbon Metrics并导入到Grafana中。
点击Web界面左上角的图标,下拉列表中选择Dashboards ? New,可以新建仪表盘。在新仪表盘中,点击左侧的绿条,可以添加新的面板;点击右下侧ADD ROW按钮则可以新建一行。
参考:https://blog.gmem.cc/time-series-data-renderering-with-grafana
使用Grafana展示时间序列数据