本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
Nginxリアルタイムログ解析したい
HLS配信にしてから、リアルタイムでアクセス状況を知るのが難しくなりました。
RTMP配信の時は、nginx rtmp-module に、テンプレートがあって、これを使って接続拠点数、回線帯域をリアルタイムに監視する事ができたのですが、HLS配信ではこの方法はとる事ができずです。
解析ツールGoAccess
そこで、リアルタイムwebログ解析ソフトGoAccessを利用してwebレポートを吐けるようにしました。
このGoAccessのwebレポートから、情報が分かりやすいようにカスタマイズしてみます。
リアルタイムWebレポート
GoAccessのWebレポートは秀逸です。デザインもかっこいい。そこで、HLS配信している時に、ユニークアクセス数と、配信帯域が極力わかるような形のオプションをつけて実行してみました。
goaccess /usr/local/nginx/logs/access.log -o /usr/local/nginx/html/dashbord/report.html --real-time-html --log-format=COMBINED --hour-spec=min --date-spec=hr
ユニークアクセス数
UNIQUE VISITORS PER DAY – INCLUDING SPIDERS
このパネルには、ヒット数、ユニークビジター、日付ごとの累積帯域幅などの指標が表示されます。同じIP、同じ日付、同じユーザーエージェントを含むHTTPリクエストは、一意の訪問者とみなされます。デフォルトでは、Webクローラ/スパイダが含まれています。
オプション
–date-spec = hr
をつける事で、時間レベルでユニークアクセス数の解析ができるようになります。1日だと、リアルタイム性にかけますが、時間ごとにすると、まだ妥当な数字になってきます。
10:00 – 11:00 の間のユニークアクセス数が、51という事になります。ただ、この中には、m3u8以外のファイルにアクセスした可能性や、クロールなど何か他の要因でのアクセスも数に含まれるため若干多めだと考えていた方が良い値です。
帯域幅
TIME DISTRIBUTION
このパネルには、1時間ごとのレポートが表示されます。このオプションでは、24時間分のデータポイントが1日の1時間ごとに表示されます。1時間ごとのレポートだと、ちょっとおおざっぱすぎて、HLS配信時のリアルタイムな帯域幅を見るには情報不足です。これを下記オプションをつける事で10分ごとの表示変更する事が可能です。
オプション
–hour-spec = min
10分ごと帯域幅表示ができるので、これを600秒(10分)で割ると、1秒当たりのGiBが分かります。また、時間の表示が独特です。10:5と表示されると、これは10:50の事を表します。
12:50の値は、7.31GiBなので、0.012GiB/sのデータ帯域幅を利用しているという事になります。ざっと12MB/sで、96Mbpsという事になります。※GiB(ギビバイト)換算していない簡易計算