提供Grafana
在以前版本的Grafana中,您只能使用API来提供数据源和仪表板。但这需要在开始创建仪表板之前运行服务,而且还需要为HTTP API设置凭据。在v5.0中,我们决定通过添加一个使用配置文件的新的活动配置系统来改进这种体验。这将使GitOps更加自然,因为可以通过可以版本控制的文件定义数据源和仪表板。我们希望扩展这个系统,以便在以后添加对用户、组织和警报的支持。
配置文件
看到配置有关可以配置的内容的详细信息grafana.ini
.
配置文件位置
- 的默认配置
WORKING_DIR / conf / defaults.ini美元
- 自定义配置
WORKING_DIR / conf / custom.ini美元
- 方法可以覆盖自定义配置文件路径
——配置
参数
注意:如果您已经使用
黛比
或rpm
包,则配置文件位于/etc/grafana/grafana.ini
.该路径在Grafana初始化中指定。d脚本使用——配置
文件参数。
使用环境变量
可以在所有3种配置类型中使用环境变量插值。允许的语法是ENV_VAR_NAME美元
或$ {ENV_VAR_NAME}
并且只能用于值,而不能用于键或配置的更大部分。它在仪表板的定义文件中不可用,只有在仪表板配置配置中不可用。例子:
数据源:- name: Graphite url: http://localhost:$PORT user: $ user secureJsonData: password: $ password
如果你有一个字面量$
在你的价值和要避免插值,$ $
可以使用。
配置管理工具
目前我们不提供任何用于配置Grafana的脚本/清单。我们认为,与其花时间为每个工具学习和创建脚本/清单,不如把时间花在让Grafana更容易提供上。因此,我们非常依赖社区的专业知识。
数据源
该特性从v5.0开始可用
中添加一个或多个YAML配置文件,可以在Grafana中管理数据源配置/数据源
目录中。每个配置文件可以包含一个列表数据源
这将在启动期间被添加或更新。如果数据源已经存在,那么Grafana会更新它以匹配配置文件。配置文件还可以包含应该删除的数据源列表。这个列表叫做deleteDatasources
.中列出的数据源将被删除deleteDatasources
在插入/更新它们之前数据源
列表。
运行多个Grafana实例
如果您正在运行Grafana的多个实例,那么如果它们具有不同的版本,则可能会遇到问题datasource.yaml
配置文件。解决此问题的最佳方法是向配置中的每个数据源添加版本号,并在更新配置时增加版本号。Grafana只会更新与配置中指定的版本号相同或更低的数据源。这样,如果新配置与旧配置同时重新启动,旧配置就不能覆盖新配置。
数据源配置文件示例
deleteDatasources: - name: Graphite orgId: 1 #要插入/更新的数据源列表,这取决于数据库中可用的数据源:# 名称。Required - name: Graphite # 数据源类型。所需类型:graphite # 访问模式。代理或直接(用户界面中的服务器或浏览器)。必需访问:代理# org id。如果未指定,则默认为orgId 1 orgId: 1 # 自定义UID,该UID可用于在配置的其他部分引用此数据源,如果未指定,则自动生成UID: my_unique_uid # url url: http://localhost:8080 # 数据库用户,如果使用user: # 数据库名称,如果使用database: # enable/disable basic auth basicAuth: # basic auth username basicAuthUser:# 启用/禁用凭据标头withCredentials: # 标记为默认数据源。每个org最多一个isDefault: #
每个数据源的自定义设置
有关具体的配置示例,请参阅每个数据源文档。
数据源 | Misc |
---|---|
Elasticsearch | Elasticsearch使用数据库 属性来配置数据源的索引 |
JSON数据
因为不是所有数据源都有相同的配置设置,所以我们只使用最常见的配置设置作为字段。其余的应该作为json blob存储在jsonData
字段。下面是核心数据源使用的最常见的设置。
注意:数据源标记HTTP *下面是所有使用HTTP协议进行通信的数据源,例如除MySQL、PostgreSQL和MSSQL外的所有核心数据源插件。
的名字 | 类型 | 数据源 | 描述 |
---|---|---|---|
tlsAuth | 布尔 | HTTP *MySQL | 使用在secure json数据中配置的客户端证书启用TLS身份验证 |
tlsAuthWithCACert | 布尔 | HTTP *、MySQL、PostgreSQL | 使用CA证书启用TLS认证 |
tlsSkipVerify | 布尔 | HTTP *、MySQL、PostgreSQL、MSSQL | 控制客户端是否验证服务器的证书链和主机名。 |
serverName | 字符串 | HTTP *,该软件 | 可选的。控制用于证书公共名称/主题替代名称验证的服务器名称。默认使用数据源URL。 |
超时 | 字符串 | HTTP * | 请求超时(以秒为单位)。覆盖dataproxy。超时选项 |
graphiteVersion | 字符串 | 石墨 | 石墨的版本 |
timeInterval | 字符串 | Prometheus, Elasticsearch, InfluxDB, MySQL, PostgreSQL和MSSQL | 应用于此数据源的最小间隔/步长值。 |
httpMode | 字符串 | Influxdb | HTTP方法。' GET ', ' POST ',默认为GET |
maxSeries | 数量 | Influxdb | Grafana处理的最大序列/表数 |
httpMethod | 字符串 | 普罗米修斯 | HTTP方法。' GET ', ' POST ',默认为POST |
customQueryParameters | 字符串 | 普罗米修斯 | 查询要添加的参数,作为url编码的字符串。 |
manageAlerts | 布尔 | 普罗米修斯和洛基 | 通过Alerting UI管理警报 |
esVersion | 字符串 | Elasticsearch | (如Elasticsearch版本。7.0.0 ,7.6.1 ) |
timeField | 字符串 | Elasticsearch | 应该使用哪个字段作为时间戳 |
时间间隔 | 字符串 | Elasticsearch | 索引日期时间格式。nil(无模式)、“每小时”、“每日”、“每周”、“每月”或“每年” |
logMessageField | 字符串 | Elasticsearch | 日志消息应该使用哪个字段 |
logLevelField | 字符串 | Elasticsearch | 应该使用哪个字段来指示日志消息的优先级 |
maxConcurrentShardRequests | 数量 | Elasticsearch | 每个节点执行的每个子搜索请求的最大并发分片请求数。如果esVersion大于或等于7.0.0,则默认为5。当esVersion小于7.0.0且大于等于5.6.0时,默认值为256。选项在esVersion小于5.6.0时被忽略。 |
sigV4Auth | 布尔 | Elasticsearch和普罗米修斯 | 启用SigV4的使用 |
sigV4AuthType | 字符串 | Elasticsearch和普罗米修斯 | SigV4身份验证提供者。违约/证书/密钥 |
sigV4ExternalId | 字符串 | Elasticsearch和普罗米修斯 | 可选SigV4外部ID |
sigV4AssumeRoleArn | 字符串 | Elasticsearch和普罗米修斯 | 可选的SigV4 ARN角色 |
sigV4Region | 字符串 | Elasticsearch和普罗米修斯 | SigV4 AWS地区 |
sigV4Profile | 字符串 | Elasticsearch和普罗米修斯 | 可选SigV4凭据配置文件 |
authType | 字符串 | Cloudwatch | 身份验证提供者。违约/证书/密钥 |
externalId | 字符串 | Cloudwatch | 可选的外部ID |
assumeRoleArn | 字符串 | Cloudwatch | 可选的ARN角色 |
defaultRegion | 字符串 | Cloudwatch | 可选的默认AWS区域 |
customMetricsNamespaces | 字符串 | Cloudwatch | 自定义度量的名称空间 |
配置文件 | 字符串 | Cloudwatch | 可选的凭证资料 |
tsdbVersion | 字符串 | OpenTSDB | 版本 |
tsdbResolution | 字符串 | OpenTSDB | 决议 |
sslmode | 字符串 | PostgreSQL | SSLmode。' disable ', ' require ', ' verify-ca '或' verify-full ' |
tlsConfigurationMethod | 字符串 | PostgreSQL | SSL证书配置,通过“文件路径”或“文件内容” |
sslRootCertFile | 字符串 | PostgreSQL,该软件 | SSL服务器根证书文件,Grafana用户必须可读 |
sslCertFile | 字符串 | PostgreSQL | SSL客户端证书文件,Grafana用户必须可读 |
sslKeyFile | 字符串 | PostgreSQL | SSL客户端密钥文件,必须由只有Grafana用户 |
加密 | 字符串 | 该软件 | 连接SSL加密处理。' disable ', ' false '或' true ' |
postgresVersion | 数量 | PostgreSQL | Postgres版本作为一个数字(903/904/905/906/1000)表示v9.3, v9.4,…,v10 |
timescaledb | 布尔 | PostgreSQL | 启用TimescaleDB扩展的使用 |
maxOpenConns | 数量 | MySQL, PostgreSQL和MSSQL | 到数据库的最大打开连接数(Grafana v5.4+) |
maxIdleConns | 数量 | MySQL, PostgreSQL和MSSQL | 空闲连接池中的最大连接数(Grafana v5.4+) |
connMaxLifetime | 数量 | MySQL, PostgreSQL和MSSQL | 一个连接可以被重用的最长时间(以秒为单位)(Grafana v5.4+) |
keepCookies | 数组 | HTTP * | 在与数据源通信时需要传递的cookie |
安全的Json数据
{“authType”:“钥匙”,“defaultRegion”:“us-west-2”、“timeField”:“@timestamp”}
Secure json数据是将被加密的设置的映射秘密密钥从Grafana配置。这样做的目的只是向应用程序的用户隐藏内容。这应该用于存储Grafana将附加到服务器端请求的TLS证书和密码。所有这些设置都是可选的。
注意:数据源标记HTTP *下面是所有使用HTTP协议进行通信的数据源,例如除MySQL、PostgreSQL和MSSQL外的所有核心数据源插件。
的名字 | 类型 | 数据源 | 描述 |
---|---|---|---|
tlsCACert | 字符串 | HTTP *、MySQL、PostgreSQL | 发出请求的CA证书 |
tlsClientCert | 字符串 | HTTP *、MySQL、PostgreSQL | 传出请求的TLS客户端证书 |
tlsClientKey | 字符串 | HTTP *、MySQL、PostgreSQL | 传出请求的TLS客户端密钥 |
密码 | 字符串 | HTTP *、MySQL、PostgreSQL、MSSQL | 密码 |
basicAuthPassword | 字符串 | HTTP * | 基本身份验证密码 |
accessKey | 字符串 | Cloudwatch | 连接到Cloudwatch的访问键 |
secretKey | 字符串 | Cloudwatch | 连接到Cloudwatch的密钥 |
sigV4AccessKey | 字符串 | Elasticsearch和普罗米修斯 | SigV4访问密钥。使用密钥认证提供程序时必需 |
sigV4SecretKey | 字符串 | Elasticsearch和普罗米修斯 | SigV4密钥。使用密钥认证提供程序时必需 |
为数据源自定义HTTP标头
通过Grafanas配置管理的数据源可以配置为向所有到该数据源的请求添加HTTP头。中配置的报头名称jsonData
字段和报头值应该配置在secureJsonData
.
apiVersion: 1数据源:- name: Graphite jsonData: httpHeaderName1: 'HeaderName' httpHeaderName2: 'Authorization' secureJsonData: httpHeaderValue1: 'HeaderValue' httpHeaderValue2: ' bearxxxxxxxxx '
插件
该特性从v7.1中可用
的YAML配置文件中添加一个或多个YAML配置文件,可以在Grafana中管理插件应用程序配置/插件
目录中。每个配置文件可以包含一个列表应用程序
这将在启动期间更新。Grafana更新每个应用程序以匹配配置文件。
注意:这个特性允许你提供插件配置,而不是插件本身。这些插件必须已经安装在grafana实例上
插件配置文件示例
apiVersion: 1 apps: # 应用的类型,插件标识符。Required - type: raintank-worldping-app # Org ID。默认为1,除非输入org_name,否则输入org_id: 1 # 组织名称。除非没有指定org_id,否则将覆盖org_id。# 禁用应用程序。默认为false。禁用:false # <映射将被转换为json并存储在jsonData中的>字段。自定义每个应用程序。jsonData: # key/值对字符串到对象key: value #
指示板
中添加一个或多个YAML配置文件,可以在Grafana中管理仪表板配置/仪表盘
目录中。每个配置文件可以包含一个列表指示板供应商
将仪表板从本地文件系统加载到Grafana。
仪表板提供程序配置文件看起来像这样:
apiVersion: 1 providers: # 唯一的提供者名称。Required - name: '唯一提供者名称' # Org id。默认为1 orgId: 1 # 仪表盘文件夹名称。# 文件夹UID。如果没有指定folderUid,将自动生成。默认为'file'类型:file # 禁用仪表板删除disableDeletion: false # Grafana扫描更改的仪表板的频率updateIntervalSeconds: 10 # 允许从UI更新已提供的仪表板allowUiUpdates: false options: # 路径。当使用'file'类型路径:/var/lib/grafana/dashboards # 使用文件系统中的文件夹名称在Grafana foldersFromFilesStructure: true
当Grafana启动时,它将更新/插入配置路径中可用的所有仪表板。然后在这条路上updateIntervalSeconds寻找更新的json文件,并将其更新/插入到数据库中。
注意:的情况下,将仪表板提供给General文件夹
文件夹
选项缺失或为空。
对预置的指示板进行更改
可以在Grafana UI中对预置的仪表板进行更改。但是,不可能将更改自动保存回供应源。如果allowUiUpdates
被设置为真正的
您可以对预置的仪表板进行更改保存
然后更改将被持久化到Grafana数据库。
注意:如果从UI保存了预置的仪表板,然后从源更新了它,那么存储在数据库中的仪表板总是会被覆盖。的
版本
属性不会影响这一点,即使它低于现有的仪表板。如果从UI保存了预置的仪表板,并且删除了源,则存储在数据库中的仪表板将被删除,除非配置选项
disableDeletion
设置为true。
如果allowUiUpdates
被配置为假
时,您无法对预置的指示板进行更改。当你点击保存
, Grafana提出了一个无法保存预置的仪表板对话框。下面的截图说明了这种行为。
Grafana提供了导出仪表板的JSON定义的选项。要么复制JSON到剪贴板
或将JSON保存到文件
可以帮助您将指示板更改同步回供应源。
注意:使用时输入字段中的JSON定义复制JSON到剪贴板
或将JSON保存到文件
将有id
字段将自动删除,以帮助配置工作流。
可重用的仪表板的url
如果JSON文件中的仪表板包含UID, Grafana强制插入/更新该UID。这允许您在Grafana实例之间迁移仪表板,并从配置中提供Grafana,而不会破坏给定的URL,因为新的仪表板URL使用UID作为标识符。当Grafana启动时,它会更新/插入配置文件夹中可用的所有仪表板。如果您修改了文件,那么仪表板也会更新。默认情况下,如果文件被删除,Grafana会删除数据库中的仪表板。方法可以禁用此行为disableDeletion
设置。
注意:配置允许您覆盖现有的仪表板,这将导致问题,如果您重用的设置应该是唯一的。注意不要重复使用
标题
在一个文件夹内多次或uid
在相同的安装中会导致奇怪的行为。
从文件系统向Grafana提供文件夹结构
如果您已经在git repo或文件系统中使用文件夹存储仪表板,并且您希望在Grafana菜单中使用相同的文件夹名称,那么您可以使用foldersFromFilesStructure
选择。
例如,要将这些仪表板结构从文件系统复制到Grafana,
/etc/dashboards├──/server│├─/common_dashboard. exeJson│├──/network_dashboard. exeJson├──/application├──/requests_dashboard。json└──/ resources_dashboard.json
您需要指定这个简短的配置文件。
apiVersion: 1 providers: - name: dashboards type: file updateIntervalSeconds: 30 options: path: /etc/dashboards foldersFromFilesStructure: true
服务器
而且应用程序
将成为Grafana菜单中的新文件夹。
注意:
文件夹
而且folderUid
选项应该为空或缺少foldersFromFilesStructure
工作。
注意:若要向General文件夹提供仪表板,请将它们存储在
路径
.
报警
中添加一个或多个YAML或JSON配置文件,可以在Grafana中管理警报对象配置/报警
目录中。这些文件将在启动Grafana时应用。在Grafana运行时,可以使用管理API.
规则
创建
# apiVersion配置文件版本:1 #的规则组列表导入或更新组:# < int >组织ID,默认= 1 - orgId: 1 # <字符串,要求>的名称规则组名称:my_rule_group # <字符串,要求>文件夹的名称规则组将存储在文件夹:my_first_folder # <时间>要求间隔规则组应评估间隔:60年代# <列表,需要>列表的规则是规则组的一部分规则:# <字符串>要求规则的惟一标识符- uid: my_id_1 # <字符串,要求>标题的规则在UI中显示标题:my_first_rule # <字符串,要求>为条件查询应该使用条件:# <列表,需要>的查询对象列表应该执行在每个#评价-应该槽API获得数据:- refId: datasourceUid:“-100”模式:条件:-评估者:参数:- 3型:gt接线员:类型:和查询:参数:- A reducer: type: last type: query datasource: type: __expr__ uid: '-100' expression: 1==0 intervalMs: 1000 maxDataPoints: 43200 refId: A type: math # 告警规则应该链接到的仪表盘的uid dashboardUid: my_dashboard # 告警规则应该链接到的面板的ID panelId: 123 # 告警规则在没有返回数据时的状态#可能值:"NoData", "Alerting", "OK", default = NoData noDataState:Alerting # 当查询执行#失败时,警报规则将具有的状态-可能的值:"Error", "Alerting", "OK" # default = Alerting # 在发出警报之前需要多长时间:60s #
删除
#配置文件版本apiVersion: 1 #需要删除的告警规则uid列表deleteRules: # 组织ID, default = 1 - orgId: 1 # unique identifier for the rule uid: my_id_1
接触点
创建
#配置文件版本apiVersion: 1 #要导入或更新的联络点列表contactPoints: # 组织ID, default = 1 - orgId: 1 # 联络点名称名称:cp_1 receivers: # 唯一标识接收者- uid: first_uid # 类型接收者类型:prometheus-alertmanager #
删除
deleteContactPoints: # 组织ID, default = 1 - orgId: 1 # unique identifier for the receiver uid: first_uid
设置
在这里,我们展示了你可以为不同的接触点类型有什么样的设置。
Alertmanager
type: prometheus-alertmanager settings: # url: http://localhost:9093 # basicAuthUser: abc # basicAuthPassword: abc123
丁鼎
type: dingding settings: # url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx # options: link, actionCard msgType: link # message: | {{template "default。信息”。}}
不和
type: discord settings: # url: https://discord/webhook # avatar_url: https://my_avatar # use_discord_username: Grafana # message: | {{template "default。信息”。}}
电子邮件
type: email settings: # 地址:me@example.com;you@example.com # singleEmail: false # message: my optional message to include # subject: | {{template "default。标题”。}}
谷歌视频聊天
类型:googlechat设置:# url: https://google/webhook # message: | {{template "默认。信息”。}}
卡夫卡
type: kafka settings: # kafkaRestProxy: http://localhost:8082 # kafkaTopic: topic1
行
类型:行设置:# token: XXX
微软团队
类型:teams settings: # url: https://ms_teams_url # title: | {{template "默认。标题”。}} # sectiontitle: " # message: | {{template "默认。信息”。}}
OpsGenie
type: opsgenie settings: # apiKey: xxx # apiUrl: https://api.opsgenie.com/v2/alerts # message: | {{template "default。标题”。}} # description: some描述性描述# autoClose: false # overridePriority: false # options: tags, details, both sendTagsAs: both
PagerDuty
type: pagerduty settings: # integrationKey: XXX # options: critical, error, warning, info severity: critical # class: ping failure # component: Grafana # group: app-stack # summary: | {{template "default. type: pagerduty settings: # integrationKey: XXX # options: critical, error, warning, info信息”。}}
容易做的事情
type: pushover settings: # apiToken: XXX # userKey: user1,user2 # device: device1,device2 # options (high to low): 2,1,0,-1,-2 priority: '2' # retry: '30' # expire: '120' # sound: siren # okSound: magic # message: | {{template "default。信息”。}}
松弛
type: slack settings: # receiver: alering -dev # token: xxx # username: grafana_bot # icon_emoji: heart # icon_url: https://icon_url # mentionUsers: user_1,user_2 # mentionGroups: group_1,group_2 # options: here, channel mentionChannel: here # 可选地提供一个用于发送消息的slack传入webhook URL,在这种情况下,token不是必要的URL:https://some_webhook_url # endpointUrl: https://custom_url/api/chat.postMessage # title: | {{template " lag .default.title"。}}文本:|{{模板"slack.default.text"。}}
理智去
类型:sensugo settings: # url: http://sensu-api.local:8080 # apikey: XXX # entity: default # check: default # handler: some_handler # namespace: default # message: | {{template "default。信息”。}}
电报
类型:telegram settings: # bottoken: XXX # chatid: some_chat_id # message: | {{template "default。信息”。}}
Threema网关
type: threema settings: # api_secret: xxx # gateway_id: A5K94S9 # recipient_id: A9R4KL4S
VictorOps
type: victorops settings: # url: XXX # options: CRITICAL, WARNING messageType: CRITICAL
Webhook
类型:webhook settings: # url: https://endpoint_url # options: POST, PUT httpMethod: POST # username: abc # password: abc123 # authorization_scheme: bear# authorization_credentials: abc123 # maxAlerts: '10'
WeCom
类型:wecom设置:# url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx # message: | {{template "默认。信息”。}} # title: | {{template "default. >标题”。}}
通知的政策
创建
#配置文件版本apiVersion: 1 #通知策略列表policies: # 组织ID, default = 1 - orgId: 1 # 该路由应该使用的联络点名称receiver: grafana-default-email # < List >将传入的警报分组的标签。例如,来自cluster=A和alertname=LatencyHigh的#多个警报将被批处理到单个组中。# #聚合所有可能的标签使用特殊值'…作为#唯一的标签名,例如:# group_by:['…这有效地完全禁用聚合,按原样传递所有#警报。这不太可能是您想要的,除非您的警报量非常低,或者您的上游通知系统执行自己的分组。group_by:['…- alertname = Watchdog - severity =~ "warning|critical" # 路由应该被抑制的时间。它们必须与# mute时间间隔的名称匹配。此外,根节点不能有任何静音时间。#当路由被静音时,它将不发送任何通知,但#在其他情况下正常运行(包括在未设置continue选项时结束路由匹配过程#)mute_time_interval: - abc # 最初为一组#的警报发送通知需要多长时间。 Allows to collect more initial alerts for the same group. # (Usually ~0s to few minutes), default = 30s group_wait: 30s # How long to wait before sending a notification about new alerts that # are added to a group of alerts for which an initial notification has # already been sent. (Usually ~5m or more), default = 5m group_internval: 5m # How long to wait before sending a notification again if it has already # been sent successfully for an alert. (Usually ~3h or more), default = 4h repeat_interval: 4h # Zero or more child routes # routes: # ...
重置
#需要重置为默认策略的orgid列表resetPolicies: - 1
模板
创建
#导入或更新模板的模板列表:# 组织ID, default = 1 - orgID: 1 # 名称,必须是唯一的名称:my_first_template # 内容模板:Alerting with a custom text template
删除
#配置文件版本apiVersion: 1 #需要删除的告警规则uid列表deleteTemplates: # 组织ID, default = 1 - orgId: 1 # 名称,必须是唯一的名称:my_first_template
沉默的时间
创建
# apiVersion配置文件版本:1 #的沉默时间间隔列表导入或更新muteTimes: # < int >组织ID,默认= 1 - orgId: 1 # <字符串,要求>沉默的时间间隔的名称,必须是唯一的名字:mti_1 # <列表>时间间隔应触发静音#参考https://prometheus.io/docs/alerting/latest/configuration/ time_interval-0 time_intervals: - *: - start_time:“06:00时”end_time:“23:59”工作日:[星期一,星期三,星期六,'星期天']个月:(“1:3”,“阿美:8月”,“12”):(' 2020:2022 ',' 2030 ')days_of_month: [1:5, 3: 1 ')
删除
#配置文件版本apiVersion: 1 #需要删除的静音时间间隔列表deleteMuteTimes: # 组织ID, default = 1 - orgId: 1 # 静音时间间隔名称,必须是唯一名称:mti_1
警报通知渠道
注意:警报通知通道是遗留警报的一部分,已被弃用,将在Grafana 10中删除。在上面的警报部分使用联系点。
中的一个或多个YAML配置文件可以提供警报通知通道配置/通知
目录中。
每个配置文件可以包含以下顶级字段:
通知
,一个将在启动期间添加或更新的警报通知列表。如果通知通道已经存在,Grafana将更新它以匹配配置文件。delete_notifiers
的警报通知列表,在插入/更新这些通知之前,必须删除这些通知通知
列表。
Provisioning根据uid查找警报通知,并使用所提供的uid更新任何现有通知。
默认情况下,将仪表板导出为JSON将使用一个顺序标识符来引用警报通知。这个领域uid
可选地指定,以为警报名称指定字符串标识符。
{…“警告”:{…,"conditions": [...], "frequency": "24h", "noDataState": "ok", "notifications": [ {"uid": "notifier1"}, {"uid": "notifier2"}, ] } ... }
告警通知通道配置文件示例
notifiers:—name: notification-channel-1 type: slack uid: notifier1 # org_id: 2 #或org_name: Main Org。is_default: true send_prompt: true frequency: 1h disable_resolve_message: false #参见“支持的设置”部分了解每种# alert通知类型支持的设置。settings: receive: 'XXX' uploadImage: true token: 'xoxb' #遗留设置自Grafana v7.2(存储非加密)url: https://slack.com #遗留设置自Grafana v7.2(存储非加密)#将在数据库中加密的安全设置(自Grafana v7.2以来支持)。参见“支持设置”部分了解每个通知器支持的安全设置。secure_settings: token: 'xoxb' url: https://slack.com delete_notifiers: - name: notification-channel-1 uid: notifier1 # org_id: 2 #或org_name: Main Org。—name: notification-channel-2 # default org_id: 1
支持设置
以下部分详细介绍每种警报通知类型的支持设置和安全设置。安全设置被加密存储在数据库中,您可以将它们添加到其中secure_settings
而不是YAML文件中设置
.
注意:从Grafana v7.2开始支持安全设置。
提醒通知容易做的事情
的名字 | 安全设置 |
---|---|
apiToken | 是的 |
userKey | 是的 |
设备 | |
优先级 | |
okPriority | |
重试 | |
到期 | |
声音 | |
okSound |
提醒通知不和
的名字 | 安全设置 |
---|---|
url | 是的 |
avatar_url | |
内容 | |
use_discord_username |
提醒通知松弛
的名字 | 安全设置 |
---|---|
url | 是的 |
收件人 | |
用户名 | |
icon_emoji | |
icon_url | |
uploadImage | |
mentionUsers | |
mentionGroups | |
mentionChannel | |
令牌 | 是的 |
提醒通知victorops
的名字 |
---|
url |
autoResolve |
提醒通知卡夫卡
的名字 |
---|
kafkaRestProxy |
kafkaTopic |
提醒通知行
的名字 | 安全设置 |
---|---|
令牌 | 是的 |
提醒通知pagerduty
的名字 | 安全设置 |
---|---|
integrationKey | 是的 |
autoResolve |
提醒通知美国标准
的名字 | 安全设置 |
---|---|
url | |
源 | |
处理程序 | |
用户名 | |
密码 | 是的 |
提醒通知sensugo
的名字 | 安全设置 |
---|---|
url | |
apikey | 是的 |
实体 | |
检查 | |
处理程序 | |
名称空间 |
提醒通知prometheus-alertmanager
的名字 | 安全设置 |
---|---|
url | |
basicAuthUser | |
basicAuthPassword | 是的 |
提醒通知团队
的名字 |
---|
url |
提醒通知丁鼎
的名字 |
---|
url |
提醒通知电子邮件
的名字 |
---|
singleEmail |
地址 |
提醒通知hipchat
的名字 |
---|
url |
apikey |
roomid |
提醒通知opsgenie
的名字 | 安全设置 |
---|---|
apiKey | 是的 |
apiUrl | |
autoClose | |
overridePriority | |
sendTagsAs |
提醒通知电报
的名字 | 安全设置 |
---|---|
bottoken | 是的 |
chatid | |
uploadImage |
提醒通知threema
的名字 | 安全设置 |
---|---|
gateway_id | |
recipient_id | |
api_secret | 是的 |
提醒通知webhook
的名字 | 安全设置 |
---|---|
url | |
httpMethod | |
用户名 | |
密码 | 是的 |
提醒通知googlechat
的名字 |
---|
url |
Grafana企业
Grafana Enterprise支持以下资源的供应:
相关Grafana资源
开幕主题:Grafana 9有什么新内容?
Raj Dutt, Myrle Krantz和Torkel Ödegaard揭开了《Grafana 9》的新内容。观看2022年GrafanaCONline开幕式主题演讲。随需应变。
用Grafana插件统一数据:datdog, Splunk, MongoDB等等
在本次网络研讨会中,学习如何利用Grafana的插件生态系统访问80多个数据源,包括datdog、Splunk、MongoDB等插件。
从Grafana Enterprise和可观察性开始
加入Grafanabob电竞频道 Labs团队进行一个30分钟的演示,演示如何开始使用Grafana Stack,这样您就可以在短短几分钟内从零到可观察性。