AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAmazon Web Services Japan
概要 このドキュメントは、効率的かつ安定した、システム開発/運用をするためのログ設計指針です。 的確かつ無駄のない、ログ出力を目指します。 ログレベル ログの緊急度や用途により、以下のようにログレベルを設定する。 Log4j のログレベルを踏襲しているため、運用の状況によっては Critical などのレベルを適宜追加すると良い。 PHP における PSR-3 では、さらに細分化され emergency, alert, critical, error, warning, notice, info, debug となっている。 「出力先」「運用時の対応」は、各プロジェクトのポリシーに準じてください。 レベル 概要 説明 出力先 運用時の対応
アプリケーションエンジニアの多くは、眠れない夜を過ごしたことがあるでしょう。特に月に一度の…「月末締めバッチ」の日は。 そんなデータ量の多い日や、初モノのバッチが動く日でも安心して眠れるためのバッチ設計を考えてみます。 ログの設計 まず何はなくともログです。きちんとしたメッセージを出せていれば、専任の人がリカバリ可能にもなるってものです。 Audit用のログなど業務要件の強いものを除いては、だいたい3種類に分けるようにしています。 プログレスログ リカバリログ 例外ログ(調査のため) この分類でファイル単位も分けます。ログを必要とする人が、それぞれ異なるからです。 プログレスログ プログレスログは、特に長時間かかるバッチに対して、現在どのくらいまで処理が出来ているのかを目的として出力します。 トラブル発生時や、大規模移行作業時には、バッチの定期的なモニタリングと報告の必要が出てきます。「あ
ログなどにクラス名、メソッド名、行番号などを出力したい場合がある。 エラーや例外が発生した場合はスタックトレース情報が得られるので そいつを拝借すればどこのクラスの何行目でエラーが発生したのかを ログに出力させることができるが、エラーや例外でない普通の場合、 どうしたらよいか? 実はJ2SE1.4からThrowable#getStackTrace()が追加されたので これをうまく使えば実現できる。 Throwable#getStackTrace()はStackTraceElement型の配列を返却する。 各要素がスタックに詰まれた要素(スタックフレーム)の一つとなっている。 スタックの一番上、つまり要素0番目がこのThrowableクラスを生成したメソッドを表す要素となる。 例えば、 ファイル名:Test.java、クラス名:Test、メソッド名:traceTest、 100行目: Sta
ログを綺麗に整形して1日1回メールで送信してくれる頼もしい logwatch (ある意味うっとうしいともいえるが)をインストールします。 landisk:~# apt-get source logwatch landisk:~# cd logwatch-6.1.2/ landisk:~# dpkg-buildpackage -rfakeroot landisk:~# cd ../ ; dpkg -i logwatch*.deb 管理者にメールを送信するために、システムにMTAがインストールされている必要があるが、ここでは、exim4 ではなく、デフォルトでインストールされていた極めてシンプルなMTAである ssmtp を利用します。送信オンリーのMTAなので、スプールなどもありません。ここでは、LAN内にある他のサーバーで稼動している postfix をメールサーバーとして指定することにし
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く