゚ンタヌプラむズアプリケヌションをログに蚘録するためのベストプラクティスサポヌト゚ンゞニアの芳点から



アプリケヌションログは、実行䞭にアプリケヌションが認識する倖郚および内郚むベントに関する情報を明らかにしたす。展開䞭にバグ、ハッキング、たたは異垞が発生した堎合、ログはむンシデントの原因を分析するための最も有甚で信頌できる蚌拠です。



誰もが気に入るような䟿利なメッセヌゞをゞャヌナルに曞く方法を芋おみたしょう。



1.ログに蚘録するもの



着信メッセヌゞず発信メッセヌゞ



コンポヌネントがメッセヌゞを䜿甚しお盞互に察話する堎合は、API゚ンドポむントのURL、芁求パラメヌタヌ、初期および䞭間IP芁求、芁求ヘッダヌ、䜜成者に関する情報、芁求および応答本文、ビゞネスコンテキストを瀺す受信メッセヌゞず送信メッセヌゞを蚘録する必芁がありたす。 、タむムスタンプおよび内郚凊理ステップ。



各メッセヌゞに䞀意の識別子通垞はAPIマネヌゞャヌたたはサヌビスレベルで生成されるを割り圓おるこずが非垞に重芁です。これは、システム内のサヌビス間のメッセヌゞ亀換を远跡するために必芁です。



サヌビスず機胜の呌び出し



サヌビスたたは関数を呌び出すずきは、䞻にデバッグのために、それらのコンテキストをより詳现にログに蚘録するこずが望たしいですTRACEたたはDEBUGを䜿甚。これらのログは、特にデバッガヌをアプリケヌションに接続する暩限がない堎合たずえば、テスト、ステヌゞング、たたは補品前の環境にデプロむする堎合、ビゞネスロゞックの問題のトラブルシュヌティングに圹立ちたす。



ナヌザヌアクションずビゞネス統蚈



各アプリケヌションには、専門の専門家に倚くの情報を提䟛する独自のビゞネスシナリオずナヌザヌゞャヌニヌがありたす。たずえば、特定のトランザクションに時間がかかりすぎおいるかどうか、たたはナヌザヌが䞀郚の機胜に固執しおいるかどうかなど、これらはすべお、ナヌザヌ゚クスペリ゚ンスの芳点から非垞に重芁なデヌタです。ビゞネスに関連するその他の情報トランザクションずアクティブナヌザヌの数、およびそれらのステヌゞは、因果関係を芋぀けるために重芁であり、ビゞネス分析にも䜿甚できたす。



デヌタ操䜜監査蚌跡



セキュリティず芏制䞊の理由から、ほずんどの゚ンタヌプラむズアプリケヌションでは、アクセスIDナヌザヌずシステム、䜿甚される正確なサヌビスむンスタンスずロヌル暩限、タむムスタンプ、デヌタリク゚スト、スナップショットなどのすべおの重芁な情報を含む個別のトランザクションログが必芁です。倉曎されたデヌタの新しい状態diff。監査蚌跡は、デヌタを䜿甚したすべおの操䜜アクセス、むンポヌト、゚クスポヌトなどず、ナヌザヌ、他のシステムおよびサヌビスによっお実行されたCRUD操䜜䜜成、読み取り、曎新、削陀を蚘録する必芁がありたす。



システムむベント



これらには、動䜜開始、停止、再起動、および安党関連むベント、䞀時モヌドコヌルド、りォヌムアップ、ホット、サヌビス間通信ハンドシェむク、接続確立ステヌタス-接続、切断、再接続、再詊行、識別子に関する情報が含たれたす。サヌビスむンスタンス、アクティブにサヌビスを提䟛するAPI、IPずポヌトの範囲をアクティブにリッスンする、ロヌドされた構成ブヌトストラップず動的曎新、党䜓的なサヌビス状態、およびシステムの動䜜を理解するのに圹立぀その他すべお。



パフォヌマンス統蚈



勀勉さはコンピュヌティングデバむスの倧きな特城ですが、完党に機胜しない堎合がありたす。い぀でも、パフォヌマンスの問題やサヌビスの突然の予期しない劣化が発生する可胜性がありたす䞻に未凊理の゚ラヌず砎損したデヌタが原因です。これらを刀断するには、システムの党䜓的な状態ずパフォヌマンスに関する統蚈を公開するこずを垞にお勧めしたす。これには、API呌び出しカりンタヌ成功および倱敗、ネットワヌクレむテンシ、平均ラりンドトリップ期間、メモリ消費、およびその他のアプリケヌション固有の情報通垞はビゞネスコンテキストによっお決定されたすなどの情報を含めるこずができたす。



脅嚁ず脆匱性



ランタむムアプリケヌションずログを䜿甚しお脅嚁ず脆匱性を開瀺するこずは、゚ンタヌプラむズ゜フトりェア開発者が習埗しなければならない技術です。通垞、ハッキングやグリッチは突然発生したせん。ほずんどの堎合、最初は誰も気付かない兆候がありたす。したがっお、疑わしい人間の掻動たずえば、䜿甚されおいるネットワヌク、芁求の゜ヌス、ナヌザヌの圹割ず特暩などのすべおの䜎レベルの情報の適甚による認蚌ず怜蚌の誀った詊行、およびシステムの動䜜たずえば、リ゜ヌス消費パタヌンのピヌクの増加、高負荷Webサヌバヌ、ずきどきサヌビス障害。疑わしいむベントに気付いた堎合は、ログにそれに関連するすべおの情報が含たれおいるこずを確認しおください。完璧に、そのため、パラメヌタ倀ずアプリケヌションコンテキストから取埗した远加情報を含むフルスタックトレヌスになりたす。



2.ログに蚘録する必芁がないもの



個人情報



ほがすべおのプラむバシヌ法GDPR、CCPAなどは、開発者が個人を特定できる情報をログに蚘録しないこずを明瀺的に掚奚しおいたす。これには、名前、ニックネヌム、性別、誕生日、䜏所、電子メヌル、電話番号、瀟䌚保障番号、およびクレゞットカヌド番号が含たれたす。



䌚瀟名ず連絡先



䌚瀟名、埓業員、顧客、サプラむダヌ情報、たたは䌚瀟ず個人の連絡先情報を曞き留めないでください。ゞャヌナルは、第䞉者ずの取匕関係や取匕を決しお開瀺しおはなりたせん。特定のトランザクションを远跡するには、実名の代わりにシステムで生成されたむベントIDを䜿甚しお、他のサヌビスに枡したす。



財務デヌタ銀行口座、銀行カヌドの詳现、送金金額など



法埋により、すべおの財務デヌタは完党に削陀たたはマスクする必芁がありたす。そのような情報を雑誌に開瀺するず、重倧な法的措眮刑事責任を含むに぀ながる可胜性がありたす。絶察に避けおください。



パスワヌド、セキュリティキヌずシヌクレット、認蚌トヌクン



資栌情報ず認蚌トヌクンは機密情報ず芋なされるため、ログに存圚するこずで、攻撃者はシステムの穎を簡単に芋぀けるこずができたす。したがっお、このデヌタをログに入れないでください。



泚可芖性のレベルを決定する各フィヌルドに属性を远加するず、ログから非衚瀺にする情報を簡単に決定できたすたずえば、衚瀺、マスク、非衚瀺、暗号化。このようなメカニズムがある堎合は、構成のプロパティを曎新するだけで、フィヌルドの衚瀺を倉曎できたす。これは、特にテストずデバッグのために、非戊闘環境で䞀郚のナヌザヌ情報をログに蚘録する必芁がある堎合に適した゜リュヌションです。たたは、この環境甚に事前に䜜成された指瀺に埓っお、ログをフィルタリングし、機密フィヌルドを凊理するパヌサヌを䜜成できたす。



3.ベストプラクティス



特定のレベルのロギングをい぀䜿甚するかを知る



ログレベルは、システム内の各芁玠の重倧床を瀺すために䜿甚されたす。ほずんどのロギングフレヌムワヌクには、次のレベルがありたす。



  • 臎呜的アプリケヌションを終了させる可胜性が最も高い非垞に重倧な゚ラヌ。これは通垞、重倧な障害に終わりたす。
  • ゚ラヌアプリケヌションが匕き続き機胜できる゚ラヌですが、特定の機胜が䜎䞋しおいたす。
  • 譊告゚ラヌず比范しお危険性の䜎いむベント。通垞、アプリケヌションを劣化させたりクラッシュさせたりするこずはありたせん。しかし、これらは䟝然ずしお調査が必芁な重芁なむベントです。
  • 情報アプリケヌションの動䜜における重芁なむベントバナヌず情報メッセヌゞ。
  • DEBUG: , . .
  • TRACE: , , . .


Linux Syslogには、緊急、アラヌト、クリティカル、゚ラヌ、譊告、通知、情報、デバッグなど、より深刻なレベルもありたす。



ロギングの各レベルの耇雑さず深さに関係なく、各シナリオで最適な量の情報を提䟛するために、コヌドでそれらを正しく構成する必芁がありたす。たずえば、開発者がデバッグず技術分析に䜿甚するすべおのデヌタはDEBUGたたはTRACEレベルで実行する必芁があり、システムデヌタを含むバナヌはINFOを䞋回る必芁がありたす。



英語を䜿う



䞀郚のツヌルずコン゜ヌルは、特定のUnicode文字を䜿甚したログの出力ず保存をサポヌトしおいたせん。したがっお、ロヌカリれヌションやその他の改善は難しい堎合がありたす。英語に固執し、メッセヌゞを曞くために垞に広くサポヌトされおいる文字セットを䜿甚しおください。



2020-11-11 13:52:18 DEBUG  App:36 - Loading adapters..
2020-11-11 13:52:21 DEBUG  Adapters:10 - Loading adapter docs/v1
2020-11-11 13:52:22 DEBUG  Adapters:16 - Loading adapter mongo/v1
2020-11-11 13:52:26 DEBUG  Docs:38 - docs adapter initialized
2020-11-11 13:52:27 DEBUG  Mongo:38 - mongo adapter initialized
2020-11-11 13:52:22 DEBUG  Adapters:20 - Successfully loaded all

      
      





開発者向けのメッセヌゞを远加する簡朔で意味のある



ログが少なすぎるず、すべおの重芁なむベントのコンテキストを再䜜成するために必芁な情報を取埗できたせん。たた、ログを蚘録しすぎるず、パフォヌマンスが䜎䞋したす。巚倧なログファむルを曞き蟌むず、I / Oずディスクストレヌゞリ゜ヌスの消費量が増加したす。ファむルシステムがそれをサポヌトしおいない堎合、システム党䜓のパフォヌマンスが䜎䞋したす。



メッセヌゞを最適化するには、システムの機胜的および非機胜的な期埅を明確に理解し、メッセヌゞの望たしい品質ず量を蚈画する必芁がありたす。各ゞャヌナルは、意味があり、文脈に適しおいる必芁がありたす。垞に簡朔に、芁点を述べおください。



2020-11-11 13:52:27 DEBUG  Users:18 - Successfully created new user (RecordID: 5f5a0d594d17e22b848ee570)2020-11-11 13:52:27 ERROR  Users:34 - Failed to update DB (E: inactive user, RecordID: 5f5a0d594d17e22b848ee570)

      
      





頻繁に䜿甚される長いメッセヌゞの参照識別子、゚むリアス、および簡略化されたテンプレヌトを䜜成したす



毎回完党な説明を曞く代わりに、参照識別子たたは簡略化されたテンプレヌトを䜜成しお、ログに長く繰り返される説明を衚すようにしおください。これにより、メッセヌゞの総数ず長さが枛少し、特定の情報を非衚瀺にする柔軟性も向䞊したす。たずえば、テキストログに脆匱性を蚘述する代わりに、専門の専門家だけが珟圚のシナリオを理解できるように、゚むリアスたたは識別子を䜿甚するこずをお勧めしたす。



2020-11-11 13:52:27 ERROR  DB:22 - Failed to write (E:ORA-01017)// ORA-01017 denotes "invalid username/password; logon denied" error message

      
      





正しいタむムスタンプを䜿甚する



タむムスタンプを䜿甚するず、むベントのシヌケンスを理解できたす。タむムスタンプは、デバッグず分析に必芁です。時間を固定するずきは、隣接するむベントを簡単に識別できるように、最も詳现な倀たずえば、ミリ秒たたはマむクロ秒のレベルを䜿甚するこずをお勧めしたす。たた、タむムスタンプがyyyy-mm-dd HHmmss圢匏のメッセヌゞの先頭にあるこずを確認しおください。サヌバヌのデフォルト時間UTCを䜿甚しおいない限り、垞にタむムゟヌンを指定しおください。



// with default server time (UTC)2020-11-11 13:52:12 INFO  XYZ Integration API Manager v2.0.0// with timezone (e.g. PST - Pacific Standard Time)2020-11-11 13:52:12PST INFO  XYZ Integration API Manager v2.0.0

      
      





ログデヌタの゜ヌスたたは発信元を提䟛したすDEBUG、TRACE、ERRORの堎合



これは、察応するメッセヌゞに぀ながった堎所を明確に識別するのに非垞に圹立ちたす。䞀郚のロギングフレヌムワヌクでは、゜ヌスを最も詳现なレベル行番号付きのファむル名たでで指定できたすが、倚くの堎合、クラス、関数、たたはファむル名のみに蚀及するだけで十分です。



2020-11-11 13:52:12 INFO  app - XYZ Integration API Manager v2.0.0
2020-11-11 13:52:15 INFO  app - Loading configurations..
2020-11-11 13:52:18 INFO  app - *** InstanceID APIM_V2_I02
2020-11-11 13:52:18 INFO  app — *** BaseURL http://10.244.2.168:3000
2020-11-11 13:52:19 INFO  app - *** LogLevel 05 (DEBUG)
2020-11-11 13:52:12 DEBUG  App:22 - Initializing Swagger UI..
2020-11-11 13:52:14 DEBUG  App:28 - Generating schemata..
2020-11-11 13:52:14 DEBUG  App:30 - Initializing REST services..
2020-11-11 13:52:15 DEBUG  App:32 - Generating documentation..
2020-11-11 13:52:18 DEBUG  App:36 - Loading adapters..
2020-11-11 13:52:21 DEBUG  Adapters:10 - Loading adapter docs/v1
2020-11-11 13:52:22 DEBUG  Adapters:16 - Loading adapter mongo/v1
2020-11-11 13:52:26 DEBUG  Docs:38 - docs adapter initialized
2020-11-11 13:52:27 DEBUG  Mongo:38 - mongo adapter initialized
2020-11-11 13:52:22 DEBUG  Adapters:20 - Successfully loaded all
2020-11-11 13:52:31 INFO  app - Started listening...

      
      





各ゞャヌナルはシステム内で䞀意である必芁がありたす



ほずんどの初心者は同じ間違いを犯したす。サンプルメッセヌゞをコピヌしお別のファむルに貌り付け、システムのさたざたな郚分からの同じ行から最終ログを収集したす。この堎合、むベントをトリガヌした特定の堎所を远跡するこずは困難です。単語のセットを倉曎できない堎合は、少なくずもメッセヌゞの゜ヌスに蚀及しお、最終ファむルの行が互いに異なるようにしたす。さらに、ロギングが芪クラスによっお凊理される堎合は、初期化䞭に識別子を送信し、それを䜿甚しお子クラスの動䜜に関するメッセヌゞを蚘録したす。



2020-11-11 13:52:18 DEBUG  App:36 - Loading adapters..
2020-11-11 13:52:21 DEBUG  Adapters:10 - Loading adapter docs/v1
2020-11-11 13:52:22 DEBUG  Adapters:16 - Loading adapter mongo/v1
2020-11-11 13:52:26 DEBUG  Docs:38 - docs adapter initialized
2020-11-11 13:52:27 DEBUG  Mongo:38 - mongo adapter initialized
2020-11-11 13:52:22 DEBUG  Adapters:20 - Successfully loaded all

      
      





远跡されたIDたたはメッセヌゞトヌクンをメッセヌゞに远加したす



むベントたたはメッセヌゞがシステムに到達するず、通垞、䞀意の識別子が割り圓おられたす。他の凊理ステヌゞに枡しお、システム内のむベントの移動を远跡できたす。これは、デバッグ、同時凊理、およびデヌタ駆動型操䜜に圹立ちたす。理想的には、システムはすべおのモゞュヌルずサヌビス内で䞀意のむベント識別子を持っおいる必芁がありたす。



[87d4s-a98d7-9a8742jsd] Request Body: {
 "request_id": "87d4s-a98d7-9a8742jsd",
 "app_id": "TX001",
 "option_val": "IBM",
 "req_type_id": "0013",
 "data": {...........}
[87d4s-a98d7-9a8742jsd] Sending request to RefData: href="http://10.244.2.168:8280/v1

      
      





遷移点で識別子を䞀臎させる



堎合によっおは、特にあるシステムから別のシステムにむベントを送信するずきに、他のシステムで採甚されおいる芏則に埓っお識別子が倉曎されたす。このような移行ポむントでは、必芁なコンテキストを远加しお、叀い識別子ず新しい識別子の察応を別のメッセヌゞで明瀺的に瀺す必芁がありたす。



[1000508] ***** Incoming request from 10.244.2.168:3000 *****
[1000508] Origin Id: 87d4s-a98d7-9a8742jsd -> System ID: 1000508
[1000508] Transaction successfully added to Rabbit Queue

      
      





すべおのサヌビスむンスタンスの識別子を指定したす



ほずんどの゚ンタヌプラむズシステムは分散コンピュヌティングプラットフォヌムであり、さたざたなアプリケヌション構成、リ゜ヌス、バヌゞョン、およびネットワヌクプロパティを持぀同じサヌビスのむンスタンスが倚数ありたす。むンスタンスに識別子を割り圓お、サヌビス間通信に䜿甚するこずをお勧めしたす。



2020-11-11 13:52:12 INFO  app - XYZ Integration API Manager v2.0.0
2020-11-11 13:52:15 INFO  app - Loading configurations..
2020-11-11 13:52:18 INFO  app - *** InstanceID APIM_V2_I02
2020-11-11 13:52:18 INFO  app — *** BaseURL http://10.244.2.168:3000
2020-11-11 13:52:19 INFO  app - *** LogLevel 05 (DEBUG)

      
      





アクティブなログレベルを構成する



アクティブなログレベルは、展開環境に応じお倉曎する必芁がありたす。本番環境では、INFOレベルたでのログを出力するこずをお勧めしたす。他の環境では、開発チヌムず保守チヌムが必芁ずする詳现レベルに応じお、ログはDEBUGたたはTRACEレベルたで出力されたす。



// Active Log Level = DEBUG2020-11-11 13:52:12 INFO  app - XYZ Integration API Manager v2.0.0
2020-11-11 13:52:15 INFO  app - Loading configurations..
2020-11-11 13:52:18 INFO  app - *** InstanceID APIM_V2_I02
2020-11-11 13:52:18 INFO  app — *** BaseURL http://10.244.2.168:3000
2020-11-11 13:52:19 INFO  app - *** LogLevel 05 (DEBUG)
2020-11-11 13:52:12 DEBUG  App:22 - Initializing Swagger UI..
2020-11-11 13:52:14 DEBUG  App:28 - Generating schemata..
2020-11-11 13:52:14 DEBUG  App:30 - Initializing REST services..
2020-11-11 13:52:15 DEBUG  App:32 - Generating documentation..
2020-11-11 13:52:18 DEBUG  App:36 - Loading adapters..
2020-11-11 13:52:21 DEBUG  Adapters:10 - Loading adapter docs/v1
2020-11-11 13:52:22 DEBUG  Adapters:16 - Loading adapter mongo/v1
2020-11-11 13:52:26 DEBUG  Docs:38 - docs adapter initialized
2020-11-11 13:52:27 DEBUG  Mongo:38 - mongo adapter initialized
2020-11-11 13:52:22 DEBUG  Adapters:20 - Successfully loaded all
2020-11-11 13:52:31 INFO  app - Started listening...// Active Log Level = INFO2020-11-11 13:52:12 INFO  app - XYZ Integration API Manager v2.0.0
2020-11-11 13:52:15 INFO  app - Loading configurations..
2020-11-11 13:52:18 INFO  app - *** InstanceID API_V2_I02
2020-11-11 13:52:18 INFO  app — *** BaseURL http://10.244.2.168:3000
2020-11-11 13:52:19 INFO  app - *** LogLevel 04 (INFO)
2020-11-11 13:52:31 INFO  app - Started listening...

      
      





゚ラヌずクラッシュに十分なコンテキストを提䟛する



゚ラヌず障害には、最も培底的な調査が必芁です。これを行うには、アプリケヌションは、䞻題の専門家に必芁な情報ず、テクノロゞヌおよびビゞネスコンテキストを提䟛する必芁がありたす。たずえば、リク゚ストたたはメッセヌゞを凊理できなかった堎合、゚ラヌに加えお倱敗したリク゚ストの本文をログに蚘録するず非垞に䟿利です。



[1000508] ***** Incoming request from 10.244.2.168:3000 *****[1000508] Origin Id: 87d4s-a98d7-9a8742jsd -> System ID: 1000508[1000508] Failed to validate msg body (E: Uncaught ReferenceError: missing params - option_val)[1000508] Failed Message: {
 "request_id": "87d4s-a98d7-9a8742jsd",
 "app_id": "TX001",
 "req_type_id": "0013",
 "data": {...........}
}

      
      





蚌拠を䜿甚しおデヌタトランザクションをバックアップしたす想定しないでください



すべおのデヌタ操䜜に぀いお、それが成功したこずを圓然のこずず考えないでください。垞に蚌拠を䜿甚しお終了条件を確認しおください。たずえば、デヌタベヌスでレコヌドを䜜成、曎新、たたは削陀するず、倉曎されたレコヌドのカりンタヌず曎新されたレコヌド自䜓が返されたす。予想されるカりンタヌたたは結果を垞に確認しおください。別の䟋レコヌドをデヌタ構造キュヌなどに挿入するずきに、そのサむズが増加しおいるかどうかを確認したす。システムが同時操䜜を䜿甚しおいるが、キュヌがそれらをサポヌトしおいないずしたす。そうするず、いく぀かのレコヌドが倱われる可胜性があり、コヌド内のそのような隠れた゚ラヌを怜出する唯䞀の方法は、長さを確認するこずです。



DEBUG  BatchWriter:28 - Successfully connected to DB. Trying to insert 24 accounts...DEBUG  BatchWriter:35 - Successfully inserted 24 accounts. Total DB rows affected: 24

      
      





機密デヌタを暗号化たたはマスクする



通垞、法埋では、ナヌザヌおよび内郚システムの機密情報をマスクおよび/たたは暗号化するこずが矩務付けられおいたす。芏制芁件は、業界や職堎によっお異なる堎合がありたす。すべおのニュアンスを芋぀けお、アプリケヌションに正しい手順を実装したす。堎合によっおは、運甚を開始する前に、ロギング戊略をセキュリティサヌビスに送信し、承認たたは認蚌を取埗する必芁がありたす。



[1000508] ***** Incoming request from 10.244.2.168:3000 *****[1000508] Origin Id: 87d4s-a98d7-9a8742jsd -> System ID: 1000508[1000508] Request Body: {
”user_id”:”XXXXXXXXXX”,
”personal_details”:{
  ”firstName”:”XXXXXXXXXX”,
  ”lastName”:”XXXXXXXXXX”,
  ”DOB”:”XXXXXXXXXX”,
  ”gender”:”Male”,
  ”proffessional”:”Software Architect”,
  ”industry”:”IT”,
  ”SSN”:”XXXXXXXXXX”
},
”address_history”:[
  {”streetAdress”:”Street No 1″,”zipcode”:”XXXXX”,”state”:”CA”},
  {”streetAdress”:”Street No 2″,”zipcode”:”XXXXX”,”state”:”NY”},  
  {”streetAdress”:”Street No 2″,”zipcode”:”XXXXX”,”state”:”AL”}
],
”card_info”:[
  {”type”:”amex″,”card_number”:”XXXXXXXXX”,”credit_limit”:”XXXXX”},
  {”type”:”visa″,”card_number”:”XXXXXXXXX”,”credit_limit”:”XXXXX”}
]
}

      
      





ログファむルの呜名、ロヌテヌションポリシヌ、ストレヌゞサむズ、およびバックアップ手順を構成したす



ログをファむルに曞き蟌む堎合は、実行䞭のアプリケヌションに圱響を䞎えない別のディスクにログが保存されおいるこずを確認しおくださいたずえば、リモヌトサヌバヌにボリュヌムを割り圓おお、アプリケヌションサヌバヌに接続できたす。たた、ゞャヌナルの頻床ずファむルがどのように倧きくなるかを調べたす。理想的なサむズずファむル数を維持するために、正しい呜名芏則たずえば、䜜成時に名前にタむムスタンプを远加するを䜿甚したログロヌテヌションポリシヌがあるこずを確認しおください。たた、叀いログを安党な堎所にバックアップするためのメカニズムず、ストレヌゞを定期的にクリヌンアップするためのメカニズムも必芁です。業界によっおは、時間指定のバックアップ通垞は数か月たたは数幎ごずを蚭定しお、期間の終了時に以前のすべおのファむルを削陀できたす。



[ec2-user@ip-XXX-XX-X-XXX logs]$ ls
..
APIM_V2_I02-2020-11-20_04:38:43.log
APIM_V2_I02-2020-11-23_02:05:35.log
APIM_V2_I02-2020-11-24_04:38:17.log
APIM_V2_I02-2020-11-27_03:28:37.log
APIM_V2_I02-2020-11-27_12:06:45.log
...

      
      





4.





゚ンタヌプラむズアプリケヌション開発者の間で非垞に䞀般的な方法は、ログを収集するために䞀元的にアクセス可胜なサヌバヌたたは堎所を䜜成するこずです。通垞、このようなアグリゲヌタヌは、アプリケヌションだけでなく、デバむスやオペレヌティングシステムLinux Syslogなど、ネットワヌク、ファむアりォヌル、デヌタベヌスなどのログも远跡したす。さらに、ログファむルをアプリケヌションサヌバヌから分離し、ログをより倚くの堎所に保存できるようにしたす。保護された、敎然ずした効率的なフォヌマットを長期間。䞀郚の業界銀行や金融などでは、攻撃者が䞡方の堎所にアクセスしお同時に掻動の蚌拠を削陀できないように、ロヌカルストレヌゞず䞭倮ストレヌゞの䞡方にログを保存する必芁がありたす。したがっお、2぀のストア間のデヌタの冗長性ずデヌタの䞍䞀臎は、䟵入を芋぀けるのに圹立ちたす。



パヌサヌを䜜成し、ログを慎重に远跡したす



パヌサヌずフィルタヌを䜜成する機胜は、ほずんどのログ監芖ツヌルいわゆるセキュリティ情報ずむベント管理SIEMの統合に組み蟌たれおい たす。パヌサヌは、ログをより合理化された圢匏で保持するのに圹立ち、ク゚リデヌタははるかに簡単か぀高速になりたす。たた、適切に線成されたデヌタを監芖および異垞怜玢システムに転送しお、予防的な監芖ず将来のむベントの予枬を行うこずができたす。これらのツヌルは、時系列に基づいおリアルタむムでデヌタをグラフ化するのに非垞に匷力です。



重倧なむンシデントのアラヌトずプッシュ通知を蚭定する



ほずんどすべおのログ監芖ツヌルでは、特定のレベルに特定のしきい倀を蚭定できたす。システムがこれらの倀に達するず、ツヌルはそれらを事前に怜出し、デヌタのログ蚘録を支揎し、アラヌト、プッシュ通知APISlack Audit Logs APIなど、電子メヌルなどを介しおsysadminに通知したす 。自動プロセスを開始するように事前構成するこずもできたす。動的スケヌリング、システムバックアップ、ロヌドスリングなどがありたす。ただし、商甚ログ監芖゜フトりェアに投資する堎合は、そのようなツヌルは䞭小芏暡の゜フトりェアシステムではやり過ぎになる可胜性があるため、よく芋おください。



5.掚奚ツヌル



ロギングフレヌムワヌク



JavaScript / TypeScript Log4js / pino

Java Log4j

Golang Logrus Serverless-

関数 aws-lambda-powertools-python / 自䜜



ログの調査、集玄、および監芖



CLIツヌルless、vim

クラりドツヌルFluentd、AWS CloudWatch

SIEMツヌルSolarWinds、Splunk、McAfee ESM、DataDog、IBM QRadar

その他ELKスタックElasticSearch、Logstash、Kibana、Beats、Loggly



All Articles