東京生まれHOUSE MUSIC育ち

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

Spotifyで宇多田ヒカルのアルバム「初恋」が聴けないから、TSUTAYAで借りてきた

音楽はSpotifyが頼りなのですが、宇多田ヒカルのアルバム「初恋」を聴けません。もう少し時間が経過すれば聴けるようになるかもしれないのですが、パクチーをテーマにした曲を聴きたくて、TSUTAYAでレンタルしてきました。

購入すればいいのですが、後々捨てるのはしのびないので1泊2日でレンタルしてしまいました。

初恋

初恋

このアルバム、いいです。

パクチー パクパク」が頭の中でヘビーローテーションです。

一時活動休止を経てもなお唯一無二の存在であることを証明した復帰作「Fantôme」から19ヶ月。レーベル移籍後初となる7枚目のオリジナルアルバムが遂に完成。伝えきれない感情を、誰もが知っている言葉で描く。言い尽くせない想いを、誰もが親しみを覚える旋律で奏でる。そのポップクリエイターとしての創造性は、デビュー20周年を迎えた今も絶頂期であることを如実に物語る12曲。先行配信楽曲「大空で抱きしめて」(「サントリー天然水」CMソング)、Forevermore(TBS系 日曜劇場「ごめん、愛してる」主題歌)、あなた(映画「DESTINY 鎌倉ものがたり」主題歌/ソニー「ノイキャン・ワイヤレス」CMソング)に加え、「誓い」(ゲームソフト「KINGDOM HEARTS III」テーマ ソング)、「初恋」(TBS系 火曜ドラマ「花のち晴れ〜花男 Next Season〜」イメージソング)、「Play A Love Song」(「サントリー 南アルプススパークリング」CMソング)を収録。

引用元:https://www.amazon.co.jp/%E5%88%9D%E6%81%8B-%E5%AE%87%E5%A4%9A%E7%94%B0%E3%83%92%E3%82%AB%E3%83%AB/dp/B07CKQR6T3

収録曲
01. Play A Love Song
02. あなた
03. 初恋
04. 誓い
05. Forevermore
06. Too Proud featuring Jevon
07. Good Night
08. パクチーの唄
09. 残り香
10. 大空で抱きしめて
11. 夕凪
12. 嫉妬されるべき人生

猛暑日に録画サーバで24時間エンコードしたので、温度の変化を記録する

3連休は猛暑日が続いています。TBSで放送していた「音楽の日 2018」を録画していました。「音楽の日 2018」は一部、二部で合計13時間ぐらい放送しており、その他の録画番組を含めて約24時間エンコードしていました。

このタイミングでどれくらい温度が上昇したのか、記録として振り返ります。

日単位のグラフ

グラフは日単位のグラフです。

CPU使用率

CPUは約400%使いっぱなしでです。400%と表示されるのは、CPUは論理的に4つあるようにみえているためです。

f:id:padobure:20180716103846p:plain

CPU温度

CPUは最大値で77度程度です。上記のようにエンコード時はCPUをフルに使用しているため、温度が上昇しています。

f:id:padobure:20180716103933p:plain

HDD温度

HDD温度は46度を最大値として、高止まりしている印象です。部屋の外気温も高いので、50度ぐらいまで上昇すると予想していたのですが、そこまでの上昇ではなかったです。

f:id:padobure:20180716103956p:plain

参考 気象庁の観測データ

以下は気象庁の観測データです。

2018年07月15日 東京(トウキョウ) 毎正時の観測データ

時刻  気温  降水量   風向  風速  日照時間    湿度  気圧
時 ℃ mm  16方位    m/s h   %   hPa
1   27.7    0.0 南南東   2.7     90  1012.0
2   26.9    0.0 南南東   2.3     93  1012.2
3   26.8    0.0 南南東   2.8     95  1012.2
4   26.6    0.0 南南東   2.6 0.0 94  1012.1
5   26.3    0.0 南南東   2.1 0.0 95  1012.3
6   27.8    0.0 南南東   1.4 0.2 90  1012.5
7   28.2    0.0 南 1.3 0.1 84  1012.7
8   30.0    0.0 南東  1.1 0.9 72  1012.6
9   31.0    0.0 南 1.1 0.9 72  1012.5
10  32.0    0.0 南南東   3.1 0.8 71  1012.6
11  31.9    0.0 南南東   3.8 1.0 68  1012.3
12  32.8    0.0 南東  4.1 1.0 64  1011.7
13  33.8    0.0 南東  5.4 1.0 59  1011.1
14  34.5    0.0 南東  6.0 1.0 59  1010.7
15  33.5    0.0 南南東   4.5 1.0 59  1010.3
16  32.5    0.0 南南東   4.7 1.0 66  1010.1
17  30.8    0.0 南南東   4.2 0.9 67  1010.2
18  29.9    0.0 南 4.1 0.8 72  1010.7
19  28.9    0.0 南南東   3.8 0.5 81  1011.0
20  28.3    0.0 南南東   3.3 0.0 82  1011.5
21  28.3    0.0 南南東   3.6     83  1011.6
22  27.7    0.0 南 3.0     87  1011.6
23  28.1    0.0 南 3.6     84  1011.8
24  27.9    0.0 南南西   2.6     83  1011.

漫画読んだら、映画観たくなった「志乃ちゃんは自分の名前が言えない」

きっかけは毎日聞いているラジオ番組「荻上チキ Session22」の特集でした。

7月10日に放送されたもので、以下のリンクから音声を聴くことができます。

www.tbsradio.jp

特集では、吃音症とは何なのかとかという定義だったり、「どもり」との違いは何か、なぜ吃音症になるのか等を話していました。

もちろん、原作漫画と映画のことも話していて、なんとなく面白そうだと思い、漫画喫茶で原作を読んでみました。

志乃ちゃんは自分の名前が言えない

志乃ちゃんは自分の名前が言えない

原作漫画はとても面白かったです。自分は吃音症ではないと思うのですが、やたらと主人公の志乃に感情移入してしまって、前半は読んでて辛かったです。

映画の予告は以下。ぜひ観たいです。

youtu.be

映画『志乃ちゃんは自分の名前が言えない』公式サイト

上映館が少なくて、東京だと新宿武蔵野館での上映です。もう少し観やすくなってほしいです。

劇場情報|映画『志乃ちゃんは自分の名前が言えない』公式サイト

録画サーバでChinachuのログローテーションできないときがある。と、その対応

録画サーバを日々運用していると、期待通りに動かなくなることがあります。原因を調べたり、原因となる障害を取り除いたりしていると、色々なノウハウがたまってきますね。

事象

以下で書いたように録画の開始と終了をslackに通知しています。実装はChinachuのログを監視して、任意のキーワードが出力されるとslackに通知するというものです。

しかし、このslack通知が動作しなくなるのです。対処しないと2日でも3日でもslackへの通知はされません。

chinachuでの録画開始、録画終了をslackに連携する - 東京生まれHOUSE MUSIC育ち

原因

原因はChinachuのログがうまくローテーションできていないのが原因でした。

以下のファイルが肥大化するため、ローテーションしています。このローテーションがうまく動かなくて、ログ監視ができていないというのがわかりました。監視対象となるファイルが0バイトで、ログが書かれていなかったのです。

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

対処として実際にやってみたこと

実際にやってみたのは、Chinachuの再起動です。以下のコマンドで再起動しました。そしたら、ちゃんとslackへの通知ができるようになりました。

pm2 restart chinachu-wui chinachu-operator

再発したら、試してみたいこと

ログローテートがうまく動いていないので、Chinachuを再起動するのではなく、ログローテートをちゃんと動かせばいいのではないかと思いました。

pm2 listすると、以下のようにpm2-logrotateが表示されます。(状態確認)

# pm2 list
lqqqqqqqqqqqqqqqqqqqwqqqqqqwqqqqqqqqwqqqwqqqqqwqqqqqqqqqqqqk
x Name              x mode x status x ? x cpu x memory     x
tqqqqqqqqqqqqqqqqqqqnqqqqqqnqqqqqqqqnqqqnqqqqqnqqqqqqqqqqqqu
x chinachu-operator x fork x online x 1 x 0%  x 36.0 MB    x
x chinachu-wui      x fork x online x 1 x 0%  x 134.8 MB   x
x mirakurun-server  x fork x online x 0 x 0%  x 184.4 MB   x
mqqqqqqqqqqqqqqqqqqqvqqqqqqvqqqqqqqqvqqqvqqqqqvqqqqqqqqqqqqj
 Module activated
lqqqqqqqqqqqqqqqwqqqqqqqqwqqqqqwqqqqqqqqqqqqqk
x Module        x status x cpu x mem         x
tqqqqqqqqqqqqqqqnqqqqqqqqnqqqqqnqqqqqqqqqqqqqu
x pm2-logrotate x online x 0%  x 48.941 MB   x
mqqqqqqqqqqqqqqqvqqqqqqqqvqqqqqvqqqqqqqqqqqqqj
 Use `pm2 show ` to get more details about an app

次に、pm2 show pm2-logrotateすると、以下のように表示されます。(状態確認)

# pm2 show pm2-logrotate
 Describing process with id 0 - name pm2-logrotate
lqqqqqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x status            x online                                                             x
x name              x pm2-logrotate                                                      x
x restarts          x 0                                                                  x
x uptime            x 9D                                                                 x
x script path       x /root/.pm2/modules/pm2-logrotate/node_modules/pm2-logrotate/app.js x
x script args       x N/A                                                                x
x error log path    x /root/.pm2/logs/pm2-logrotate-error-0.log                          x
x out log path      x /root/.pm2/logs/pm2-logrotate-out-0.log                            x
x pid path          x /root/.pm2/pids/pm2-logrotate-0.pid                                x
x interpreter       x node                                                               x
x interpreter args  x N/A                                                                x
x script id         x 0                                                                  x
x exec cwd          x /root/.pm2/modules/pm2-logrotate/node_modules/pm2-logrotate        x
x exec mode         x fork_mode                                                          x
x node.js version   x 8.11.3                                                             x
x watch & reload    x ?                                                                  x
x unstable restarts x 0                                                                  x
x created at        x 2018-07-01T13:35:54.671Z                                           x
mqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
Process configuration
lqqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqqqqqqqk
x rotateModule   x true                x
x rotateInterval x 0 0 * * *           x
x workerInterval x 30                  x
x dateFormat     x YYYY-MM-DD_HH-mm-ss x
x compress       x false               x
x retain         x 30                  x
x max_size       x 10M                 x
mqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqj
 Actions available
lqqqqqqqqqqqqqqqqqqqk
x list watched logs x
x list all logs     x
mqqqqqqqqqqqqqqqqqqqj
 Trigger via: pm2 trigger pm2-logrotate 

 Code metrics value
lqqqqqqqqqqqqqqqqqqwqqqqqqqqqk
x Loop delay       x 0.88ms  x
x Active requests  x 0       x
x Active handles   x 6       x
x Global logs size x 5.51 KB x
x Files count      x 24      x
mqqqqqqqqqqqqqqqqqqvqqqqqqqqqj
 Add your own code metrics: http://bit.ly/code-metrics
 Use `pm2 logs pm2-logrotate [--lines 1000]` to display logs
 Use `pm2 monit` to monitor CPU and Memory usage pm2-logrotate

再起動として、「pm2 restart pm2-logrotate」をすればいいのではないかと考えます。

以下の結果は試しにpm2 restart pm2-logrotateしてみた結果です。

# pm2 restart pm2-logrotate
Use --update-env to update environment variables
[PM2] Applying action restartProcessId on app [pm2-logrotate](ids: 0)
[PM2] [pm2-logrotate](0) ?
lqqqqqqqqqqqqqqqqqqqwqqqqwqqqqqqwqqqqqqwqqqqqqqqwqqqqqqqqqwqqqqqqqqwqqqqqwqqqqqqqqqqqqwqqqqqqwqqqqqqqqqqk
x App name          x id x mode x pid  x status x restart x uptime x cpu x mem        x user x watching x
tqqqqqqqqqqqqqqqqqqqnqqqqnqqqqqqnqqqqqqnqqqqqqqqnqqqqqqqqqnqqqqqqqqnqqqqqnqqqqqqqqqqqqnqqqqqqnqqqqqqqqqqu
x chinachu-operator x 3  x fork x 7173 x online x 1       x 36h    x 0%  x 37.0 MB    x root x disabled x
x chinachu-wui      x 2  x fork x 7124 x online x 1       x 36h    x 0%  x 135.5 MB   x root x disabled x
x mirakurun-server  x 1  x fork x 1150 x online x 0       x 9D     x 0%  x 159.0 MB   x root x disabled x
mqqqqqqqqqqqqqqqqqqqvqqqqvqqqqqqvqqqqqqvqqqqqqqqvqqqqqqqqqvqqqqqqqqvqqqqqvqqqqqqqqqqqqvqqqqqqvqqqqqqqqqqj
 Module activated
lqqqqqqqqqqqqqqqwqqqqqqqqqwqqqqqqqqqqqqwqqqqqqqqwqqqqqqqqqwqqqqqwqqqqqqqqqqqqwqqqqqqk
x Module        x version x target PID x status x restart x cpu x memory     x user x
tqqqqqqqqqqqqqqqnqqqqqqqqqnqqqqqqqqqqqqnqqqqqqqqnqqqqqqqqqnqqqqqnqqqqqqqqqqqqnqqqqqqu
x pm2-logrotate x N/A     x N/A        x online x 1       x 24% x 4.023 MB   x root x
mqqqqqqqqqqqqqqqvqqqqqqqqqvqqqqqqqqqqqqvqqqqqqqqvqqqqqqqqqvqqqqqvqqqqqqqqqqqqvqqqqqqj
 Use `pm2 show ` to get more details about an app

pm2 restart pm2-logrotateしても、以下のファイルサイズは変更されませんでした。

期待したのは、再起動すると、強制的にログローテートされて新しくファイルが作られることでした。ログが切り替わらなければ、もしかしたら効果は無いのかも。。。

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

aceのビジネスバッグを購入したぜ

これまで通勤で使用してきたバッグが破れてきました。6年ぐらいほぼ毎日使用していたので、寿命なんだと思います。そこで、新しいバッグを購入しました。

購入したバッグ

新しいのはaceというブランドのビジネスバッグです。トートバッグな形をしてます。

購入した価格

22000円で、消費税を入れると23760円でした。

今まで安価なバッグを使用していたので、自分にしては大きな買い物でした。

新しいバッグに求めたもの

普段の持ち物が入る大きさ

会社にもっていくものが以下のように多いので、軽くて大きいバッグが良かったのです。

  • お弁当
  • 水筒(500ml)
  • サウナセット(洗顔、剃刀、タオル)

パソコンを入れたい

13.3インチのノートパソコンを入れて持ち運びたくて、その大きさのノートパソコンを入れることのできる大きさを求めました。

床に置けるように底に鋲が欲しい

通勤電車で混雑していないときは床にバッグを置くことが多いです。そこで、バッグの底に鋲があるのを探しました。

丈夫

できるだけ丈夫なのを探しました。毎日持ち歩くので、丈夫で壊れにくいのを探しました。

使ってみて

とても良いです。今まで入れていた物は入りますし、小さなポケットが多くて、便利です。

見た目もスマートなのでとても気に入ってます。

ansibleを使って自動構築する試み

録画サーバを再インストールした時に思ったのは、「とても面倒臭い」です。

なんとか自動化できないかと考えて、冪等性を担保できるansibleを活用しようと考えました。

そこで、SELinuxとFirewallを無効化するplaybookを作りました。作ったといっても、ほぼ参考にした記事からなのですが。。。

playbookを作るのは手間がかかりますが、これを活用できれば環境構築が楽になりますね。もう少し勉強していきたいです。

---
- name: SELinuxとFirewallのPythonモジュールをインストール
  yum: name={{ item }} state=installed
  with_items:
   - libselinux-python
   - libsemanage-python
   - firewalld

- name: SELinuxの無効化
  selinux: state=disabled
  register: selinux

- name: SSHのポート番号の取得
  set_fact:
    ssh_port: "{{ hostvars[inventory_hostname].ansible_port if 'ansible_port' in hostvars[inventory_hostname] else 22 }}"
  when: selinux.reboot_required

- name: マシンのリブート
  shell: "sleep 2 && reboot"
  async: 1
  poll: 0
  when: selinux.reboot_required

- name: マシンの停止を待ち合わせ
  local_action: wait_for host={{ inventory_hostname }} port={{ ssh_port }} state=stopped
  when: selinux.reboot_required

- name: マシンの起動を待ち合わせ
  local_action: wait_for host={{ inventory_hostname }} port={{ ssh_port }} state=started
  when: selinux.reboot_required

- name: firewalldの無効化
  systemd:
    name: firewalld
    state: stopped
    enabled: false

参考にした記事

以下の記事がとても参考になりました。

関東梅雨明け。気温が高く、録画サーバのHDDも熱い

以下のニュースにあるように、関東が梅雨明けしました。

関東甲信 早すぎる梅雨明け 6月は初めて(日直予報士 2018年06月29日) - 日本気象協会 tenki.jp

HDD温度グラフ

気温が上昇し、常時電源ONな状態の録画サーバのHDD温度も上昇しています。

下のグラフは録画サーバのHDD温度を日、週、月、年に分けてのmuninのグラフです。赤い線は私が補助線として記入したもので、明らかに上昇しています。

f:id:padobure:20180701084102p:plain

CPU温度グラフ

ちなみに、CPU温度は以下です。同じような傾向にあります。外気温の上昇とともに、HDDやCPUの温度も上昇していると考えられます。

CPUはエンコードでしか使用していないので、エンコード時間が短くなればCPUへの負担は少なくなると思うのですが。。。

f:id:padobure:20180701084834p:plain

ちなみに、録画サーバの設置場所

録画サーバの設置場所はリビングではなく、離れた6畳の部屋です。

その部屋はエアコンが無く、人の出入りがほとんどないため、部屋に熱がこもりがちです。

対策案

梅雨明けして、夏がこれから始まるため、温度対策はちゃんと考えないと。今考えているアイデアは以下です。

  • ケースファンをたくさん回す。(BIOSで設定変更する)
  • 新しくケースファンを購入する。(フロント側に設置かな)