Grafana 面板服务
Grafana 是一个强大的仪表板构建系统,您可以使用它,可视化来自嵌入式 Prometheus 监控系统的性能指标。
从 12.0 版本开始,默认启用 Grafana,并自动配置 GitLab 的 SSO。 Grafana 将在 https://gitlab.example.com/-/grafana
上提供。
启用用户名和密码登录
admin
。使用用户名/密码组合登录 Grafana 被禁用,默认情况下只有 GitLab SSO 可用。但是,要访问管理员账号,您需要使用用户名/密码启用登录。 为此,将以下行添加到 /etc/gitlab/gitlab.rb
文件,并运行重新配置:
grafana['disable_login_form'] = false
指定管理员密码
要指定管理员密码,请将以下行添加到 /etc/gitlab/gitlab.rb
文件,并运行重新配置:
grafana['admin_password'] = 'foobar'
如果没有提供管理员密码,Omnibus GitLab 会自动为管理员用户生成一个随机密码作为安全措施。但是,在这种情况下,您必须手动重置密码才能访问管理员用户。
禁用 Grafana
-
编辑
/etc/gitlab/gitlab.rb
并添加/编辑以下几行:## Set to true/false to enable/disable respectively grafana['enable'] = false
-
保存文件并重新配置极狐GitLab,使更改生效。
身份验证
如果您想授予用户访问 Grafana 的权限,您有两种选择。
使用 Grafana 的身份验证系统
允许用户在 Grafana 中创建自己的账号:
-
编辑
/etc/gitlab/gitlab.rb
并添加以下配置:grafana['allow_user_sign_up'] = true
-
保存文件并重新配置极狐GitLab,使更改生效。
使用 GitLab 作为 OAuth 提供者
要将 GitLab 用作 OAuth 提供程序,以便 GitLab 实例的用户可以访问 Grafana:
-
首先,创建应用程序 ID 和密钥。
-
根据您的
external_url
设置回调 URL。 例如https://gitlab.example.com/-/grafana/login/gitlab
。 -
然后,编辑
/etc/gitlab/gitlab.rb
并添加以下几行:grafana['gitlab_application_id'] = 'GITLAB_APPLICATION_ID' grafana['gitlab_secret'] = 'GITLAB_SECRET'
其中
GITLAB_APPLICATION_ID
和GITLAB_SECRET
是您在上一步中创建的应用程序 ID 及其 secret。 -
或者,您可以选择允许登录的 GitLab 组列表:
grafana['allowed_groups'] = [my_group, group_one/group_two]
-
保存文件并重新配置极狐GitLab,使更改生效。
重新设置管理员密码
首次启动后,管理员密码存储在 Grafana 数据存储中,您无法通过 gitlab.rb
更改它。
要更新它,您可以使用以下命令:
gitlab-ctl set-grafana-password
有关详细信息,请参阅 Grafana CLI 文档。
面板
用于监控 Omnibus GitLab 的仪表板将被预加载并在初始登录时可用。
Grafana 指标
Grafana 可以提供 Prometheus 抓取的指标。
默认情况下,指标 API 在捆绑的 Grafana 实例中处于禁用状态。
启用 Grafana 的指标 API
使用基本身份验证启用 Grafana 的指标 API:
-
编辑
/etc/gitlab/gitlab.rb
并添加/编辑以下几行:grafana['metrics_enabled'] = true grafana['metrics_basic_auth_username'] = 'grafana_metrics' grafana['metrics_basic_auth_password'] = 'please_set_a_unique_password'
-
保存文件并重新配置极狐GitLab 以使更改生效。
-
这些指标将在带有基本身份验证的
https://gitlab.example.com/-/grafana/metrics
上提供。基本身份验证的用户名和密码是在/etc/gitlab/gitlab.rb
中设置的metrics_basic_auth_username
和metrics_basic_auth_password
。
Grafana SMTP
启用 SMTP 以允许 Grafana 发送电子邮件:
grafana['smtp']['enabled'] = true
要完全自定义 Grafana 的 SMTP 配置,请使用以下代码片段作为起点:
grafana['smtp'] = {
'enabled' => true,
'host' => 'localhost:25',
'user' => nil,
'password' => nil,
'cert_file' => nil,
'key_file' => nil,
'skip_verify' => false,
'from_address' => 'admin@grafana.localhost',
'from_name' => 'Grafana',
'ehlo_identity' => 'dashboard.example.com',
'startTLS_policy' => nil
}
有关 Grafana 的 SMTP 配置的更多信息,请参阅 Grafana 的文档。
故障排查
X.509: certificate signed by unknown authority
使用自签名 SSL 证书时,您可能会在 UI 中收到以下错误:
login.OAuthLogin(NewTransportWithCode)
Check the Grafana server logs for the detailed error message.
/var/log/gitlab/grafana/current
的 Grafana 日志中报告的错误可能是:
lvl=eror msg=login.OAuthLogin(NewTransportWithCode) logger=context userId=0 orgId=0 uname= error="Post \"https://gitlab.example.com/oauth/token\": x509: certificate signed by unknown authority"
在这种情况下,您必须将自签名 GitLab 证书安装为可信。