Статистика для сервера nginx rtmp
Я пытаюсь получить статистику для nginx в качестве сервера rtmp, ниже находится мой конфигурационный файл, но я получаю 403 на http://ip:8080/stat.xsl (также пробовал http://ip/stat.xsl который дает 404 и http://ip:8080/stat/stat.xsl, который дает пустую страницу, без ошибок).
Я скопировал эти настройки отсюда: https://github.com/arut/nginx-rtmp-module
Не уверен, что не так...
Мне нужно найти способ получить статистику с сервера RTMP или способ по крайней мере получить активные подключения.
Благодарю.
rtmp {
server {
listen 1935;
chunk_size 4000;
allow play all;
application live {
allow play all;
live on;
hls on;
hls_nested on;
hls_path /HLS/hls;
hls_fragment 10s;
record off;
}
}
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 8080;
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
}
alias /HLS/hls;
add_header Cache-Control no-cache;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /root/nginx-rtmp-module-dev/stat.xsl/;
}
}
}
ОБНОВЛЕНИЕ: Когда я получаю доступ к http://IP:8080/stat/stat.xsl, я вижу это в консоли Chrome, которое, я думаю, связано: Resource interpreted as Stylesheet but transferred with MIME type text/xml: http://IP:8080/stat/stat.xsl
2 ответа
У меня была аналогичная проблема со статистикой RTMP.
Во-первых, корневой каталог stat.xsl должен быть каталогом, содержащим stat.xsl. Корневой каталог не должен быть прямым путем к stat.xsl. В моем случае я поместил его в:
/var/www/stat.xsl
. См. Расположение /stat.xsl ниже:
Во-вторых, я добавил "Разрешить всем", чтобы разрешить всем просматривать страницу статистики. Я также добавил заголовок обновления, который заставит статистику обновляться каждую третью секунду.
Это содержимое моего
/etc/nginx/sites_available/default
файл:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name localhost;
location / {
try_files $uri $uri/ =404;
index index.html index.htm index.nginx-debian.html;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
# Allow access from any visitor
allow all;
# Live updates for the stat page
add_header Refresh "3; $request_uri";
}
location /stat.xsl {
root /var/www/;
}
}
Затем, когда вы посетите
http://<hostname>/stat
вы увидите статистику RTMP, представленную для каждого настроенного потока.
Проверьте разрешения на /root/nginx-rtmp-module-dev/stat.xsl/stat.xsl
и его родительские каталоги. Вы найдете это /root
не читается веб-сервером, поэтому вы получаете ошибку 403.
Чтобы устранить проблему, переместите файл в соответствующее место и измените конфигурацию nginx, чтобы она соответствовала.
Скопируйте файл nginx-rtmp-stat.xsl в вашу html-папку nginx-rtmp.
установить stat.xsl путь к html-папке nginx-rtmp
location /stat.xsl {
root /path-to-nginx-rtmp-html-folder/;
}
и перейдите на http://yourip/stat
Я думаю, что проблема должна быть решена уже. Но я боролся с той же проблемой и нашел решение, которое нам нужно, чтобы получить доступ к статистике, используя URL-адрес маршрутизации, а не с именем файла. Например: example.com/stat, тогда stat будет перенаправлен на реальную страницу. Там мы можем увидеть таблицу со статистикой RTMP.