Azure의 Grafana – Azure MySQL 스토리지

여러 부분으로 구성된 이 시리즈에서는 Azure에서 Grafana를 안전하고 저렴하게 위탁 관리하는 방법, 그리고 이를 통해 Azure Monitor/App Insights에서 좋은 가시성을 얻는 방법을 배울 것이다.
  • Part 1 – Hosting/Configuration
  • Part 2 – Azure MySQL Storage (this post)
  • Part 3 – SSL with LetsEncrypt
  • Part 4 – Azure AD Login
  • 섹션 5 - Azure Monitor 데이터 소스(출시 예정)
  • 이전 글에서, 당신은 이미 Azure에 기본적인Grafana 가상 기기를 설치했는데, 이것은 가상 기기 디스크의 데이터베이스를 데이터로 저장합니다.
    이 문서에서는 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.crtgrafana를 다시 시작합니다. 기본 인증서를 사용하여 다시 로그인해야 합니다.
    sudo systemctl restart grafana-server
    
    url이 시간을 초과하면 로그를 보십시오.
    sudo tail -f /var/log/grafana/grafana.log
    
    자주 발생하는 오류는 MySQL 인스턴스에 액세스하는 것입니다.이것은 위의 로그 꼬리가 데이터베이스 이전을 시작할 때 멈추는 것으로 나타납니다.가능한 이유:
  • 사용자 이름이 없습니다. @<server-name>
  • ssl_modeca_cert_path 미설치
  • MySQL 방화벽 규칙이 설정되지 않았습니다.
  • 만일 모든 것이 순조롭다면 Grafana 로그인 화면을 볼 수 있고 기본 관리자 비밀번호를 입력하고 초기화해야 합니다.

    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을 소개합니다.

    좋은 웹페이지 즐겨찾기