How to Dev
도커 기반의 jitsi-meet 그라파나 대시보드 구성
거울나라
2020. 12. 28. 14:46
이전 포스트에서 도커기반의 jitsi-meet를 설치 후 그라파나 대시보드 구성
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
```
그라파나 이미지 다운로드 및 실행
-
Grafana, Telegraf, Influxdb가 포함된 도커 이미지 사용
docker pull samuelebistoletti/docker-statsd-influxdb-grafana
-
그라파나 도커 이미지 실행
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
-
URL로 이미지 접속
http://0.0.0.0:3003
기본 계정 및 비밀 번호 : root/root
jitsi 설정
-
도커 컨테이너에 접속 및 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 = ""
```
-
저장 후 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