LoginSignup
0
0

More than 1 year has passed since last update.

OpenShift on IBM Cloud 上にコンテナアプリを動かしてIBM Log Analysis with LogDNAでログ監視しアラート機能でメールを飛ばしてみる

Last updated at Posted at 2021-12-22

はじめに

IBM Cloud 上の Red Hat OpenShift Kubernetes Services (以下、通称ROKS) 上でサンプルアプリを稼働させ、そのコンテナアプリケーションが吐き出すログを、IBM Cloud のログ管理サービスである IBM Log Analysis with LogDNA でログ監視できるようにして、アプリログの出力に対してアラート機能によりメールを飛ばせるようにするまでの手順を、一通り試してみました。

全体ステップ

  1. OpenShift Kubernetes Servies を発注する
  2. OpenShift上にサンプルアプリケーションをデプロイする
  3. Log Analysis with LogDNA を発注する
  4. OpenShiftのログをLogDNAで閲覧できるようにする
  5. LogDNAで(監視対象の)アプリケーションログのViewを作る
  6. 作成したViewに対してアラートを設定してメールを飛ばす

ステップ1: OpenShift Kubernetes Servies の発注

IBM Cloudのカタログのサービスから「Containers」カテゴリーを選んで、「Red Hat OpenShift on IBM Cloud」を選択します。
image.png
OpenShiftのバージョン、ロケーション、フレーバー(サーバの種類)、台数などを選択しオーダーします。
image.png
30分程度でクラスターが立ち上がってきます。 image.png
#「Ingress状況」のステータス(不明)は、少し時間が経過した後「正常」になります

上部の「OpenShift Webコンソール」ボタンを押すとOpenShiftのポータル画面にアクセスできます。
image.png

ステップ2: OpenShift上にサンプルアプリケーションをデプロイする

OpenShiftのポータル画面の左のメニューより、管理者パースペクティブをDeveloperに切り替えて、「+追加」より「create a Project」を押して、「my-sample-project」を作成します。
image.png
同じく「+追加」から、上部に「プロジェクト:my-sample-project」になっている状態で、サンプルアプリ(nodejs-sample)を作成します。
image.png
「トポロジー」で、Deploymentのステータスを示す(アイコンの周りの)円の色が、水色から青色(Running)に変わるのを待って、「URLを開く」でサンプルアプリの稼働確認します。
image.png
Deploymentアイコンを押して「View Logs」からPodのログを確認します。(以下では、ブラウザーから3回アクセスしたログが出ています)
image.png

ステップ3: Log Analysis with LogDNA を発注する

IBM Cloudのサービスから「ロギングとモニタリング」カテゴリーを選んで、「IBM Log Analysis with LogDNA」を選択します。
image.png
料金プランを選択し、作成ボタンを押します。
image.png
# ストリーミングでのログ閲覧については、無料の「ライト」プランの選択が可能です。今回は、アラートを設定しメールを飛ばしたかったので、「7日間のログ検索」プランを選択しました。

ステップ4: OpenShiftのログをLogDNAで閲覧できるようにする

IBM Cloudのナビゲーション・メニューから、リソースリストで、Servicesカテゴリーにある「IBM Log Analysis with logDNA」のサービスのリンクを押し、さらに、ロギングメニューにて「ログ・ソースの追加」を押します。
image.png
OpenShiftのタブを開きます。
image.png
上記記載の5つのocコマンドをターミナルにて実行します。
image.png


補足: ローカルPCのCLI(ターミナルやコマンドプロンプトなど)からocコマンドでIBM Cloud上のOpenShiftのクラスター(サーバ)に接続し、ocコマンドを実行する方法について

・ocコマンドがローカルにない場合
OpenShiftのダッシュボードの上部の?マークを押して「コマンドラインツール」を選択し、自身の環境に合わせて、コマンド(バイナリー)をダウンロードしてセットアップします。
image.png
・ocコマンドからOpenShiftのクラスター(サーバ)に接続する方法
OpenShiftのコンソール上部の自身のIDを押し、メニューから「ログインコマンドのコピー」を選択。次の画面で「Display Token」を押し「Log in with this token」の下の oc コマンドをコピーし、コンソールにペーストして実行します。
image.png


(ステップ4続き)
「IBM Log Analysis with logDNA」のサービスのロギングメニューにて「ダッシュボードを開く」を押します。
image.png
#背景色やテーマなどはSettings → USER PREFERENCE で変更できます。

OpenShiftのログがLogDNAに取り込まれて、リアルタイムに表示されていることが確認できます。

ステップ5: LogDNAで(監視対象の)アプリケーションログのViewを作る

デフォルトのViewでは、OpenShiftの全ログが閲覧対象になっているので、「Sources」から、閲覧対象としたいPodを検索(検索窓にステップ2の最後で確認したPod名の一部を入力)し、該当Podを選択してApplyを押して、ログの絞り込みを行います。
image.png
#リストに対象リソースが出てこない場合は、リストの再生成を実行させるため、ブラウザーのリロードを行ってください。

今絞り込んだ、監視対象Podログだけを見るViewを保存します。
image.png

ステップ6: 作成したViewに対してアラートを設定してメールを飛ばす

Viewのメニューより、「Attach an alart」を選択し、「View-specific aleat」にて「Email」を選び、メールのRecipientsなどを設定して、「Save Alert」を押します。
image.png
#上記の設定により、該当のView(nodejs-sample-view)に表示されるログに対して、30秒以内に1行以上ログが現れたら、30秒毎のタイミングで1通のメールが飛ばされるようになります。

設定したアラートの動作確認をするため、先のサンプルアプリのURL(ステップ2の「URLを開く」)にもう一度アクセスし、Podのログにアクセスログが表示されるのを確認します。
image.png
#上記、左側がアクセス前のログの状態で、右側がブラウザーから再アクセス後に1行ログが追加されたところ

アラートメールが送られてきたことを確認します。
image.png


以上、IBM Cloud上にて、OpenShiftとLoggingのマネージドサービスの新規オーダーを行い、コンテナアプリの起動、OpenShiftログでの確認、ログのアラート設定を行う事によるアラートメールの受信確認まで、一連の手順についてご紹介させていただきました。

まだ、IBM CloudやOpenShiftなどを、あまり触ったことの無い方にとって、何かのご参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0