様々な作業の記録を共有するブログです。この広告は、90日以上更新していないブログに表示しています。環境でのcron定期実行を監視AWSはてなの監視サービスマカレルはシンプルで俺でも使い方がわかる。表記のことをやってみた記録です。worker環境Elasticbeanstalkでは、いわゆるWebサービス用の環境だけじゃなく、なんか裏でcronでまわしときたいようなバックグラウンド処理タスクをやらせる専用環境をつくることもできる。docs.aws.amazon.comワーカー環境を作ったあとは、定期的な処理をつくるのは超簡単。プロジェクトのルート直下にcronの書式で設定を書いたcron.yamlってファイルを置くだけ。/some_taskこのurlってとこに書いたURLに、scheduleのとこに書いたスケジュールでPOSTリクエストがいくようになる。そのリクエストを受けたら適切な処理が行われるようにしとけばいいだけ。うちではRailsで受けて処理をしてる。監視するその処理の結果も含めて、定期実行がちゃんと出来てることを監視したかったので、Mackerelのログ監視を導入した。その前にMackerel自体の入れ方はこちら。uozias.hatenablog.com.ebextensionsディレクトリ以下に設定ファイルをいれることで設定する。手順まず、ログ監視とかしてくれるマカレルのプラグインを入れる。設定ファイルがちょっと変わります。gist.github.comこれが正解なのかわからないけど、3ファイルに分けて順番に実行してもらう。01-add-sudoer.configでは、マカレルのyumレポジトリを登録するのに必要なのでsudoできるようにする。02-mackerel.configでは、マカレル本体をインストールすると同時にYumレポジトリを登録03-mackerel-plugin.configでは、マカレルのcheckプラグインをYumで入れ、設定ファイルを作ってマカレルのえ~人とを起動する。ヘルプ設定ファイルについてログチェックドキュメントに書いてあるが、[plugin.checks.好きな名前]から始まる設定でログを監視し、特定の文字列が多かったらアラート出すとかできる。FATAL"Gistに書いた上記の設定では、EBでRailsを動かしている時のアプリのログ(/var/app/current/log/production.log)にFATALって言う文字列が含まれる個数をみるもっと細かく設定できるが、上記だけではFATALがでてきたら問答無用にマカレルのアラートが発生する。カスタムメトリックもっと面白いのが、任意のコマンドを実行してその結果を監視項目にすることができるカスタムメトリックだ。やり方はここに書いてある。'Gistに書いた上記の例では、シェルのコマンドを実行してその結果をグラフに表示してる。/var/app/current/log/production.logの最新10行をとってきて、そのうち/some_taskって文字列が含まれる行数を返す。これだけでマカレルでグラフがみられる。rubyのスクリプト書いてその結果を受け取るとか、なんでもできるみたいだからいろいろ模索してみたい。Ideaでcakehp3のphpunitを動かすwebstormとかphpstormとか全部一緒だと思う。VMにrailsアプリをデプロイしてる。»uoziasid:uoz様々な作業の記録を共有するブログです。2.5.0がデバッグできなくなった月別アーカイブはてなブログをはじめよう!uozさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。