我正在尝试在外部服务器上使用 MariaDB 将 Grafana(版本 9.5.5,SUSE Linux)设置为高可用性模式。我的理解是,这应该会导致我的多个 Grafana 实例共享仪表板(在一个实例上创建,在另一个实例上可见)。我可以让它们连接,但不能共享仪表板。
注意:我对 Grafana 配置和数据库使用都很陌生。
我使用以下命令设置 MariaDB(出于隐私考虑,我将使用示例密码和 IPS):
在 MariaDB 服务器上:
mysql -u root -p
create database grafana;
grant all privileges on grafana.* TO 'grafanareader' identified by "PWORD";
在两台 Grafana 服务器上:
nano /usr/share/grafana/conf/defaults.ini
type = sqlite3
host = 123.45.678.99 (my MariaDB host IP)
name = grafana
user = grafanareader
password = PWORD
(注意,我不知道这是否相关,但是当我尝试将其设置为 mysql 而不是 sqlite3 时,它不会启动服务)
systemctl restart grafana-server.service
(没有错误,它解析ini并运行)
已确认这些设置反映在 GUI 的“管理设置”部分中。
测试1:登录GUI,进入菜单-数据源-添加新-Mysql-输入与上面相同的参数-保存并测试=测试成功
测试 2:使用新数据源,通过 GUI 访问数据库中手动创建的表=测试成功
(以上两个测试只是为了说明问题不在于连接失败或者用户访问数据库失败)
测试 3:在 Grafana 服务器上创建仪表板 1. 检查仪表板是否已正确复制到 Grafana 服务器 2. =测试失败
那么,我是否误解了高可用性模式?Grafana 是否不可能在实例之间共享仪表板?或者我配置有什么错误?
首先,除非您知道自己在做什么,否则切勿更改
/usr
(除非)。是包管理器的域。/usr/local
/usr
来自Grafana 文档(我强烈建议您阅读,因为您不熟悉它):
来自Grafana 配置的Stil :
除非您实际指示 Grafana 使用 SQLite 以外的其他内容,否则它将忽略所有与其不相关的参数。如果您更改它时它没有启动,那就是您需要调试的问题。