東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

急に録画サーバで録画できなくなった。解決するまでの流れ。

録画サーバが急に動かなくなりました。

久しぶりにこの症状が発症して、対応策を忘れており、解決までに時間がかかりました。未来の自分のためにどのようにトラブルに対応したかを記録に残しておきます。

症状

昨日までは録画できていたのに、録画できなくなりました。

Chinachuは動いていますが、録画中のところに番組名は表示されるものの、画面キャプチャが表示されていませんでした。

また、tsファイルも作成されていませんでした

対処の流れ(記録)

もっとスマートにできたと思うのですが、解決するまでにやったことを記述します。

再起動

まずは再起動しました。

過去に同様の事象がありましたので、その時と同じように対応しました。

電源を落とし、さらに電源ケーブルを抜いて10分ぐらい時間をおいて、電源を入れました。

しかし、症状は改善しませんでした。

録画できるかを確かめる

以下のように録画そのものができるかを確かめました。コマンドは有効で、録画ファイルが作成されました。

この確認でチューナーや録画コマンドが悪いわけではないというのがわかりました。

recpt1 --b25 --strip 27 10 ~/test.ts
using B25...
enable B25 strip
(PID:9766)(CH:T27) Presented = 0x0, Locked = 0x0, Strength = 0, Quality = 0, C/N = 0.000000dB
(PID:9766)(CH:T27) Presented = 0x1, Locked = 0x1, Strength = 74, Quality = 100, C/N = 34.486882dB

(PID:9766)(CH:T27) Recording...
(PID:9766)(CH:T27) Recorded 10sec

Chinachuの再起動

以下のようにChinachuを再起動します。再起動すると、ちゃんと動いているように見えます。まぁブラウザでも表示されるので、停止しているわけではないんですよね。

あとで気づくのですが、ここで「mirakurun-server」が表示されていないことを気づくべきでした。

pm2 restart chinachu-wui chinachu-operator

[root@rec run]# pm2 restart chinachu-wui chinachu-operator
Use --update-env to update environment variables
[PM2] Applying action restartProcessId on app [chinachu-wui](ids: 0)
[PM2] [chinachu-wui](0) ?
Use --update-env to update environment variables
[PM2] Applying action restartProcessId on app [chinachu-operator](ids: 1)
[PM2] [chinachu-operator](1) ?
lqqqqqqqqqqqqqqqqqqqwqqqqqqwqqqqqqqqwqqqwqqqqqwqqqqqqqqqqqqk
x Name              x mode x status x ? x cpu x memory     x
tqqqqqqqqqqqqqqqqqqqnqqqqqqnqqqqqqqqnqqqnqqqqqnqqqqqqqqqqqqu
x chinachu-operator x fork x online x 9 x 0%  x 9.7 MB     x
x chinachu-wui      x fork x online x 9 x 19% x 174.8 MB   x
mqqqqqqqqqqqqqqqqqqqvqqqqqqvqqqqqqqqvqqqvqqqqqvqqqqqqqqqqqqj
 Use `pm2 show <id|name>` to get more details about an app

Chinachuのアップデート

Chinachuのバグを踏んでいるのかもしれないと考え、Chinachuをアップデートしました。このアップデートは全く関係なかったと思います。。。

./chinachu updater

アップデート方法は以下を参考にしました。

How to Update · Chinachu/Chinachu Wiki · GitHub

ログの確認

ここにきてようやくログの確認をしました。確認したのは、以下のログです。

cd /usr/local/var/log
cat chinachu-operator.stdout.log

確認すると、以下のようにエラーが出力されていました。mirakurunとの接続がうまくいっていないようなログが出ています。

ここでようやくmirakurunがちゃんと動いていないのではないかと思い始めました。

6 Apr 21:28:30 - ERROR: #381f5ks7mw 2019-04-06T21:00:00+0900 [NHK総合1・東京シャル 平成史 /var/run/mirakurun.sock ENOENT

mirakurunの確認

/var/run/mirakurun.sockとの接続がうまくいってないようなので、lsで存在を確かめると表示されません。

ls /var/run/mirakurun.sock

mirakurunの起動

普通にstartと入力すれば良かったかもしれませんが、restartで起動してみました。

そうすると、mirakurun-serverが表示されました。もっと早く気づいていればよかった。。。

# mirakurun restart
[PM2][WARN] Applications mirakurun-server not running, starting...
[PM2] App [mirakurun-server] launched (1 instances)
lqqqqqqqqqqqqqqqqqqqwqqqqqqwqqqqqqqqwqqqwqqqqqwqqqqqqqqqqqqk
x Name              x mode x status x ? x cpu x memory     x
tqqqqqqqqqqqqqqqqqqqnqqqqqqnqqqqqqqqnqqqnqqqqqnqqqqqqqqqqqqu
x chinachu-operator x fork x online x 8 x 0%  x 34.2 MB    x
x chinachu-wui      x fork x online x 8 x 0%  x 163.5 MB   x
x mirakurun-server  x fork x online x 0 x 0%  x 4.8 MB     x
mqqqqqqqqqqqqqqqqqqqvqqqqqqvqqqqqqqqvqqqvqqqqqvqqqqqqqqqqqqj
 Use `pm2 show <id|name>` to get more details about an app

また、lsでmirakurun.sockを確認すると、表示されました。

# ls /var/run/mirakurun.sock
/var/run/mirakurun.sock

また、mirakurunの起動により、/usr/local/var/logに以下のログが出力されることも確認しました。

  • mirakurun.stderr.log
  • mirakurun.stdout.log

ということで、まとめ

mirakurunの起動で解決したことから、mirakurunが起動していなかったのが原因だったと考えます。

ここまで到達するのに時間がかかってしまった。。。

Node.js超入門[第2版]

Node.js超入門[第2版]