Azure의 Grafana – Azure MySQL 스토리지
이 문서에서는 Azure PaaS로 데이터베이스를 이동합니다.
MySQL의 Azure 데이터베이스란 무엇입니까?
Azure의 관리형 MySQL입니다.저렴한 가격(월 약 25파운드)으로 Azure PaaS 플랫폼이 할 수 있는 모든 것을 지원합니다.패치 관리, 백업 등은 없고 클릭할 수 있는 단점만 있습니다.사랑하지 않는 것은 무엇입니까?
이것은 우리의Grafana 데이터베이스에 있어서 매우 좋다. 왜냐하면 모니터링 시스템의 중점은 시종일관 시작 상태에 있기 때문에 당신은 모니터링 시스템으로 당신의 모니터링 시스템을 모니터링하고 싶지 않기 때문이다.하나의 가상 머신, 데이터베이스, 전단 등만 단일 고장점으로 삼는 것은 좋지 않다.그리고 모든 데이터의 백업을 정기적으로 추가해야 하는데 갑자기 빠르고 간단한Grafana 실례 자체가 관리 비용이 되었다.
1단계 – Azure MySQL 설치
Grafana는 아주 적은 양의 데이터만 저장하고 공유 서버가 있다면 공유 서버에 저장할 수 있습니다.우리는 처음부터 이 서버에 서버를 설정할 것입니다. 그러나 현재 서버가 있다면 대부분의 절차를 기존 서버에서 실행할 수 있습니다.
한 달에 약 20파운드의 B1, 최소 기본 스토리지 용량(5GB)을 사용하는 최소한의 인스턴스를 사용할 수 있습니다.이렇게 하면 백업, SSL 및 데이터베이스 유지 보수를 수행할 수 있습니다.이것은 실행 중인 다른 것들에 비해 아무것도 아닐 수도 있고, 자신의 백업을 실행하려면, 모든 백업을 검증하는 데 약 1일/달이 걸릴 수도 있습니다. 등등 아무것도 아닙니다.
Grafana를 위한 데이터베이스와 사용자가 필요합니다.본문 뒤에 Azure MySQL 실례를 어떻게 잠그는지 연구할 것입니다. 이제 수동으로 IP를 추가해야 합니다.
현재 클라이언트 IP 주소 추가 링크를 클릭한 다음 저장 을 클릭합니다.그러면 SQL Server에 공용 IP 주소가 추가됩니다.
현재 명령줄에서 MySQL 실례에 연결됩니다. (MySQL을 설치하지 않으려면 docker 이미지를 실행하는 것이 좋습니다.)
mysql -h {servername}.mysql.database.azure.com -u {adminuser}@{servername} -p
grafana에 데이터베이스 이전이 내장되어 있기 때문에 사용자는 데이터베이스를 관리할 수 있는 완전한 권한이 필요합니다.CREATE USER '<username>'@'%' IDENTIFIED BY '<password>';
CREATE DATABASE grafana_data;
GRANT ALL ON grafana_data.* TO '<username>'@'%';
MySQL은 그렇습니다.사용자가 접근할 수 있도록 데이터베이스를 만들고 설정했습니다.다음 단계는 그라파나로 하여금 그것을 사용하게 할 것이다.2단계 - Grafana의 데이터베이스 구성
우리가 해야 할 첫 번째 일은Grafana가 데이터베이스에 접근할 수 있도록 허락하는 것이다.현재는 Azure IP에서 액세스할 수 있도록 하는 "Azure 허용 서비스"를 활성화하고 있습니다. 이것은 일시적인 역할을 하며 나중에 이를 확보할 수 있습니다.
다음으로grafana가 우리의 데이터베이스를 어디서 찾았는지, 로그인하는 방법을 알려 주어야 합니다.SSH를 가상 시스템에 연결하고 grafana 구성 파일을 엽니다.
sudo nano /etc/grafana/grafana.ini
여기서 탭이 [Database]
인 부분을 찾아서 다음 값을 설정하고 모든 다른 값을 기본값으로 보존합니다.주의: ini 파일은
;
를 사용하여 설정을 주석하고 삭제합니다.type = mysqlhost = <servername>.mysql.database.azure.com:3306name = <database-name>user = <username>@<server-name>
ssl_mode = skip-verify
ca_cert_path = /etc/ssl/certs/ca-certificates.crt
grafana를 다시 시작합니다. 기본 인증서를 사용하여 다시 로그인해야 합니다.sudo systemctl restart grafana-server
url이 시간을 초과하면 로그를 보십시오.sudo tail -f /var/log/grafana/grafana.log
자주 발생하는 오류는 MySQL 인스턴스에 액세스하는 것입니다.이것은 위의 로그 꼬리가 데이터베이스 이전을 시작할 때 멈추는 것으로 나타납니다.가능한 이유:@<server-name>
ssl_mode
및 ca_cert_path
미설치3단계 - MySQL 연결 보호
현재 MySQL 실례가 설정되어 있습니다. 공공 IP와Azure에서 실행되는 모든 것에 접근할 수 있습니다.이것은 이상적인 상황이 아니기 때문에 우리는 이 점을 더욱 확보해야 한다.
MySQL 인스턴스를 보호하기 위해 몇 가지 작업을 수행할 수 있습니다.
옵션 1: 지적 재산권 제한
MySQL 인스턴스를 VM 전용 IP로 제한할 수 있습니다.이것은 가장 간단한 방법이지만, 결코 진정으로 확장할 수 있는 것은 아니다. 왜냐하면 만약 당신이 가상 기기를 죽였다면, 당신은 IP를 업데이트해야 하기 때문이다.여러 인스턴스/확장을 사용할 경우 확장할 수도 없습니다.
즉, 우선 이것은 완전히 실행 가능한 방법이다.MySQL 서버 > 연결 보안에 들어가서 VM 공용 IP를 추가한 다음 "Azure 서비스 액세스 허용"을 비활성화하여 설정할 수 있습니다.
옵션 2: VNet 보안
이것은 통상적으로 나의 첫 번째 선택이다.이렇게 하면 특정 VNET 서브넷에서만 MySQL 서버에 액세스할 수 있습니다.불행하게도, 이것은 표준판 MySQL 서버에서만 사용할 수 있으며, 가격은 매달 50파운드이다.
"Azure 서비스 액세스 허용"에 대한 포효
이런 설정에 대한 빠른 불평이 설정을 사용하면 Azure 위탁 관리 서비스가 MySQL 실례에 접근할 수 있습니다. 이것은 매우 매력적입니다.그러나 이는 구독 중인 서비스에 국한되지 않는다.따라서 Azure에서 프로그램을 실행하는 모든 사람이 MySQL 실례에 접근할 수 있습니다.Azure에서 실행되는 사용자 수를 감안하면 너무 많은 안전성을 제공할 수 없습니다.조심해서 사용하세요.
결론
본 문서에서 Google은grafana 실례를 Azure MySQL 실례에 연결하여 백업, 안전성, 지속성 데이터베이스를 얻을 것입니다.이것은 우리의Grafana 가상기가 부패하거나 파괴되면 우리는 그것을 중지하고 처음부터 새로운 가상기를 만들 수 있다는 것을 의미한다.
또한 필요에 따라grafana를 위한 관리 VM 설정, 부하 균형기 추가, 용기에 위탁 관리 등도 할 수 있습니다.
다음 기사에서는 SSL 보호 프런트엔드를 사용하는 방법과 인증서를 생성하는 방법LetsEncrypt을 소개합니다.
Reference
이 문제에 관하여(Azure의 Grafana – Azure MySQL 스토리지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/martinjt/grafana-on-azure-azure-mysql-storage-7dg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)