Grafana 安装使用

 官网:javascript

官方网址:https://grafana.com/html

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

安装 grafana

基于 RPM 的系统(CentOS,Fedora,OpenSuse,RedHat)mysql

最新稳定版 CentOS / Fedora / OpenSuse / Redhat Linux
grafana-4.4.3 (x86-64 rpm) : https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.4-1.x86_64.rpmnginx

 

直接使用 yum 安装:web

yum installhttps://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.4-1.x86_64.rpm

或者使用 rpm 方式安装:( CentOS / Fedora / Redhat)redis

$ wgethttps://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.4-1.x86_64.rpm
 $ sudo yum install initscripts fontconfig $ sudo rpm -Uvh grafana-5.1.4-1.x86_64.rpm

经过yum源方式安装:sql

vim /etc/yum.repos.d/grafana.repo

[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

yum install grafana

安装包信息:typescript

二进制文件: /usr/sbin/grafana-server
init.d 脚本: /etc/init.d/grafana-server
环境变量文件: /etc/sysconfig/grafana-server
配置文件: /etc/grafana/grafana.ini
启动项: grafana-server.service
日志文件:/var/log/grafana/grafana.log
默认配置的sqlite3数据库:/var/lib/grafana/grafana.db数据库

启动方式:

脚本启动

service grafana-server start

以 grafana 用户启动 grafana 进程,grafana 用户是在安装过程当中自动建立的。默认http端口:3000,默认用户和用户组是 admin

经过 systemd 启动

systemctl daemon-reload
systemctl start grafana-server systemctl status grafana-server systemctl enable grafana-server.service

环境配置文件:

systemd 和 init.d 脚本启动都是加载的 /etc/sysconfig/grafana-server 文件。
能够在 /etc/sysconfig/grafana-server 文件中修改日志目录,数据目录和其余一些环境变量。

日志记录:

默认状况日志记录到 /var/log/grafana 文件。

数据库:

默认配置指定的数据库 sqlite3 在 /var/lib/grafana/grafana.db 。升级以前记得备份。
也能够用 mysql 或者 postgres,详细配置参考:http://docs.grafana.org/installation/configuration/#database 或者后面的介绍的配置方法。

配置文件:

配置文件存放在 /etc/grafana/grafana.ini ,详细的配置选项参考:http://docs.grafana.org/installation/configuration/

添加数据源:

Graphite
InfluxDB
OpenTSDB
Prometheus(最近很火)

Zabbix(经常使用)

elasticsearch(经常使用)

服务器端图形渲染:

服务器端映像(png)呈现是一个可选的特性,但在共享可视化时很是有用,例如在警报通知中。
若是图像缺乏文本,请确保已经安装了字体包

yum install fontconfig yum install freetype* yum install urw-fonts

管理

配置:

grafana 后端有许多配置选项,能够在一个配置文件或环境变量中指定。
ini 配置文件以分号为注释 ;
默认配置文件路径:$WORKING_DIR/conf/defaults.ini
自定义配置文件:$WORKING/conf/custom.ini
自定义配置文件路径可使用 --config 参数覆盖

注意:使用 rpm或者 deb 方式安装的,配置文件默认在 /etc/grafana/grafana.ini
这个路径是由 init.d 脚本 --config 参数指定的。

使用环境变量

下面列出的配置文件中的选项均可以被环境变量覆盖,语法:

GF_<SectionName>_<KeyName>

配置文件选项:
# default section instance_name = ${HOSTNAME} [security] admin_user = admin [auth.google] client_secret = 0ldS3cretKey 环境变量替换: export GF_DEFAULT_INSTANCE_NAME=my-instance export GF_SECURITY_ADMIN_USER=true export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey

[paths] 选项

数据,日志等文件的保存路径

使用

基本概念

本文件“自下而上”介绍Grafana的基本概念,能够做为熟悉核心功能的起点。

数据源

Grafana支持许多不一样的时间序列数据(数据源)存储后端。每一个数据源都有一个特定的查询编辑器,该特定的查询编辑器是针对特定数据源公开的功能和功能而定制的。

正式支持如下数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch。

每一个数据源的查询语言和功能显然是很是不一样的。您能够未来自多个数据源的数据合并到单个仪表板上,但每一个面板都与属于特定组织的特定数据源相关联。

组织

Grafana支持多个组织,以支持各类部署模式,包括使用单个Grafana实例为多个潜在的不受信任的组织提供服务。

在不少状况下,Grafana将部署在一个单一的组织中。

每一个组织均可以有一个或多个数据源。

全部仪表板由特定组织拥有。

注意:请务必记住,大多数度量数据库不提供任何类型的我的用户系列身份验证。所以,在Grafana中,数据源和仪表板可用于特定组织中的全部用户。

用户

用户是Grafana的命名账户。用户能够属于一个或多个组织,并能够经过角色分配不一样级别的权限。

Grafana支持各类各样的内部和外部方式供用户验证本身。这些包括从其本身的集成数据库,外部SQL服务器或外部LDAP服务器。

行是仪表板内的逻辑分隔符,用于将面板组合在一块儿。

行老是12“单位”宽。这些单位根据浏览器的水平分辨率自动缩放。您能够经过设置本身的宽度来控制一行中面板的相对宽度。

使用抽象单位,使Grafana在全部的屏幕上看起来都很棒,并且体积很小。

注意:使用MaxDataPoint功能,不管您的分辨率仍是时间范围,Grafana均可觉得您显示完美的数据点数量。
根据所选的模板变量,利用重复行功能动态建立或删除整个行(能够填充面板)。

能够经过单击行标题来折叠行。若是您保存了一个折叠的行的仪表板,它将保存在该状态,而且不会预加载这些图,直到该行被展开。

面板

面板是Grafana的基本可视化构建块。每一个面板提供一个查询编辑器(取决于面板中选择的数据源),容许您经过使用查询编辑器提取完美的可视化以在Panel上显示
每一个Panel都有各类各样的造型和格式化选项,让您建立完美的图片。

面板能够在仪表板上拖放并从新排列。他们也能够调整大小。
目前有四种面板类型:Graph,Singlestat,Dashlist,Table和Text。
像“ 图形”面板的面板容许您根据须要绘制出许多指标和系列。像Singlestat这样的其余面板须要将单个查询减小到单个数字。Dashlist和Text是不链接到任何数据源的特殊面板。

经过在面板配置中使用Dashboard Templating变量字符串(包括经过查询编辑器配置的数据源的查询),可使面板更具动态性。
利用重复面板功能,根据所选择的模板化变量动态建立或删除面板。

面板上的时间范围一般是仪表板时间选择器中设置的时间范围,但能够经过使用面板特定时间覆盖来覆盖。

面板(或整个仪表板)能够经过各类方式轻松共享。您能够发送连接到有谁登陆您的Grafana的人。您可使用快照功能将当前正在查看的全部数据编码为静态和交互式JSON文档; 它比经过电子邮件屏幕截图好得多!

查询编辑器

查询编辑器公开了数据源的功能,并容许您查询其包含的指标。
使用查询编辑器在时间序列数据库中构建一个或多个查询(一个或多个系列)。该面板将当即更新,容许您实时有效地探索数据,并为该特定面板构建完美的查询。
您能够在查询自己的查询编辑器中使用模板变量。这提供了一种基于“仪表板”上选择的“模板化”变量动态探索数据的强大方法。

Grafana容许您在查询编辑器中按照它们所在的行来引用查询。若是您向图形添加第二个查询,则能够经过键入#A来引用第一个查询。这提供了一种简单而方便的方法来构建复合查询。

仪表板

仪表板是全部在一块儿的地方。仪表板能够被认为是由一组或多组组成并排列成一行或多行的组件。
仪表板的时间段能够由仪表板右上方的仪表板时间选择器控制。

仪表板能够利用模板来使它们更具动态性和交互性。
仪表板可使用注释来显示面板上的事件数据。这能够帮助将Panel中的时间序列数据与其余事件相关联。
仪表板(或特定面板)能够经过各类方式轻松共享。您能够发送连接到有谁登陆您的Grafana的人。您可使用快照功能将当前正在查看的全部数据编码为静态和交互式JSON文档; 它比经过电子邮件屏幕截图好得多!

仪表板能够被标记,仪表板选择器能够快速,可搜索访问特定机构中的全部仪表板。

新变化

特性

图形面板

Grafana的主板简单地命名为Graph。它提供了很是丰富的图形选项

单击面板的标题会显示一个菜单。该edit选项为面板打开其余配置选项。

常规选项卡容许自定义面板的外观和菜单选项。

通常选项

Title - 仪表板上的面板标题
Span - 列中的面板宽度
Height - 面板内容高度(以像素为单位)

Drilldown / detail link 部分容许添加能够连接到其余仪表板或URL的面板的动态连接。

每一个连接都有一个标题,一个类型和参数。连接能够是连接dashboard或absolute连接。若是是仪表板连接,则该dashboard值必须是仪表板的名称。若是是absolute连接,则URL是连接的URL。

params容许在连接中添加其余URL参数。格式是由name=value多个参数分隔的&。可使用模板变量做为值添加$myvar。

当连接到使用模板变量的另外一个仪表板时,可使用var-myvar=value该模板变量将连接填充到所需的值。

度量

“度量”标签订义要呈现的系列数据和源。每一个数据源提供不一样的选项。

“轴”和“网格”选项卡控制轴,网格和图例的显示。

该Left Y和Right Y可使用自定义的:

Unit - Y值的显示单位
Grid Max - 最大Y值。(默认为自动)
Grid Min - 最小Y值。(默认为自动)
Label - Y轴标签(默认为“”)
也能够经过取消选中相应的框来隐藏轴Show Axis。

X轴模式

有三个选项:

默认选项是Time,表示x轴表示时间,数据按时间分组(例如,按小时或分钟)。

该Series选项意味着数据按序列分组,而不是按时间分组。y轴仍然表示该值。

该Histogram选项将图形转换为直方图。直方图是一种将数字分红范围的条形图,一般称为桶或仓。较高的酒吧显示更多数据在该范围内。这里更详细地描述了直方图和水桶。

图例

经过选中Show复选框来隐藏图例。若是显示,能够经过选中Table复选框将其显示为值列表。使用Hide empty复选框能够从图例中隐藏没有值的系列。

图例值

附加值能够沿着图例名称显示: - Total- 从度量查询返回的全部值的总和- - 从度量查询Current返回的最后一个值 - Min- 从度量查询返回的全部值的最小值- - 从Max最大值返回的全部值度量查询 - Avg- 从度量查询返回的全部值的平均值 - Decimals- 控制为图例值显示的小数位数(以及图形悬停工具提示)

图例值由Grafana根据客户端计算,取决于您的度量标准查询使用的聚合或点合并类型。全部上述图例值都不能同时进行。例如,若是您绘制像请求/秒的速率,这多是使用平均值做为聚合器,则图例中的总计不会表明请求的总数。这只是Grafana收到的全部数据点的总和。

阈值

阈值容许您向图形添加任意行或部分,以便更容易查看图表什么时候跨越特定阈值。

图表选项

Bar - 将值显示为条形图
Lines - 以线图显示值
Points - 显示值的点

单体组

Singlestat面板容许您显示SINGLE系列的一个主要摘要统计信息。它将系列减小为单个数字(经过查看系列中的最大值,最小值,平均值或值)。Singlestat还提供了对状态或面板背景进行着色的阈值。它也能够将单个数字转换为文本值,并显示该系列的sparkline摘要。

Singlestat面板配置

singlestat面板有一个普通的查询编辑器,可让您定义精确的指标查询,如许多其余面板。经过“选项”选项卡,您能够访问特定于Singlestat的功能。

脚本化仪表板

若是您有许多公制名称以定义的模式更改(新服务器等),则不断建立新的仪表板是使人烦恼的。

使用脚本化的仪表板,您可使用javascript动态建立仪表板。在文件夹grafana安装文件夹下public/dashboards/有一个名为的文件scripted.js。此文件包含脚本化仪表板的示例。您可使用url访问它:http://grafana_url/dashboard/script/scripted.js?rows=3&name=myName

若是您打开scripted.js,您能够看到它如何从ARGS变量读取url参数,而后添加行和面板。

示例

var rows = 1; var seriesName = 'argName'; if(!_.isUndefined(ARGS.rows)) { rows = parseInt(ARGS.rows, 10); } if(!_.isUndefined(ARGS.name)) { seriesName = ARGS.name; } for (var i = 0; i < rows; i++) { dashboard.rows.push({ title: 'Scripted Graph ' + i, height: '300px', panels: [ { title: 'Events', type: 'graph', span: 12, fill: 1, linewidth: 2, targets: [ { 'target': "randomWalk('" + seriesName + "')" }, { 'target': "randomWalk('random walk2')" } ], } ] }); } return dashboard;

更多例子

您能够在public/dashboards/grafana安装目录中找到更多示例。

警报引擎和规则指南

警报仅在Grafana v4.0及更高版本中可用。

条件

目前惟一存在的条件类型是Query容许您指定查询字母,时间范围和聚合功能的条件。

查询条件示例

avg() OF query(A, 5m, now) IS BELOW 14

avg()控制每一个系列的值如何减小到可与阈值进行比较的值。单击该功能将其更改成另外一个聚合功能。
query(A, 5m, now)该字母定义要从“ 度量标准”选项卡执行什么查询。第二个参数定义了时间范围,5m, now意味着从如今到如今5分钟。您还10m, now-2m能够定义从如今开始的10分钟到如今的2分钟的时间范围。若是您想忽略最近2分钟的数据,这将很是有用。
IS BELOW 14定义阈值的类型和阈值。您能够点击IS BELOW更改阈值类型。

在警报规则中使用的查询不能包含任何模板变量。目前咱们只支持AND和OR操做条件之间的连续执行。例如,咱们按如下顺序有3个条件:condition:A(评估为:TRUE)OR条件:B(计算结果为:FALSE)AND条件:C(计算结果为:TRUE),结果将计算为(( TRUE或FALSE)AND TRUE)= TRUE。

咱们计划在未来添加其余条件类型,例如Other Alert,您能够在其中包括另外一个警报在您的条件下的状态,以及Time Of Day。

故障排除

测试规则
您能够作的第一级故障排除是按测试规则按钮。您将得到结果,您能够扩展到能够查看从查询返回的原始数据。

还能够经过检查grafana-server日志进行进一步的故障排除。若是它不是错误或因为某些缘由,日志不会说任何您能够启用某些相关组件的调试日志记录。这是在Grafana的ini配置文件中完成的。

显示故障排除警报时可能相关的记录器的示例。

[log]
filters = alerting.scheduler:debug \ alerting.engine:debug \ alerting.resultHandler:debug \ alerting.evalHandler:debug \ alerting.evalContext:debug \ alerting.extractor:debug \ alerting.notifier:debug \ alerting.notifier.slack:debug \ alerting.notifier.pagerduty:debug \ alerting.notifier.email:debug \ alerting.notifier.webhook:debug \ tsdb.graphite:debug \ tsdb.prometheus:debug \ tsdb.opentsdb:debug \ tsdb.influxdb:debug \

警报通知

警报仅在Grafana v4.0及更高版本中可用。
当警报更改状态时,会发出通知。每一个警报规则均可以有多个通知。但为了向警报规则添加通知,您首先须要添加和配置notification通道(能够是电子邮件,Pagerduty或其余集成)。这经过“通知通道”页面完成。

通知通道设置

警报通知通道
在“通知通道”页面上,点击New Channel按钮进入能够配置和设置新通知通道的页面。

您指定名称和类型,并键入特定选项。您还能够测试通知,以确保其正常工做和设置。

键盘快捷键

Grafana v4引入了一些功能强大的键盘快捷键。您如今能够经过鼠标悬停在面板上来对焦。专一于面板,您能够轻松点击e切换面板编辑模式,或v切换全屏模式。p r移除面板。p s打开共享模态。

点击?你的键盘打开快捷键帮助模态。

全球

g h 转到首页仪表板
g p 转到我的资料
s o 打开搜索
s s 用加星标过滤器打开搜索
s t 在标签视图中打开搜索
esc 退出编辑/设置视图
仪表板

mod+s 保存仪表板
mod+h 隐藏行控件
d r 刷新全部面板
d s 仪表板设置
d v 切换主动/查看模式
d k 切换报亭模式(隐藏顶部导航)
mod+o 切换共享图形十字准线
专一面板

e 切换面板编辑视图
v 切换面板全屏视图
p s 打开面板共享模态
p r 删除面板
聚焦行

r c 折叠行
r r 删除行
时间范围

t z 缩短期范围
t 移动时间范围
t 向前移动时间范围

教程

在反向代理以后运行Grafana

应该直接让Grafana在逆向代理以后运行。但这里有一些您可能遇到的事情。

连接和重定向将不会正确呈现,除非您设置了server.domain设置。

[server]
domain = foo.bar
要使用子路径前http://foo.bar/grafana必定要包括/grafana在root_url结束。不然Grafana将没法正常运行。参见下面的例子

例子

如下是在反向代理以后运行Grafana的一些示例配置。

Grafana配置(ex http://foo.bar.com

[server] domain = foo.bar

Nginx配置

server { listen 80; root /usr/share/nginx/www; index index.html index.htm; location / { proxy_pass http://localhost:3000/; } }

子路径示例(http://foo.bar.com/grafana

Grafana配置与子路径

[server] domain = foo.bar root_url = %(protocol)s://%(domain)s:/grafana

Nginx配置与子路径

server { listen 80; root /usr/share/nginx/www; index index.html index.htm; location /grafana/ { proxy_pass http://localhost:3000/; } }

如何设置Grafana的高可用性

警报不支持高可用性。
设置Grafana的高可用性是至关简单的。归结为两件事:

对多个grafana实例使用共享数据库。
考虑如何存储用户会话。
配置多个服务器以使用相同的数据库

首先,您须要作的是在其余服务器上设置mysql或postgres,并配置Grafana以使用该数据库。您能够在grafana配置的[数据库]部分中找到这样作的配置。Grafana如今将把数据库中的全部长期数据都保留下来。还值得考虑如何设置数据库以实现高可用性,但不在本指南的范围以内。

用户会话

要考虑的第二件事是如何处理用户会话以及如何平衡服务器之间的负载。默认状况下,Grafana将用户会话存储在磁盘上,若是您sticky sessions在负载均衡器中使用,则能够正常工做。Grafana还支持将会话数据存储在数据库中,redis或memcache能够在您的负载平衡器中使用循环。若是您使用mysql / postgres进行会话存储,则首先须要一个表来存储会话数据。有关[sessions]的详细信息

对于Grafana自己,若是将会话存储在磁盘或数据库/ redis / memcache上,这并不重要。可是咱们建议您将会话存储在redis / memcache中,由于它能够更容易地从组中添加/远程实例。

插件

安装插件

安装插件的最简单方法是使用与grafana捆绑在一块儿的CLI工具grafana-cli。在修改插件后进行任何修改以前,须要从新启动grafana-server。

Grafana插件目录

在Linux系统上,grafana-cli会假设grafana插件目录是/var/lib/grafana/plugins。能够经过指定-pluginsDir标志来覆盖grafana-cli将要操做的目录。在Windows系统上,必须为每一个呼叫指定此参数。

Grafana-cli命令

列出可用的插件

grafana-cli plugins list-remote
安装最新版本的插件

grafana-cli plugins install

grafana-cli plugins install

grafana-cli plugins ls

更新全部安装的插件

grafana-cli plugins update-all
更新一个插件

grafana-cli plugins update

grafana-cli plugins remove

相关文章
相关标签/搜索