Category: Grafana

  • Under reverse proxy

    예전에 시도했을 때에는 잘 안되었다. 이번에는 성공했다.

    내가 시도한 환경은 도커 컨테이너에서 Grafana와 PostgreSQL, NGINX를 이용하여 80번 포트로 접속하도록 하는 것이다. 다른 경우로 사용할 것을 대비하여 subfolder에 연결되도록 했다.

    /etc/grafana/grafana.ini 파일에서 [server] 부분을 수정한다.

    [server]
    domain = dorm.welovedoctor.com
    root_url = http://dorm.welovedoctor.com/grafana/
    serve_from_sub_path = true

    /etc/nginx/sites-available/default 파일에서 다음과 같이 수정한다.

    map $http_upgrade $connection_upgrade {
      default upgrade;
      '' close;
    }
    
    upstream grafana {
      server localhost:3000;
    }
    
    server {
      listen 80 default_server;
      listen [::]:80 default_server;
      root /var/www/html;
      server_name dorm.welovedoctor.com;
      location /grafana/ {
        proxy_set_header Host $host;
        proxy_pass http://grafana;
      }
    
      location /grafana/api/live/ {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Host $host;
        proxy_pass http://grafana;
      }
    
    }
  • Rename fields by regex

    Grafana에서 InfluxDB 자료를 시각화 할 때 legend는 위와 같이 나온다. 간결하게 보이게 하고 싶었다.

    Trasformation의 rename fields by regex 를 이용하면 된다.

    ^.*{.*device="([^"]+)".*, location="([^"]+)"}.*$

    코파일럿의 도움으로 이런 정규식을 작성했다.

    이렇게 출력된다. 나중에는 ‘_$1’도 삭제하면 될 것 같다.

  • Right axis

    Grafana 버전에 따르서 메뉴 위치가 바뀐 것 같다. 양쪽에 axis를 보이고 싶게 하려면 override 항목에서 axis > placement 로 설정하면 된다.

  • Grafana 익명 로그인

    자동 로그인 과는 다른 익명 로그인이다. 그러니까 ID/PW 입력 과정 없어도 시각화 화면을 보이도록 하는 것에 목적이 있다.

    grafana.ini 파일에서 다음의 부분을 찾아서 수정한다.

    #################################### Anonymous Auth ######################
    [auth.anonymous]
    # enable anonymous access
    ;enabled = false
    enabled = true
    # specify organization name that should be used for unauthenticated users
    ;org_name = Main Org.
    
    # specify role for unauthenticated users
    ;org_role = Viewer
    
    # mask the Grafana version number for unauthenticated users
    ;hide_version = false
    

    보면 알겠지만 기본 역할은 Viewer로 되어 있다는 것을 알 수 있다. 그렇기 때문에 기본 dashboard에서 해당 기능만 부여할 수 있도록 사전에 설정해 두어야 한다.