Grafana는 고가용성 모드에서 대시보드를 공유하지 않습니다.

Grafana는 고가용성 모드에서 대시보드를 공유하지 않습니다.

외부 서버에서 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

(참고로 이것이 관련이 있는지 없는지는 모르겠지만 sqlite3 대신 mysql로 ​​설정하려고 하면 서비스가 시작되지 않습니다.)

systemctl restart grafana-server.service (오류 없음, ini를 구문 분석하고 실행됨)

이러한 설정이 GUI의 관리-설정 섹션에 반영되는지 확인했습니다.

테스트 1: GUI에 로그인하고 Menu-DataSources-Add New-Mysql-위와 동일한 매개변수를 입력하고 저장하고 테스트=로 이동합니다.테스트 성공

테스트 2: 새 데이터 소스를 사용하여 GUI를 통해 데이터베이스에 수동으로 생성된 테이블에 액세스합니다.테스트 성공

(위의 두 테스트는 문제가 연결 실패 또는 사용자의 데이터베이스 액세스 실패에 있지 않다는 것을 보여주기 위한 것입니다)

테스트 3: Grafana 서버 1에서 대시보드를 생성합니다. 대시보드가 ​​Grafana 서버 2에 제대로 복제되었는지 확인합니다. =테스트 실패

그렇다면 제가 고가용성 모드를 잘못 이해하고 있는 걸까요? Grafana에서는 인스턴스 간에 대시보드를 공유하는 것이 불가능합니까? 아니면 제가 뭔가 잘못 설정한 걸까요?

답변1

첫째, 현재 수행 중인 작업을 알지 않는 한 절대로 변경하지 마십시오 /usr( 제외 ). 패키지 관리자의 도메인입니다./usr/local/usr

로부터그라파나 문서(익숙하지 않다면 꼭 읽어보시길 권합니다):

Grafana 인스턴스의 기본 설정은 파일에 저장됩니다 $WORKING_DIR/conf/defaults.ini.하지 마라이 파일을 변경하세요.

[...]

deb또는 패키지를 사용하여 Grafana를 설치한 경우 rpm구성 파일은 에 있으며 /etc/grafana/grafana.ini별도의 파일 custom.ini은 사용되지 않습니다. 이 경로는 --configfile 매개변수를 사용하여 Grafana init.d 스크립트에 지정됩니다 .

스틸에서그라파나 구성:

Grafana에는 사용자와 대시보드(및 기타 항목)를 저장하기 위한 데이터베이스가 필요합니다. 기본적으로 sqlite3내장된 데이터베이스(기본 Grafana 바이너리에 포함됨)를 사용하도록 구성됩니다 .

유형

mysql, 또는 , 그것은 당신의 선택입니다 postgres.sqlite3

실제로 Grafana에게 SQLite 이외의 다른 것을 사용하도록 지시하지 않는 한 Grafana는 관련 없는 모든 매개변수를 무시합니다. 변경할 때 시작되지 않으면 디버그해야 하는 문제입니다.

관련 정보