最近よく目にするRust、気になる存在です。本日は、簡単に導入できるように設計・実装したバッチ処理の監視機構について紹介します。動く処理が、何らかの理由で失敗していたことを検知したい」という方向けです。概要アプリケーションサーバ上で、毎朝1回決まった時刻にcronによって実行されるphpファイルがあります。毎朝このファイルが実行されないと困りますね。そこで、ファイルの実行に失敗したことを検知し、システム管理者にSlack通知するような機構を実装しました。「ファイルの実行に失敗した」といっても、その原因は色々と考えられるでしょう。いうことを監視できるようにします。下図のような構成です。普段AWSを使ってアプリケーションを開発されている方にとってはカンタンでしょう。以下の目次で進みます。S3へのテキストファイルアップロード(php)aws-sdkを使用します。インストールしましょう。aws/aws-sdk-phpテキストファイルは、「phpファイルが実行された」ことを担保するためにアップロードします。アップロード処理は以下です。ちなみに、アプリケーションはCakePHP3で動いています。}cronによってこのphpファイルが実行されたとしても、S3へのアップロードに失敗した場合は、一応Slack通知するようにしています。許可するようにしておくのがセキュアですね。S3バケットの用意・設定なにはともあれバケットを用意します。バケットにはライフサイクルルールを設定しておいた方が良いでしょう。Lambdaによるテキストファイルの存在チェック後には、そのファイルはもう不要ですので。Lambdaの設定・S3のファイル存在チェックS3にファイルが存在しているかチェックするLambda関数を用意します。response_bodyコチラを参考にさせていただきました。ありがとうございます。許可する必要があるとのことです。operationIAMロールの設定LamdbaにIAMロールを設定します。許可するようにしておきましょう。EventsによるLambda関数の定期実行ルールを作成しましょう。「スケジュール」から「Cron式」を選択します。一つ注意点としては、スケジュールイベントが使用するタイムゾーンはUTCであるということです。した値にしないといけません。作成したLambda関数を指定します。監視により安心を得られます。まとめこれで監視機構の導入は完了です。AWS利用料も0.1(円/月)程度でした。監視により平穏な日々を過ごすことができますね。Kawano@kawano-fusicFollow株式会社Fusic受託開発・自社サービスの2本柱で「日本を代表する福岡の企業」を目指している企業です。upLoginユーザーは見つかりませんでした。