DevOpsにおけるELKのテスト
メニューを表示するにはスワイプしてください
Docker Composeファイルが完全に構成され、すべてのサービスが定義されたので、システムのテスト段階。テストは、各コンポーネント(Flaskアプリケーション、Filebeat、Logstash、Elasticsearch、Kibana)が正しく動作し、相互に期待通り通信していることを確認するための工程。
コンテナのビルド
コンテナをデタッチドモードで起動し、Dockerfileの変更が反映されるようにするには、次のコマンドを実行。
このコマンドは、変更があればイメージを再ビルド(--build)し、すべてのコンテナをバックグラウンド(-d)で起動するため、ターミナルが自由な状態を維持。最新の構成とコードが適用され、ターミナルをブロックしない運用が可能。
コンテナを起動した後、すべてのサービスが正しく稼働していることを確認することが重要です。ターミナルで次のコマンドを実行してください。
このコマンドは、すべてのコンテナのステータス、名前、ポートとともに一覧表示します。すべてのコンテナ(Flask アプリケーション、Filebeat、Logstash、Elasticsearch、Kibana)がUP状態であることを確認してください。
いずれかのコンテナがこの状態でない場合は、そのログを確認し、問題を特定して修正してから次に進んでください。
ELK ロギングパイプラインのテスト
ブラウザを開き、localhost:5601 にアクセスします。Kibana はこのポートで動作しています。インターフェースが表示されたら、左側のパネルを開き、Discover タブに移動します。
Create data view をクリックして、表示するログを指定します。
-
名前を入力します(例:
logs)。 -
Index pattern フィールドに
flask-logs*を入力します。アスタリスクは、flask-logsで始まるすべてのインデックスが含まれることを意味します。 -
Save data view をクリックします。
これで Kibana にアプリケーションのログが表示されます。この時点では、初期の起動記録のみが表示されます。
次に、localhost:5050 を新しいブラウザタブで開いてアプリケーションをテストします。ページにアクセスすると、コンテナ内でログイベントが生成され、Filebeat と Logstash によって処理され、Kibana に表示されます。Kibana に戻り、リフレッシュをクリックします。10~15秒 以内に、「User opened the home page」 や 「User clicked the button」 などの新しいログが表示されます。
すべてのコンテナが稼働しており、ELKパイプライン は完全に機能しています。Flaskアプリ からのログが収集・処理され、リアルタイムで Kibana に表示されます。これで、アプリケーションのアクティビティを監視・分析するためのロギングシステムが準備できました。
1. Docker Composeファイルで定義されたすべてのコンテナを正しく起動するコマンドはどれですか?
2. この構成でKibanaにアクセスする際に使用するポートはどれですか?
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください