【Laravel】LaravelのログをAWS CloudWatchに転送する

バッチが上手く動いてないみたい、大きな障害にはなっていないけどエラーが出ていないかログを確認したい、そういうときにSSHでサーバに接続して、ログディレクトリまで降りていってログファイルを探して開いて検索して……というのが大変しんどいので、せっかくAWS上で動いてるんだし最低限のログをCloudWatchで見られるようにしたら便利じゃね?ってことでやってみました。

続きを読む

AWS S3の転送コストって結構下がってるのね

AWS S3

仕事で使っているAWS、オンプレミスからの移行が中途半端な部分があって(日程が厳しかったそうなので仕方ない)、数十KB~数MBのファイルがEC2のストレージに大量に入っています。ジャケット画像とか試聴用のMP3ファイルとか。本当は新システムリリース時にS3に移行したかったけど大量すぎて上手く行かなかったらしい。まあねえ。

続きを読む

AWS Lightsailのプランを変更 【#np2020】

Amazon Lightsail

先週ぐらいからサーバがもっさりすることがあって、放って置いても直らずインスタンスを再起動すると戻るんだけど2日したらまたもっさりの繰り返し。良く言われるCPUクレジットの話かなと思ったけれど、Lightsailのメトリックス見るとCPU使用量はかなり低い(3%前後)ので多分その可能性はない、DBかなあと思ったけれどそっちも同じ。おかしいなと思いつつメモリの使用量を見てみると、メモリの使用量が大きくなってて、うわヤバい何かやっちゃってる……?と思ったけどそうじゃありませんでした。一番安いプランのままだったよ……

続きを読む

【CentOS】ターミナルに「You have new mail in /var/spool/mail/vagrant」と表示されて鬱陶しい【Vagrant】

centos.png ローカルのVagrant上で作業しているとき、ターミナルで何か処理をするごとに「You have new mail in /var/spool/mail/vagrant」と表示されるようになった。多分ローカルのcrontabがエラーでも吐いているんだろうと思うんだけど、確認出来ないし削除出来ないし鬱陶しい。どうしたもんか。

とにかくメールを見てみる

メールを開くためにはmailコマンドが使えないとダメらしい。あいにく
$ mail
-bash: mail: command not found
とのことだったので、mailコマンドを使うためにmailxというアプリケーションをインストールする。
$ sudo yum install mailx
するとmailコマンドでメールの一覧が見れるようになる。
$ mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/vagrant": 2452 messages 2452 new
>N  1 (Cron Daemon)         Wed Feb 13 05:00  25/1065  "Cron <vagrant@nobodyp"
N  2 (Cron Daemon)         Tue Feb 19 09:00  25/1065  "Cron <vagrant@nobodyp"
N  3 (Cron Daemon)         Wed Feb 20 01:30  34/1435  "Cron <vagrant@nobodyp"
N  4 (Cron Daemon)         Thu Feb 21 04:18  30/1445  "Cron <vagrant@nobodyp"
N  5 (Cron Daemon)         Tue Feb 26 04:05  30/1445  "Cron <vagrant@nobodyp"
N  6 (Cron Daemon)         Thu Feb 28 04:00  25/1065  "Cron <vagrant@nobodyp"
N  7 (Cron Daemon)         Tue Mar 12 07:30  25/1065  "Cron <vagrant@nobodyp"
N  8 (Cron Daemon)         Tue Mar 19 00:00  25/1056  "Cron <vagrant@nobodyp"
N  9 (Cron Daemon)         Tue Mar 19 03:49  30/1445  "Cron <vagrant@nobodyp"
N 10 (Cron Daemon)         Tue Apr 16 03:03  30/1445  "Cron <vagrant@nobodyp
どうやら全部で2,452通も溜まっているらしい。マジか。一応チェックしたけど、ローカルでテストしてたRSSリーダーの更新エラーだった。今はもう新しい環境の方で構築していてローカルのRSSリーダーは止めているので必要ない。というかそれ以前に、crontabの結果がここに送られてきているのがおかしい。

crontabに宛先を設定

ローカルとは言え一応エラーは受け取りたいので、設定をしておく。
$ crontab -e
最上部に以下を書く。
MAILTO="hoge@gmail.com"
これで結果はここに送られるはず。

メールを一括削除

何通か見てみたけど全部同じっぽかったので、一括削除。 mailコマンドに一括削除ってあるのかなと思ったけど、メールの削除はあっても一括削除はないので、これで削除。
cat /dev/null > /var/spool/mail/vagrant
$ mail
No mail for vagrant
綺麗になった。

参考

Linux や mac で You have new mail in … と表示される | uuutee.log

続きを読む

【メモ】Chefがバージョンアップしてライセンスエラーが出るようになった【#np2020】

「Chef」が100%オープンソースに | OSDN Magazine

設定管理ツール「Chef」を開発する米Chefは4月2日、Chefソフトウェアを完全にオープンソースとして公開することを発表した。ライセンスはApache License 2.0で、商標ポリシーが守られている限りソースコードの使用、配布、収益化に制限を設けないという。  Chefはこれまでコア部分のみがオープンソースとして提供されていたが、今回プロダクトコードのすべてをオープンソースとする。これによりコミュニティの目標とChefの目標を連携させることができ、より良いソフトウェアの構築につながると期待を寄せている。  ライセンスは、Chef Infra、Chef InSpec、Chef Habitatと一貫性のあるApache License 2を採用、商標ポリシーが守られている限り、ソースコードの使用、配布、収益化に制限を設けないとしている。今後、Chefチームが生成するソフトウェアはすべてオープンなリポジトリに入り、ロードマップなどの製品開発プロセスについてもオープンにしていくという。

Chefがオープンソースになった影響なのか、ver.15からライセンスへの同意を設定ファイルに含めないといけなくなったらしく、そのままではエラーが出て動かない。
==> default: Chef Infra Client cannot execute without accepting the license Chef never successfully completed! Any errors should be visible in the output above. Please fix your recipes so that they properly complete.
ドキュメントを読むとvagrantではこう追加せよとあったのでやってみたんだけど……

Accepting the Chef License — Chef Docs

Vagrant This license acceptance can be done via the arguments API:

config.vm.provision "chef_zero" do |chef|
chef.arguments = "--chef-license accept"
end
怒られた。
==> default: /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/mixlib-cli-2.0.3/lib/mixlib/cli.rb:230:in `parse_options’: invalid option: –chef-license (OptionParser::InvalidOption)
「–chef-license」っていうオプションなんか知らねーって言われてるみたい。多分、何かをアップデートしたら動くようになるんだろうなと思いつつ、面倒くさかったのでドキュメントにあったもうひとつの方法「Chefのバージョンを固定する」を試す。
config.vm.provision "chef_zero" do |chef|
chef.version = "14.12.3"
end
無事、vagrant起動。初めからこうしておけばよかったんや…… とはいえ、バージョンアップしないというのもアレなので、そのうち何かしたいと思います。どうしたらいいかわかんないけど。誰か教えてください。

続きを読む