Статистика для сервера 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.

Другие вопросы по тегам