Live2d Test Env

Grafana

Grafana

Grafana是每个数据库的开源分析和监控解决方案

 

特点

认证方式

LDAP,Google Auth,Grafana.com,Github。无论您的公司处理的是auth,Grafana都能使其轻松地与您现有的工作流程一起使用。

组织机构

Grafana支持多租户。设置多个组织,每个组织可以拥有自己的管理员,定义自己的数据源,仪表板和用户。

用户首选项

Grafana包括高级用户首选项,其中包括从深色或白色主题中选择,设置家庭仪表板,更改时区等选项。

可视化

快速灵活的客户端图,具有多种选择。面板插件以多种方式可视化指标和日志。

动态仪表盘

使用模板变量创建动态且可重用的仪表板,这些模板变量显示在仪表板顶部。

探索指标

通过临时查询和动态明细浏览数据。拆分视图并排比较不同的时间范围,查询和数据源。

探索日志

体验使用保留标签过滤器从指标切换到日志的魔力。快速搜索所有日志或实时流式传输。与Loki数据源配合使用效果最佳,但很快就会提供更多支持。

警示

直观地定义最重要指标的警报规则。Grafana将不断评估并向SlackPagerDutyVictorOpsOpsGenie等系统发送通知

混合数据源

在同一张图中混合使用不同的数据源!您可以基于每个查询指定数据源。这甚至适用于自定义数据源。

注解

使用来自不同数据源的丰富事件对图形进行注释。将鼠标悬停在事件上会显示完整的事件元数据和标签。

临时过滤器

使用临时过滤器,您可以即时创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

 

Install Grafana 

1.下载并安装

您可以使用我们的官方APT存储库,下载.deb软件包或下载二进制.tar.gz文件来安装Grafana 

从APT存储库安装

如果从APT信息库安装,则每次运行Grafana都会自动更新apt-get update

Grafana版本资料库
Grafana OSS 格拉那 https://packages.grafana.com/oss/deb stable main
Grafana OSS(测试版) 格拉那 https://packages.grafana.com/oss/deb beta main
格拉法纳企业 企业 https://packages.grafana.com/enterprise/deb stable main
Grafana Enterprise(测试版) 企业 https://packages.grafana.com/enterprise/deb beta main

我们建议所有用户安装Grafana企业版,该版本可通过Grafana Enterprise 订阅进行无缝升​​级

要安装最新的企业版:

sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -


# Alternatively you can add the beta repository, see in the table above
sudo add-apt-repository "deb https://packages.grafana.com/enterprise/deb stable main"

sudo apt-get update
sudo apt-get install grafana-enterprise

 

要安装最新的OSS版本:

sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

# Alternatively you can add the beta repository, see in the table above
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

sudo apt-get update
sudo apt-get install grafana

 

设置ARM的存储库

如果您在使用时遇到问题add-apt-repository,则可以不使用它来设置存储库。

添加此存储库以获得稳定版本:

echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list 

 

如果您想要Beta版本,请添加此存储库:

echo "deb https://packages.grafana.com/oss/deb beta main" | sudo tee -a /etc/apt/sources.list.d/grafana.list 

 

安装.deb软件包

如果安装.deb软件包,则需要为每个新版本手动更新Grafana。

  1. Grafana下载页面上,选择要安装的Grafana版本。
    • 默认情况下,会选择最新的Grafana版本。
    • “ 版本”字段仅显示完成的版本。如果要安装Beta版本,请单击Nightly Builds,然后选择一个版本。
  2. 选择一个版本
    • 企业版 -推荐下载。在功能上与开源版本相同,但包括一些功能,您可以选择使用许可证进行解锁。
    • 开源 -在功能上与企业版相同,但是如果需要企业功能,则需要下载企业版。
  3. 根据运行的系统,单击LinuxARM
  4. 将安装页面中的代码复制并粘贴到命令行中并运行。它遵循以下所示的模式。
sudo apt-get install -y adduser libfontconfig1
wget <.deb package url>
sudo dpkg -i grafana<edition>_<version>_amd64.deb

 

从二进制.tar.gz文件安装

下载最新.tar.gz文件并解压缩。文件解压缩到以您下载的Grafana版本命名的文件夹中。该文件夹包含运行Grafana所需的所有文件。该软件包中没有初始化脚本或安装脚本。

wget <tar.gz package url>
sudo tar -zxvf <tar.gz package>

 

2.启动服务器

grafana-server将以grafana用户身份启动该过程,过程是在软件包安装期间创建的。

如果安装了APT存储库或.deb软件包,则可以使用systemd启动服务器init.d如果安装了二进制.tar.gz文件,则需要执行二进制文件。

用systemd启动服务器

要启动服务并验证服务已启动:

sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl status grafana-server

 

配置Grafana服务器以在启动时启动:

sudo systemctl enable grafana-server.service

 

用init.d启动服务器

要启动服务并验证服务已启动:

sudo service grafana-server start
sudo service grafana-server status

 

配置Grafana服务器以在启动时启动:

sudo update-rc.d grafana-server defaults

 

执行二进制

grafana-server二进制名为.tar.gz需要工作目录是根安装目录,其中二进制文件以及public文件夹的位置。

通过运行以下命令启动Grafana:

./bin/grafana-server web

 

包装细节

  • 将二进制文件安装到 /usr/sbin/grafana-server
  • 将Init.d脚本安装到 /etc/init.d/grafana-server
  • 创建默认文件(环境变量)以 /etc/default/grafana-server
  • 将配置文件安装到 /etc/grafana/grafana.ini
  • 安装systemd服务(如果有systemd可用)名称 grafana-server.service
  • 默认配置将日志文件设置为 /var/log/grafana/grafana.log
  • 默认配置在以下位置指定sqlite3 db /var/lib/grafana/grafana.db
  • 在以下位置安装HTML / JS / CSS和其他Grafana文件 /usr/share/grafana

入门

本指南将帮助您入门并熟悉Grafana。

安装Grafana 

此步骤因您的计算机操作系统而异。有关说明,请参阅“ 安装”部分中有关您的操作系统的说明。

首次登录

  1. 打开您的Web浏览器,然后转到http:// localhost:3000 /3000如果未配置其他端口,则是Grafana侦听的默认HTTP端口。
  2. 在登录页面上,输入admin用户名和密码。
  3. 更改您的密码。

注意:我们强烈建议您遵循Grafana最佳做法并更改默认管理员密码。不要忘记记录您的凭据!

创建一个仪表板

  1. 点击新建信息中心
  2. 点击添加查询Grafana使用Random Walk场景创建一个基本的图形面板。
  3. 保存仪表板。点击屏幕右上角保存信息中心图标。

恭喜,您已经开始使用Grafana!您有一个仪表板并正在显示结果。随意尝试自己构建的内容,继续添加其他数据源,或探索下一步

添加一个数据源

在创建第一个真实仪表板之前,需要添加数据源。

首先将光标移到侧面菜单上的齿轮上,这将向您显示配置菜单。如果看不到侧面菜单,请单击左上角的Grafana图标。配置菜单上的第一项是数据源,单击它,您将被带到“数据源”页面,您可以在其中添加和编辑数据源。您也可以简单地单击齿轮。

单击添加数据源,您将进入新数据源的设置页面。

首先,为数据源命名,然后选择要创建的数据类型,请参阅支持的数据源以获取更多信息以及如何配置数据源。

配置数据源后,就可以保存和测试了。

配置

Grafana有许多配置选项,您可以在.ini配置文件中指定或使用环境变量指定。

注意:必须重新启动Grafana才能使所有配置更改生效。

配置文件位置

不要改变defaults.iniGrafana默认值存储在此文件中。根据您的操作系统,在custom.ini或中进行所有配置更改grafana.ini

  • 默认配置来自 $WORKING_DIR/conf/defaults.ini
  • 来自的自定义配置 $WORKING_DIR/conf/custom.ini
  • 可以使用--config参数覆盖自定义配置文件路径

Linux的

如果使用debrpm软件包安装了Grafana ,则您的配置文件位于,/etc/grafana/grafana.ini并且custom.ini不使用单独的文件此路径在Grafana init.d脚本中使用--configfile参数指定。

泊坞窗

请参阅配置Grafana Docker映像,以获取有关环境变量,持久存储和构建自定义Docker映像的信息。

窗口

sample.ini与所在的目录相同,defaults.ini并且包含所有注释掉的设置。复制sample.ini并命名custom.ini

MacOS的

默认情况下,配置文件位于/usr/local/etc/grafana/grafana.ini要配置Grafana,请custom.iniconf文件夹中添加一个名为的配置文件以覆盖中定义的任何设置conf/defaults.ini

评论在.ini文件

分号(;字符)是注释.ini文件中各行的标准方法如果要更改设置,则必须先删除;设置前面的分号(),然后才能起作用。

# The http port  to use
;http_port = 3000

一个常见的问题是忘记对custom.ini(或grafana.ini)文件中的一行取消注释,这会导致忽略配置选项。

使用环境变量进行配置

可以使用以下语法使用环境变量来覆盖配置文件中的所有选项:

GF_<SectionName>_<KeyName>

其中部分名称是方括号内的文本。一切都应为大写,.应以代替_例如,如果您具有以下配置设置:

# default section
instance_name = ${HOSTNAME}

[security]
admin_user = admin

[auth.google]
client_secret = 0ldS3cretKey

您可以使用以下命令在Linux计算机上覆盖它们:

export GF_DEFAULT_INSTANCE_NAME=my-instance
export GF_SECURITY_ADMIN_USER=owner
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey

为了使对任何更改conf/grafana.ini(或相应的环境变量)生效,必须重新启动Grafana才能使更改生效。

INSTANCE_NAME 

设置grafana服务器实例的名称。用于日志记录和内部指标以及群集信息。默认值为:${HOSTNAME},将用环境变量替换HOSTNAME,如果该变量为空或不存在,则Grafana将尝试使用系统调用来获取计算机名称。

[路径] 

数据

Grafana存储sqlite3数据库(如果使用),基于文件的会话(如果使用)和其他数据的路径。通常通过init.d脚本或systemd服务文件中的命令行指定此路径。

macOS:默认的SQLite数据库位于/usr/local/var/lib/grafana

temp_data_lifetime 

data目录中的临时映像应保留多长时间默认值为:24h支持改性剂:h(小时), m分钟),例如:168h30m10h30m使用0从不清理临时文件。

日志

Grafana将存储日志的路径。通常通过init.d脚本或systemd服务文件中的命令行指定此路径。您可以在配置文件或默认环境变量文件中覆盖它。但是,请注意,通过覆盖此默认日志路径将临时使用,直到Grafana完全初始化/启动为止。

使用命令行参数覆盖日志路径cfg:default.paths.log

./grafana-server --config /custom/config.ini --homepath /custom/homepath cfg:default.paths.logs=/custom/path

macOS:默认情况下,日志文件应位于/usr/local/var/log/grafana/grafana.log

插件

Grafana将自动扫描并查找插件的目录。在此处手动或自动安装任何插件。

macOS:默认情况下,Mac插件位置为:/usr/local/var/lib/grafana/plugins

设置

文件夹包含置备配置文件grafana将应用在启动时。json文件更改时,仪表板将重新加载

[服务器] 

http_addr 

绑定的IP地址。如果为空将绑定到所有接口

HTTP_PORT 

要绑定的端口,默认为3000要使用端口80,您需要授予Grafana二进制权限,例如:

$ sudo setcap 'cap_net_bind_service=+ep' /usr/sbin/grafana-server

或使用以下命令将端口80重定向到Grafana端口:

$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000

另一种方法是将像Nginx或Apache这样的Web服务器放在Grafana前面,并让它们向Grafana代理请求。

协议

httphttpsh2或者socket

注意:早于3.0的Grafana版本易受POODLE攻击因此,我们强烈建议升级到3.x或使用反向代理进行ssl终止。

套接字

时应在其中创建套接字的路径protocol=socket请确保Grafana具有适当的权限。

此设置仅用作root_url设置的一部分(请参阅下文)。如果您使用GitHub或Google OAuth,则非常重要。

执行域

如果主机头不匹配域,则重定向到正确的域。防止DNS重新绑定攻击。默认值为false

root_url 

这是用于从Web浏览器访问Grafana的完整URL。如果您使用Google或GitHub OAuth身份验证(对于正确的回调URL),这一点很重要。

注意:如果您在Grafana前面有一个反向代理通过子路径将其公开,则此设置也很重要。在这种情况下,请将子路径添加到此URL设置的末尾。

serve_from_sub_path 

6.3及更高版本可用

root_url设置中指定的子路径服务Grafana 默认情况下,false出于兼容性原因将其设置为。

通过启用此设置并使用root_url上面的子路径,例如 root_url = http://localhost:3000/grafana,可以在上访问Grafana http://localhost:3000/grafana

static_root_path 

前端文件(HTML,JS和CSS文件)所在目录的路径。默认值public是为什么需要在工作目录设置为安装路径的情况下执行Grafana二进制文件的原因。

enable_gzip 

设置此选项以true启用HTTP压缩,这样可以提高传输速度和带宽利用率。建议大多数用户将其设置为true默认情况下,false出于兼容性原因将其设置为。

cert_file中

证书文件的路径(如果protocol设置为httpsh2)。

cert_key 

证书密钥文件的路径(如果protocol设置为httpsh2)。

router_logging 

设置true为Grafana记录所有HTTP请求(不仅是错误)。这些作为信息级别事件记录到grafana日志中。


[数据库] 

Grafana需要一个数据库来存储用户和仪表板(和其他东西)。默认情况下,它配置为使用sqlite3哪个是嵌入式数据库(包含在主Grafana二进制文件中)。

网址

使用URL或下面的其他字段来配置数据库示例: mysql://user:secret@host:port/database

类型

要么mysqlpostgres或者sqlite3,它是你的选择。

路径

仅适用于sqlite3数据库。数据库将存储的文件路径。

主机

仅适用于MySQL或Postgres。包括IP或主机名和端口,或者在Unix套接字的情况下包括其路径。例如,对于与Grafana:host = 127.0.0.1:3306或Unix套接字运行在同一主机上的MySQL host = /var/run/mysqld/mysqld.sock

名字

Grafana数据库的名称。将其设置为grafana或其他名称。

用户

数据库用户(不适用于sqlite3)。

密码

数据库用户的密码(不适用于sqlite3)。如果密码包含#;必须用三引号引起来。例如"""#password;"""

ssl_mode 

对于Postgres的,使用disablerequireverify-full对于MySQL,使用truefalseskip-verify

ca_cert_path 

要使用的CA证书的路径。在许多Linux系统上,可以在中找到证书/etc/ssl/certs

client_key_path 

客户端密钥的路径。仅当服务器需要客户端身份验证时。

client_cert_path 

客户端证书的路径。仅当服务器需要客户端身份验证时。

server_cert_name 

mysqlpostgres服务器使用的证书的通用名称字段如果ssl_mode设置为,则不需要skip-verify

max_idle_conn 

空闲连接池中的最大连接数。

max_open_conn 

与数据库的最大打开连接数。

conn_max_lifetime 

设置可以重用连接的最长时间。默认值为14400(表示14400秒或4小时)。对于MySQL,此设置应短于wait_timeout变量。

log_queries 

设置为true记录sql调用和执行时间。

cache_mode 

仅适用于“ sqlite3”。用于连接数据库的共享缓存设置。(私有,共享)默认为private


[remote_cache] 

类型

要么redismemcacheddatabase默认为database

connstr 

远程缓存连接字符串。格式取决于type远程缓存的格式

数据库

使用时保留为空,database因为它将使用主数据库。

Redis

Example connstr: addr=127.0.0.1:6379,pool_size=100,db=0,ssl=false

  • addr is the host : port of the redis server.
  • pool_size (optional) is the number of underlying connections that can be made to redis.
  • db (optional) is the number indentifer of the redis database you want to use.
  • ssl (optional) is if SSL should be used to connect to redis server. The value may be truefalse, or insecure. Setting the value to insecure skips verification of the certificate chain and hostname when making the connection.

Memcache

Example connstr: 127.0.0.1:11211


[security]

disable_initial_admin_creation

Only available in Grafana v6.5+.

Disable creation of admin user on first start of grafana.

admin_user

The name of the default Grafana admin user (who has full permissions). Defaults to admin.

admin_password

The password of the default Grafana admin. Set once on first-run. Defaults to admin.

login_remember_days

The number of days the keep me logged in / remember me cookie lasts.

secret_key

Used for signing some data source settings like secrets and passwords, the encryption format used is AES-256 in CFB mode. Cannot be changed without requiring an update to data source settings to re-encode them.

disable_gravatar

Set to true to disable the use of Gravatar for user profile images. Default is false.

data_source_proxy_whitelist

Define a whitelist of allowed IP addresses or domains, with ports, to be used in data source URLs with the Grafana data source proxy. Format: ip_or_domain:port separated by spaces. PostgreSQL, MySQL, and MSSQL data sources do not use the proxy and are therefore unaffected by this setting.

Set to true if you host Grafana behind HTTPS. Default is false.

Sets the SameSite cookie attribute and prevents the browser from sending this cookie along with cross-site requests. The main goal is to mitigate the risk of cross-origin information leakage. This setting also provides some protection against cross-site request forgery attacks (CSRF), read more about SameSite here. Valid values are laxstrictnone, and disabled. Default is lax. Using value disabled does not add any SameSite attribute to cookies.

allow_embedding

When false, the HTTP header X-Frame-Options: deny will be set in Grafana HTTP responses which will instruct browsers to not allow rendering Grafana in a <frame><iframe><embed> or <object>. The main goal is to mitigate the risk of Clickjacking. Default is false.

strict_transport_security

Set to true if you want to enable HTTP Strict-Transport-Security (HSTS) response header. This is only sent when HTTPS is enabled in this configuration. HSTS tells browsers that the site should only be accessed using HTTPS. The default value is false until the next minor release, 6.3.

strict_transport_security_max_age_seconds

设置浏览器应在几秒钟内缓存HSTS的时间。仅在启用strict_transport_security时应用。默认值为86400

strict_transport_security_preload 

设置为true是否启用HSTS preloading选项。仅在启用strict_transport_security时应用。默认值为false

strict_transport_security_subdomains 

设置为true是否启用HSTS includeSubDomains选项。仅在启用strict_transport_security时应用。默认值为false

x_content_type_options 

设置为true启用X-Content-Type-Options响应标头。X-Content-Type-Options响应HTTP标头是服务器使用的标记,用于指示不应更改和遵循Content-Type标头中通告的MIME类型。默认值为false直到下一个次要发行版6.3

x_xss_protection 

设置为false禁用X-XSS-Protection标头,该标头指示浏览器在检测到反射的跨站点脚本(XSS)攻击时停止加载页面。默认值为false直到下一个次要发行版6.3


[用户] 

allow_sign_up 

设置为false禁止用户能够注册/创建用户帐户。默认为false管理员用户仍然可以从Grafana管理员页面创建用户

allow_org_create 

设置为false禁止用户创建新组织。默认为false

auto_assign_org 

设置为true自动将新用户添加到主要组织(标识1)。设置为时false,新用户将自动导致为该新用户创建一个新组织。

auto_assign_org_id 

设置此值可将新用户自动添加到提供的组织中。这需要auto_assign_org设置为true请确保该组织已经存在。

auto_assign_org_role 

将为主要组织分配新用户的角色(如果上述设置设置为true)。默认为Viewer,其他有效选项为AdminEditor例如:

auto_assign_org_role = Viewer

viewers_can_edit 

查看者可以在浏览器中编辑/检查仪表板设置,但不能保存仪表板。默认为false

editors_can_admin 

编辑者可以管理他们创建的仪表板,文件夹和团队。默认为false

login_hint 

在登录页面上用作占位符文本的文本,用于输入登录名/用户名。

password_hint 

在登录页面上用作占位符文本的文本,用于输入密码。


[认证] 

Grafana提供了多种验证用户身份的方法。身份验证文档已分为以下许多不同的页面。

[dataproxy] 

记录

这将启用数据代理日志记录,默认值为false

超时

数据代理在超时之前应等待多长时间。默认值为30(秒)

send_user_header 

如果启用并且用户不是匿名用户,则数据代理会将带有用户名的X-Grafana-User标头添加到请求中。默认值为false


[分析] 

reporting_enabled 

启用后,Grafana会将匿名使用情况统计信息发送到 stats.grafana.org没有跟踪IP地址,只有简单的计数器可以跟踪正在运行的实例,版本,仪表板和错误计数。这对我们非常有帮助,因此请启用此功能。计数器每24小时发送一次。默认值为true

google_analytics_ua_id 

如果您想通过Google Analytics(分析)跟踪Grafana的使用情况,在此处指定您的 Universal Analytics ID。默认情况下,此功能处于禁用状态。

check_for_updates 

设置为false可禁用对https://grafana.com的所有已安装插件的新版本的检查,以及对Grafana GitHub存储库的检查,以检查是否有较新版本的Grafana。在某些UI视图中使用版本信息来通知存在新的Grafana更新或插件更新。此选项不会导致任何自动更新,也不会发送任何敏感信息。该检查每10分钟运行一次。


[仪表板] 

versions_to_keep 

编号要保留的仪表板版本(每个仪表板)。默认值:20,最小值:1

min_refresh_interval 

仅在Grafana v6.7 +中可用。

设置后,这将限制用户将仪表板的刷新间隔设置为低于给定间隔。默认情况下,未设置/不限制此设置。间隔字符串是可能带符号的十进制数字序列,后跟一个单位后缀(ms,s,m,h,d),例如30s1m

[dashboards.json] 

在5.0+中已将其替换为仪表板配置

启用

truefalse默认情况下处于禁用状态。

路径

包含json仪表板的目录的完整路径。

[smtp] 

电子邮件服务器设置。

启用

默认为 false

主机

默认为 localhost:25

用户

如果是SMTP身份验证,则默认为 empty

密码

如果是SMTP身份验证,则默认为 empty

cert_file中

证书文件的文件路径,默认为 empty

KEY_FILE 

密钥文件的文件路径,默认为 empty

skip_verify 

验证SSL的SSL服务器?默认为false

FROM_ADDRESS 

发送电子邮件时使用的地址,默认为 admin@grafana.localhost

FROM_NAME 

发送电子邮件时使用的名称,默认为 Grafana

ehlo_identity 

在SMTP对话框中用作EHLO客户端身份的名称,默认为instance_name。

[日志] 

模式

“控制台”,“文件”,“系统日志”。默认值为“控制台”和“文件”。使用空格分隔多个模式,例如console file

级别

“调试”,“信息”,“警告”,“错误”,“严重”中的任何一个,默认值为info

过滤器

可选设置,可为特定记录器设置不同级别。例如filters = sqlstore:debug

[log.console] 

仅在[log]模式下使用“控制台”时适用

级别

默认情况下,“调试”,“信息”,“警告”,“错误”,“严重”都是从[log]级别继承的

格式

日志行格式,有效选项为text,console和json。默认值为console

[log.file] 

仅在[log]模式下使用“文件”时适用

级别

默认情况下,“调试”,“信息”,“警告”,“错误”,“严重”都是从[log]级别继承的

格式

日志行格式,有效选项为text,console和json。默认值为console

log_rotate 

启用自动日志轮换,有效选项为false或true。默认值为true当启用时使用max_linesmax_size_shiftdaily_rotatemax_days下面配置日志旋转的行为。

MAX_LINES 

轮换之前每个文件的最大行数。默认值为1000000。

max_size_shift 

旋转文件前的最大大小。默认值是28该装置1 << 28256MB

daily_rotate 

启用文件的每日轮换,有效选项为false或true。默认值为true

MAX_DAYS 

保留日志文件的最大天数。默认值为7

[log.syslog] 

仅在[log]模式下使用“ syslog”时适用

级别

默认情况下,“调试”,“信息”,“警告”,“错误”,“严重”都是从[log]级别继承的

格式

日志行格式,有效选项为text,console和json。默认值为console

网络和地址

Syslog网络类型和地址。可以是udp,tcp或unix。如果留为空白,将使用默认的unix端点。

设施

Syslog工具。有效选项是user,daemon或local0到local7。默认为空。

标签

Syslog标签。默认情况下,使用进程的argv[0]

[指标] 

启用

启用指标报告。默认为true。可通过HTTP API获得/metrics

basic_auth_username 

如果设置,则将用户名配置为用于度量标准端点上的基本身份验证。

basic_auth_password 

如果设置,则配置密码以用于度量标准端点上的基本身份验证。

disable_total_stats 

如果设置为true,则stat_totals_*禁用总统计信息生成(指标)。默认值为false

interval_seconds这些

将指标发送到外部TSDB时的刷新/写入间隔。默认为10秒。

[metrics.graphite] 

如果要将内部Grafana指标发送到Graphite,请包括此部分。

地址

格式<Hostname or ip>:端口

前缀

石墨度量标准前缀。默认为prod.grafana.%(instance_name)s.

[快照] 

external_enabled 

设置为false禁用外部快照发布端点(默认true

external_snapshot_url 

将根URL设置为要在其中发布外部快照的Grafana实例(默认为https://snapshots-origin.raintank.io

external_snapshot_name 

设置外部快照按钮的名称。默认为Publish to snapshot.raintank.io

snapshot_remove_expired 

启用以自动删除过期的快照

[external_image_storage] 

这些选项控制应如何公开图像,以便可以在诸如松弛之类的服务上共享图像。

提供者

您可以选择(s3,webdav,gcs,azure_blob,本地)。如果保留为空,则Grafana将忽略上传操作。

[external_image_storage.s3] 

端点

可选的端点URL(主机名或标准URI),以覆盖默认生成的S3端点。如果要保留默认值,则将其保留为空。region如果指定端点,则仍必须提供一个值。

path_style_access 

将此值设置为true可在S3请求中强制使用路径样式寻址,即http://s3.amazonaws.com/BUCKET/KEY,而不是默认值,即在可能的情况下使用虚拟托管存储区寻址(http://BUCKET.s3.amazonaws.com/KEY)。

注意:此选项特定于Amazon S3服务。

S3的存储桶名称。例如grafana.snapshot。

区域

S3的区域名称。例如'us-east-1','cn-north-1'等。

路径

值区中的可选额外路径,适用于应用到期策略。

bucket_url 

(为了向后兼容,仅在未配置存储桶或区域的情况下才有效)S3的存储桶URL。可以在URL中指定AWS区域,或默认为'us-east-1',例如-http : //grafana.s3.amazonaws.com/-https : //grafana.s3-ap-southeast-2.amazonaws.com /

access_key 

访问密钥,例如AAAAAAAAAAAAAAAAAAAAAAA。

访问密钥需要对“ s3:PutObject”和“ s3:PutObjectAcl”操作具有S3存储桶的权限。

SECRET_KEY 

密钥,例如AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA。

[external_image_storage.webdav] 

网址

Grafana将发送带有图像的PUT请求的URL

public_url 

可选参数。在通知中发送给用户的URL。如果字符串包含序列$ {file},它将被上载的文件名替换。否则,文件名将附加到URL的路径部分,而所有查询字符串均保持不变。

用户名

基本身份验证用户名

密码

基本身份验证密码

[external_image_storage.gcs] 

KEY_FILE 

与要认证和授权的Google服务帐户关联的JSON密钥文件的路径。可以从https://console.developers.google.com/permissions/serviceaccounts创建和下载服务帐户密钥

服务帐户应具有“存储对象编写器”角色。存储桶的访问控制模型需要为“设置对象级别和存储桶级别权限”。Grafana本身将使图像公开可读。

Google Cloud Storage上的存储桶名称。

路径

铲斗内可选的额外路径

[external_image_storage.azure_blob] 

ACCOUNT_NAME 

储存帐号名称

account_key 

存储帐户密钥

CONTAINER_NAME 

容器名称,用于存储带有随机名称的“ Blob”图像。需要预先创建Blob容器。仅支持公共容器。

[警告] 

启用

默认为true设置为false禁用警报引擎并从UI隐藏警报。

execute_alerts 

使关闭警报规则执行成为可能。

error_or_timeout 

5.3及更高版本中可用

新警报规则的默认设置。默认将错误和超时分类为警报。(更改,保持状态)

nodata_or_nullvalues 

5.3及更高版本中可用

Grafana如何处理警报中的无数据或空值的默认设置。(提示,no_data,keep_state,确定)

concurrent_render_limit 

5.3及更高版本中可用

警报通知可以包含图像,但是同时渲染许多图像可能会使服务器超载。此限制将保护服务器免受渲染过载的影响,并确保快速发送通知。默认值为5

evaluation_timeout_seconds 

警报计算超时的默认设置。默认值为30

notification_timeout_seconds 

警报通知超时的默认设置。默认值为30

MAX_ATTEMPTS次

最大尝试发送警报通知的默认设置。默认值为3

min_interval_seconds 

规则评估之间的最小间隔的默认设置。默认值为1

注意。此设置优先于每个单独的规则频率。因此,如果规则频率低于此值,则将强制执行此值。

[渲染] 

用于配置远程HTTP图像呈现服务的选项,例如,使用https://github.com/grafana/grafana-image-renderer

SERVER_URL 

远程HTTP图像渲染器服务的URL,例如http:// localhost:8081 / render,将使Grafana能够使用对外部服务的HTTP请求将面板和仪表板渲染为PNG图像。

callback_url 

如果远程HTTP图像渲染器服务在与Grafana服务器不同的服务器上运行,则可能必须将其配置为可访问Grafana的URL,例如http://grafana.domain/

[面板] 

disable_sanitize_html 

如果设置为true,则Grafana将允许文本面板中的脚本标签。不建议使用它,因为它启用了XSS漏洞。默认为false。此设置在Grafana v6.0中引入。

[插件] 

enable_alpha 

如果您要测试尚不适合常规使用的Alpha插件,请设置为true。

[feature_toggles] 

启用

要启用的Alpha功能键,以空格分隔。可用的alpha功能包括:transformations

[tracing.jaeger] 

配置Grafana的Jaeger客户端以进行分布式跟踪。

您还可以使用标准JAEGER_*环境变量来配置Jaeger。有关 完整列表,请参见https://www.jaegertracing.io/docs/1.16/client-features/末尾的表。环境变量将覆盖此处提供的任何设置。

地址

报告跨度的host:port目标。(例如:localhost:6381

可以使用环境变量JAEGER_AGENT_HOST和设置JAEGER_AGENT_PORT

always_included_tag 

以逗号分隔的标签列表,包括在所有新范围中,例如tag1:value1,tag2:value2

可以使用环境变量进行设置JAEGER_TAGS=代替环境变量使用:)。

sampler_type 

默认值为const

指定采样类型:constprobabilisticratelimiting,或remote

有关不同跟踪类型的详细信息,请参见https://www.jaegertracing.io/docs/1.16/sampling/#client-sampling-configuration

可以使用环境变量进行设置JAEGER_SAMPLER_TYPE

sampler_param 

默认值为1

这是采样器配置参数。取决于的值sampler_type,它可以是01,或在之间的十进制值。

  • 对于const采样器,01用于总是falsetrue分别
  • 对于probabilistic采样器,介于0之间的概率1.0
  • 对于rateLimiting采样器,每秒的跨度数
  • 对于remote采样器,参数与for相同probabilistic ,表示从母舰收到实际采样率之前的初始采样率

可以使用环境变量设置JAEGER_SAMPLER_PARAM

zipkin_propagation 

默认值为false

控制是否使用Zipkin的跨度传播格式(带有x-b3-HTTP标头)。默认情况下,使用Jaeger格式。

可以设置环境变量和值JAEGER_PROPAGATION=b3

disable_shared_zipkin_spans 

默认值为false

设置为true关闭共享的RPC范围。在基础架构中其他位置使用Zipkin时,最常使用此设置。


删除的选项

请注意,这些选项已被删除。

[会话] 

从Grafana v6.2开始删除。请改用remote_cache选项。

提供者

有效值为memoryfilemysqlpostgresmemcacheredis默认值为file

provider_config 

根据您配置的会话提供程序的类型,应该对此选项进行不同的配置。

  • 文件:会话文件路径,例如data/sessions
  • mysql: go-sql-driver / mysql dsn配置字符串,例如user:password@tcp(127.0.0.1:3306)/database_name
  • postgres:例如: user=a password=b host=localhost port=5432 dbname=c sslmode=verify-full
  • 内存缓存:例如: 127.0.0.1:11211
  • redis:例如:addr=127.0.0.1:6379,pool_size=100,prefix=grafana对于Unix套接字,请使用例如:network=unix,addr=/var/run/redis/redis.sock,pool_size=100,db=grafana

Postgres的有效的sslmodedisablerequireverify-ca,和verify-full(默认值)。

Grafana会话cookie的名称。

如果仅在HTTPS之后托管Grafana,则设置为true。默认为false

session_life_time 

会话持续多长时间(以秒为单位)。默认为86400(24小时)。

配置Grafana Docker镜像

如果在Docker映像中运行Grafana,则可以使用环境变量配置Grafana,而不是直接编辑配置文件。如果要保存数据,则还需要为Grafana容器指定永久性存储或绑定装载。

保存您的Grafana数据

如果您未指定信息存储位置,则停止图像后,所有Grafana数据都会消失。要保存数据,您需要为容器设置永久性存储或绑定装载。

# create a persistent volume for your data in /var/lib/grafana (database and plugins)
docker volume create grafana-storage

# start grafana
docker run -d -p 3000:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana

使用绑定挂载运行Grafana容器

您可能想在Docker中运行Grafana,但将主机上的文件夹用于数据库或配置。这样做时,请能够访问并写入您映射到容器中的文件夹的用户启动容器非常重要。

mkdir data # creates a folder for your data
ID=$(id -u) # saves your user id in the ID variable

# starts grafana with your user id and using the data folder
docker run -d --user $ID --volume "$PWD/data:/var/lib/grafana" -p 3000:3000 grafana/grafana:5.1.0

默认路径

在启动Grafana Docker容器时,以下设置是硬编码的,并且只能使用环境变量而不是在中进行覆盖conf/grafana.ini

设置默认值
GF_PATHS_CONFIG /etc/grafana/grafana.ini
GF_PATHS_DATA / var / lib / grafana
GF_PATHS_HOME / usr / share / grafana
GF_PATHS_LOGS / var / log / grafana
GF_PATHS_PLUGINS / var / lib / grafana / plugins
GF_PATHS_PROVISIONING / etc / grafana / provisioning

配置Grafana与码头工人秘密

仅在Grafana v5.2和更高版本中可用。

可以通过文件为Grafana提供配置。这与Docker Secrets配合得很好,因为默认情况下,这些机密会映射到/run/secrets/<name of secret>容器中。

您可以使用conf / grafana.ini中的任何配置选项来执行此操作,方法是将其设置GF_<SectionName>_<KeyName>__FILE为包含密钥的文件的路径。

例如,您可以通过以下方式设置管理员密码:

  • 管理员密码机密: /run/secrets/admin_password
  • 环境变量: GF_SECURITY_ADMIN_PASSWORD__FILE=/run/secrets/admin_password

为CloudWatch支持配置AWS凭证

docker run -d \
-p 3000:3000 \
--name=grafana \
-e "GF_AWS_PROFILES=default" \
-e "GF_AWS_default_ACCESS_KEY_ID=YOUR_ACCESS_KEY" \
-e "GF_AWS_default_SECRET_ACCESS_KEY=YOUR_SECRET_KEY" \
-e "GF_AWS_default_REGION=us-east-1" \
grafana/grafana

您也可以指定多个配置文件GF_AWS_PROFILES(例如 GF_AWS_PROFILES=default another)。

支持的变量:

  • GF_AWS_${profile}_ACCESS_KEY_ID:AWS访问密钥ID(必需)。
  • GF_AWS_${profile}_SECRET_ACCESS_KEY:AWS秘密访问密钥(必需)。
  • GF_AWS_${profile}_REGION:AWS区域(可选)。

安全

如果您在Grafana服务器上或其本地网络中运行非Grafana Web服务,则它们可能容易受到Grafana数据源代理或其他方法的利用。

为防止发生这种类型的利用,我们建议您采用下面列出的一项或多项预防措施。

限制数据源URL的IP地址/主机名

您可以将Grafana配置为仅允许将某些IP地址或主机名用作数据源URL,并通过Grafana数据源代理进行代理。有关使用说明,请参考data_source_proxy_whitelist

防火墙规则

配置防火墙以限制Grafana向敏感的内部Web服务发出网络请求。

有许多可用的防火墙工具,请参阅特定安全工具的文档。例如,Linux用户可以使用iptables

代理服务器

要求Grafana发出的所有网络请求都必须通过代理服务器。

限制查看器查询权限

与浏览器角色的用户可以进入任何可能的查询任何的现有数据源组织,而不仅仅是那些对用户具有查看权限的仪表板定义的查询。

例如:在具有一个数据源,一个仪表板和一个定义了一个查询的面板的Grafana实例中,您可能假定查看者只能看到在该面板中定义的查询结果。实际上,查看器有权将任何查询发送到数据源。使用curl这样的命令行工具(有很多用于此目的的工具),查看器可以对数据源进行自己的查询,并有可能访问敏感数据。

要解决此漏洞,您可以通过以下方式限制数据源查询访问:

  • 创建多个数据源,并在数据源配置中添加一些限制访问权限的限制(例如数据库名称或凭据)。然后,使用“ 数据源权限企业”功能来限制用户访问Grafana中的数据源。
  • 创建一个单独的Grafana组织,然后在该组织中创建一个单独的数据源。确保数据源具有某些选项/用户/凭证设置,以限制对数据子集的访问。并非所有数据源都有限制访问的选项。

用户认证概述

Grafana提供了多种验证用户身份的方法。一些身份验证集成还可以同步用户权限和组织成员身份。

OAuth集成

LDAP集成

身份验证代理

  • 身份验证代理如果要使用反向代理在Grafana之外处理身份验证。

Grafana身份验证

当然,Grafana具有内置的用户身份验证系统,默认情况下启用了密码身份验证。您可以通过启用匿名访问来禁用身份验证。您还可以隐藏登录表单,仅允许通过身份验证提供程序(上面列出)登录。还有允许自我注册的选项。

登录和短暂令牌

当使用Grafana的内置用户身份验证,LDAP(无Auth代理)或OAuth集成时,以下内容适用。

Grafana正在使用短期令牌作为验证经过身份验证的用户的机制。这些短暂的令牌token_rotation_interval_minutes针对有效的经过身份验证的用户进行轮换

一个有效的经过身份验证的用户(使其获得令牌旋转)将延长login_maximum_inactive_lifetime_daysGrafana从“现在”起记住该用户的时间。这意味着用户可以关闭其浏览器,然后再次访问now + login_maximum_inactive_lifetime_days并仍然通过身份验证。只要自用户登录以来的时间少于,便是如此login_maximum_lifetime_days

远程登出

您可以通过从个人资料页面底部删除登录会话来从其他设备注销。如果您是Grafana管理员用户,则还可以从“服务器管理员” /“编辑用户”视图对任何用户执行相同的操作。

设置

例:

[auth]

# Login cookie name
login_cookie_name = grafana_session

# The lifetime (days) an authenticated user can be inactive before being required to login at next visit. Default is 7 days.
login_maximum_inactive_lifetime_days = 7

# The maximum lifetime (days) an authenticated user can be logged in since login time before being required to login. Default is 30 days.
login_maximum_lifetime_days = 30

# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
token_rotation_interval_minutes = 10

# The maximum lifetime (seconds) an api key can be used. If it is set all the api keys should have limited lifetime that is lower than this value.
api_key_max_seconds_to_live = -1

匿名身份验证

通过在配置文件中启用匿名访问,可以使Grafana无需任何登录即可访问。

例:

[auth.anonymous]
enabled = true

# Organization name that should be used for unauthenticated users
org_name = Main Org.

# Role for unauthenticated users, other valid values are `Editor` and `Admin`
org_role = Viewer

如果您在Grafana UI中更改组织名称,则需要更新此设置以匹配新名称。

基本身份验证

默认情况下,基本身份验证已启用,并与内置的Grafana用户密码身份验证系统和LDAP身份验证集成一起使用。

要禁用基本身份验证:

[auth.basic]
enabled = false

禁用登录表单

您可以使用以下配置设置隐藏Grafana登录表单。

[auth]
disable_login_form = true

自动OAuth登录

设置为true可自动尝试使用OAuth登录,并跳过登录屏幕。如果配置了多个OAuth提供程序,则忽略此设置。默认为false

[auth]
oauth_auto_login = true

隐藏退出菜单

将下面详述的选项设置为true,以隐藏退出菜单链接。如果您使用身份验证代理,则很有用。

[auth]
disable_signout_menu = true

注销后URL重定向

从Grafana注销后将用户重定向到的URL。例如,这可以用于启用从oauth提供者的注销。

[auth]
signout_redirect_url =


权限概述

Grafana用户拥有的权限取决于他们:

  • 组织角色(管理员,编辑者,查看者)
  • 通过团队分配特定权限的团队成员资格
  • 通过直接分配给用户的权限(在文件夹,仪表板,数据源上)
  • Grafana Admin(即Super Admin)用户标志。

用户

一个用户在Grafana指定帐户。用户可以属于一个或多个组织,并且可以通过角色分配不同级别的特权。

Grafana支持用户使用多种内部和外部方式进行身份验证。这些包括来自其自己的集成数据库,来自外部SQL Server或来自外部LDAP服务器的信息。

Grafana管理员

此admin标志使用户成为Super Admin这意味着他们可以访问Server Admin可以管理所有用户和组织视图。

组织角色

用户可以属于一个或多个组织。用户的组织成员资格与定义允许用户在该组织中执行的操作的角色相关联。Grafana支持多个组织,以支持多种部署模型,包括使用单个Grafana实例向多个可能不受信任的组织提供服务。

在大多数情况下,Grafana部署在单个组织中。

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

所有仪表板均归特定组织所有。

注意:大多数度量标准数据库不提供按用户系列的身份验证。这意味着组织数据源和仪表板可用于特定组织中的所有用户。

有关更多信息,请参考组织角色

仪表板和文件夹权限

仪表板和文件夹权限允许您删除编辑者和查看者的默认基于角色的权限,并将权限分配给特定的用户团队了解有关仪表板和文件夹权限的更多信息

数据源权限

默认情况下,组织中的任何用户都可以查询组织中的数据源。例如,具有Viewer角色的用户仍然可以对数据源发出任何可能的查询,而不仅仅是存在于他/她有权访问的仪表板上的那些查询。

数据源权限允许您更改数据源的默认权限,并将查询权限限制为特定的用户团队阅读有关数据源权限的更多信息

Grafana CLI 

Grafana CLI是与Grafana服务器捆绑在一起的小型可执行文件,应该在运行Grafana服务器的同一台计算机上执行。

Grafana CLI具有pluginsadmin命令以及全局选项。

列出所有命令和选项:

grafana-cli -h

Linux用户 某些命令(例如安装或删除插件)sudo才能运行。

Windows用户 一些命令(例如,安装或删除插件)要求您以管理员身份运行Windows PowerShell。

输入命令之前,请进入cdGrafana bin目录。默认路径是:

cd "C:\Program Files\GrafanaLabs\grafana\bin"

Grafana CLI命令语法

Grafana CLI中命令的常规语法为:

grafana-cli [global options] command [command options] [arguments...]

全局选项

Grafana CLI允许您临时覆盖某些Grafana默认设置。--help和之外--version,大多数全局选项仅由开发人员使用。

每个全局选项仅适用于使用该命令的命令。例如,--pluginsDir value不会永久更改Grafana保存插件的位置。它仅在应用该选项的命令中对其进行更改。

显示Grafana CLI帮助

--help-h显示帮助,包括默认路径和Docker配置信息。

例:

grafana-cli -h

显示Grafana CLI版本

--version-v打印当前正在运行的Grafana CLI的版本。

例:

grafana-cli -v

覆盖默认插件目录

--pluginsDir value覆盖本地Grafana实例存储插件的路径。如果要在默认目录(“ / var / lib / grafana / plugins”)[$ GF_PLUGIN_DIR]之外的其他位置安装,更新或删除插件,请使用此选项。

例:

grafana-cli --pluginsDir "/var/lib/grafana/devplugins" plugins install <plugin-id>

覆盖默认插件库

--repo value 允许您从默认Grafana存储库以外的资源库中下载和安装或更新插件。

例:

grafana-cli --repo "https://example.com/plugins" plugins install <plugin-id>

覆盖默认插件.zip 

--pluginUrl value 允许您从本地URL下载包含插件的.zip文件,而不是从默认的Grafana源下载它。

例:

grafana-cli --pluginUrl https://company.com/grafana/plugins/<plugin-id>-<plugin-version>.zip plugins install <plugin-id>

覆盖传输层安全

警告:关闭TLS是严重的安全风险。我们不建议使用此选项。

--insecure允许您关闭传输层安全性(TLS)验证(不安全)。如果要从非默认来源下载插件,则可能需要执行此操作。

例:

grafana-cli --insecure --pluginUrl https://company.com/grafana/plugins/<plugin-id>-<plugin-version>.zip plugins install <plugin-id>

启用调试日志记录

--debug-d启用调试日志记录。返回调试输出,并在终端中显示。

例:

grafana-cli --debug plugins install <plugin-id>

重写配置设置

--configOverrides 是一个命令行参数,其作用类似于环境变量覆盖。

例如,您可以使用它来将日志记录重定向到另一个文件(例如,将日志记录安装在Hosted Grafana之类的服务中),或者在重置管理员密码时,对于某些重要的配置值(例如数据库所在的位置),您可以使用非默认值位于)。

例:

grafana-cli --configOverrides cfg:default.paths.log=/dev/null plugins install <plugin-id>

覆盖HOMEPATH值

设置Grafana安装/主目录路径,默认为工作目录。如果使用CLI时位于Grafana安装目录中,则无需使用此选项。

例:

grafana-cli --homepath "c:\Program Files\grafana" admin reset-admin-password mynewpassword

覆盖配置文件

--config value覆盖Grafana期望配置文件的默认位置。有关配置Grafana和默认配置文件位置的更多信息,请参考配置

例:

grafana-cli admin reset-admin-password --config "/etc/configuration/" mynewpassword

插件命令

Grafana CLI允许您安装,升级和管理Grafana插件。有关安装插件的更多信息,请参阅插件页面

所有列出的命令均适用于Grafana默认存储库和目录。您可以使用Global Options覆盖默认值

列出可用的插件

grafana-cli plugins list-remote

安装最新版本的插件

grafana-cli plugins install <plugin-id>

安装特定版本的插件

grafana-cli plugins install <plugin-id> <version>

列出已安装的插件

grafana-cli plugins ls

更新所有已安装的插件

grafana-cli plugins update-all

更新一个插件

grafana-cli plugins update <plugin-id>

删除一个插件

grafana-cli plugins remove <plugin-id>

管理员命令

管理员命令仅在Grafana 4.1及更高版本中可用。

显示所有管理命令

grafana-cli admin

重置管理员密码

grafana-cli admin reset-admin-password <new password>使用CLI重置admin用户的密码。如果您丢失了管理员密码,则可能需要执行此操作。

如果有两个标志用于设置本地路径和配置文件路径,则运行命令将返回此错误:

找不到配置默认值,请确保设置了homepath命令行参数或工作目录为homepath

要更正此问题,请使用--homepathglobal选项为此命令指定Grafana默认的默认路径:

grafana-cli --homepath "/usr/share/grafana" admin reset-admin-password <new password>

如果您尚未丢失管理员密码,建议您在“用户首选项”或“服务器管理”>“用户”选项卡中更改用户密码。

如果需要在脚本中设置密码,则可以使用Grafana User API

迁移数据并加密密码

data-migration 运行用于迁移或清除数据库中数据的脚本。

encrypt-datasource-passwords将密码从不安全的字段迁移到secure_json_data字段。ok除非有错误,否则返回可以安全执行多次。

例:

grafana-cli admin data-migration encrypt-datasource-passwords

更多参考官方文档

相关资料

官网:https://grafana.com/

博客:https://www.jianshu.com/p/7e7e0d06709b

posted @ 2020-03-09 10:36  麦奇  阅读(5875)  评论(0编辑  收藏  举报