Grafana部署
对于部分习惯使用Grafana的用户,ONE平台也支持了部署外部Grafana的方式,可以将用户历史常用的仪表盘迁移至ONE平台中。
配置修改
nacos新增配置
在<global><private>标签下新增以下配置,配置中标记为xxx的url地址,根据实际情况填写
说明:
①<property name="url" value="http://xxx"/> value字段值为grafana的接入地址
②<property name="one.datasource.path" value="http://xxx"/> value字段值为BONREE-ONE数据源接入地址
<private>
<framework>
<iam>
<grafana>
<property name="enable" value="true" />
<property name="version" value="v11.4.0" />
<property name="theme" value="light" />
<property name="url" value="http://xxx" />
<property name="api.context.path" value="/gf" />
<property name="api.user" value="admin" />
<property name="api.password" value="5080C35C2A831D63C903B0F808A4A090" />
<property name="default.user.password" value="5080C35C2A831D63C903B0F808A4A090" />
<property name="auth.header.name" value="BONREE-WEBAUTH-USER" />
<property name="one.datasource.type" value="bonree-one-datasource" />
<property name="one.datasource.name" value="BONREE-ONE" />
<property name="one.datasource.path" value="http://xxx" />
</grafana>
</iam>
</framework>
</private>
配置说明:
- enable:grafana开关,默认关闭。
- version:grafana版本号。目前支持9.1及以上版本的grafanaAPI。考虑到同步性能问题,在浏览器支持的前提下,最好选择11.3及以上版本grafana。
- theme:grafana主题,可配置为"dark" or "light" or "system",默认白色。
- grafana.url:grafana服务地址,如果ONE有上下文,则需要加上ONE的上下文路径,没有则不用加。
- api.context.path:grafana请求上下文路径,需与grafana端配置项root_url中路径保持一致,默认/gf。
- api.user:grafana超级管理员用户名。
- api.password:grafana超级管理员密码,需要加密。
- default.user.password:自动同步到grafana端的默认用户密码。
- auth.header.name:grafana认证请求头参数名称,需与grafana端配置项header_name中保持一致,默认BONREE-WEBAUTH-USER。
- one.datasource.enable:是否自动创建ONE数据源,默认false。
- one.datasource.type:ONE数据源类型,默认bonree-one-datasource。
- ne.datasource.name:ONE数据源名称,默认BONREE-ONE。
- one.datasource.path:ONE数据源请求地址,为ONE的外网访问地址。
- prometheus.datasource.type:prometheus数据源类型,默认prometheus。
- prometheus.datasource.name:prometheus数据源名称,默认prometheus。
- prometheus.datasource.path:prometheus数据源请求地址,为ONE的外网访问地址+/promds。
Grafana配置修改
修改grafana路径下的默认配置:xxxx/grafana/conf/defaults.ini (参考自己的安装位置),在配置文件中搜索key,替换为对应的value
[auth.proxy]
#开启auth.proxy登录方式
enabled = **true**
#grafana识别请求头中认证key名称,如BONREE-WEBAUTH-USER=bonree_test
header_name = **BONREE-WEBAUTH-USER**
#请求头认证方式,可以使用"username"或"email"
header_property = **username**
#关闭自动注册
auto_sign_up = **false**
#开启请求头“引用可打印编码”开关,解决登录用户中文401问题
headers_encoded = **true**
#修改访问上下文路径增加/gf用于one平台过滤识别,下面/gf要与ONE服务端配置文件中配置一致
root_url = %(protocol)s://%(domain)s:%(http_port)s/**gf**
#开启子路径方式访问grafana
serve_from_sub_path = **true**
#禁用grafana Live的WebSocket连接
max_connections = **0**
#将grafana放入iframe开关
allow_embedding = **true**
提示
注意:修改完配置后重启grafana服务使配置生效
Nginx配置修改
编辑nginx配置文件,增加 “请求方法校验” 配置,如果之前已存在,请保证和截图一致
#请求方法校验
if ($request_method !~* GET|POST|HEAD|DELETE|PATCH|PUT) {
return 403;
}

location ~ ^/(gf|promds) {
proxy_pass http://one_analysis;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;
}

提示
注意:修改完nginx配置后nginx -s reload 生效
Prometheus数据源配置
经过以上配置修改之后用户就可以在UI上看到外部仪表盘,之后再进行Prometheus数据源配置
步骤一:点击“外部仪表盘”菜单,创建仪表盘并添加卡片后,点击页面如图:打开高级数据源选择器

步骤二:点击配置新数据源,然后选择Prometheus
步骤三:设置URL地址,替换图中标红区 XX 的地方为one web访问地址+/promds

步骤四:如图标红区,输入:one_session 后点击Add

步骤五:点击如图按钮,并且提示success

提示
注意:添加数据源的位置与Grafana版本有关
版本说明
版本差异
- 目前支持9.1及以上版本的grafanaAPI。
- v11.3及以上版本存在批量更新团队成员接口(/api/teams/1/members),v9.1及以上、v11.3以下不存在。
- v11.3及以上版本login登录用户名大小写不敏感,存储时会全部转小写,v9.1及以上、v11.3大小写敏感。
- 9.1.0自定义ONE数据源不支持表达式。
- 9.1.0不支持语言切换。