ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 도커 기반의 jitsi-meet 그라파나 대시보드 구성
    How to Dev 2020. 12. 28. 14:46

    도커 기반 jitsi 대시보드

    이전 포스트에서 도커기반의 jitsi-meet를 설치 후 그라파나 대시보드 구성

    softmagic.tistory.com/92

     

    jitsi meet 설치 가이드(docker 기반 퀵 가이드)

    jitssi meet 설치 가이드 (도커 기반) Jitsi는 웹 플랫폼, Windows, Linux, macOS, iOS 및 Android 용 무료 오픈 소스 다중 플랫폼 음성, 화상 회의 및 인스턴트 메시징 애플리케이션 모음 라이선스 : Apache Lice..

    softmagic.tistory.com

     

    • 그라파나 대시보드를 구성하기 위해서는 jits-meet에서 jvb의 포트 8080을 추가
    • .env 파일에서 JVB_ENABLE_APIS=rest,colibri 추가

    (동일 서버에서) curl 명령으로 해당 포트 및 정보 수신 확인

    ```
    curl -v http://0.0.0.0:8080/colibri/stats # 다른 서버에서 그라파나 설치시 IP 변경 
    ```

    아래와 같은 경우 설정을 다시 확인해야 함

    ```
    *   Trying 0.0.0.0...
    * TCP_NODELAY set
    * connect to 0.0.0.0 port 8080 failed: Connection refused
    * Failed to connect to 0.0.0.0 port 8080: Connection refused
    * Closing connection 0
    curl: (7) Failed to connect to 0.0.0.0 port 8080: Connection refused
    ```

    그라파나 이미지 다운로드 및 실행

    1. Grafana, Telegraf, Influxdb가 포함된 도커 이미지 사용

      docker pull samuelebistoletti/docker-statsd-influxdb-grafana
    2. 그라파나 도커 이미지 실행

      docker run --ulimit nofile=66000:66000 -d -it --name docker-statsd-influxdb-grafana -p 3003:3003 -p 3004:8888 -p 8086:8086 -p 22022:22 -p 8125:8125/udp samuelebistoletti/docker-statsd-influxdb-grafana:latest
    3. URL로 이미지 접속
      http://0.0.0.0:3003
      기본 계정 및 비밀 번호 : root/root

    jitsi 설정

    1. 도커 컨테이너에 접속 및 telegraf.conf 설정

      docker exec -it docker-statsd-influxdb-grafana bash
      nano /etc/telegraf/telegraf.conf

      일부분만 수정

      [global_tags]
      ###############################################################################
      GLOBAL
      ###############################################################################
      
      [agent]
      interval = "10s"
      debug = false
      hostname = "jitsi_host"
      round_interval = true
      flush_interval = "10s"
      flush_jitter = "0s"
      collection_jitter = "0s"
      metric_batch_size = 1000
      metric_buffer_limit = 10000
      quiet = false
      logfile = ""
      omit_hostname = false
    ```
    저장 후 telegraf.d에 jitsi.conf 생성
    ```sh
    nano /etc/telegraf/telegraf.d/jitsi.conf
    ```
    
    ```
    
    ###############################################################################
    #                                  INPUTS                                     #
    ###############################################################################
    
    [[inputs.http]]
        name_override = "jitsi_stats"
        urls = [
          "http://0.0.0.0:8080/colibri/stats" # 다른 서버일 경우 ip 수정
        ]
    
        data_format = "json"
    
    ###############################################################################
    #                                  OUTPUTS                                    #
    ###############################################################################
    
    [[outputs.influxdb]]
        urls = ["http://localhost:8086"]
        database = "jitsi"
        timeout = "0s"
        retention_policy = ""
    ```
    1. 저장 후 telegraf 재시작

       systemctl enable --now telegraf
       systemctl status telegraf

    그라파나 대시보드 JSON 파일 다운로드 및 적용

    grafana.com/api/dashboards/11969/revisions/5/download

    Jitsi Metrics를 위의 링크에서 그라파나용 대시보드 json을 다운로드 받아 그라파나에 적용

    패키지 기반의 그라파나 대시보드 설정

    # 1 단계 : InfluxDB 설치
    sudo apt update && sudo apt install -y gnupg2 curl wget
    wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
    echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
    sudo apt update && sudo apt install influxdb -y
    sudo systemctl enable --now influxdb
    sudo systemctl status influxdb
    
    # 방화벽
    ufw allow 8086/tcp
    ufw allow 3000/tcp
    # 2 단계 : Grafana를 설치하여 통계 대시 보드 표시
    curl https://packages.grafana.com/gpg.key | sudo apt-key add -
    sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
    sudo apt update && sudo apt install grafana -y
    sudo systemctl enable --now grafana-server
    sudo systemctl status grafana-server
    # 3 단계 : Telegraf 설치 및 구성
    wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
    echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
    sudo apt update && sudo apt install telegraf -y
    sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.original
    sudo vi /etc/telegraf/telegraf.conf
    [global_tags]
    
    ###############################################################################
    #                                  GLOBAL                                     #
    ###############################################################################
    
    [agent]
        interval = "10s"
        debug = false
        hostname = "jitsi_host"
        round_interval = true
        flush_interval = "10s"
        flush_jitter = "0s"
        collection_jitter = "0s"
        metric_batch_size = 1000
        metric_buffer_limit = 10000
        quiet = false
        logfile = ""
        omit_hostname = false
    sudo vi /etc/telegraf/telegraf.d/jitsi.conf
    ###############################################################################
    #                                  INPUTS   (그라파나 서버)                    #
    ###############################################################################
    
    [[inputs.http]]
        name_override = "jitsi_stats"
        urls = [
          "http://localhost:8080/colibri/stats"
        ]
    
        data_format = "json"
    
    ###############################################################################
    #                                  OUTPUTS                                    #
    ###############################################################################
    
    [[outputs.influxdb]]
        urls = ["http://localhost:8086"]
        database = "jitsi"
        timeout = "0s"
        retention_policy = ""
    # 4 단계 : Jitsi onfiguration을 조정하여 통계 노출
    code /etc/jitsi/videobridge/config
    
    JVB_OPTS="--apis=rest,xmpp" 
    
    
    code /etc/jitsi/videobridge/sip-communicator.properties
    org.jitsi.videobridge.ENABLE_STATISTICS=true
    org.jitsi.videobridge.STATISTICS_TRANSPORT=muc,colibri
    
    service jitsi-videobridge2 restart
    curl -v http://127.0.0.1:8080/colibri/stats
Designed by Tistory.