7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LogDNAでCloudFoundryアプリケーションのログを監視する

Posted at

はじめに

IBM Cloud上で動くNode.jsアプリのログをLogDNAで監視できるように設定しました。
Kubernetes(k8s)の場合とCloudFoundry(CF)の場合とでは設定方法が異なりますが、k8sを前提に書かれている記事が多かったので、CFの場合の設定方法をまとめてみます。

LogDNAの概要やk8sでの設定方法、IBM Log Analysis with LogDNA インスタンスの作成手順は他の記事を参考にしてください。

前提

  • ログ監視対象のアプリがIBM Cloud上で動いている
  • IBM Log Analysis with LogDNA インスタンスが作成済み
  • ibmcloudコマンドをインストール済み

platform services logsの設定

IBM Cloud のDashboardから、ResourceList > Services > IBM Cloud Log Analysis with LogDNA インスタンスを開きます。
image.png

Logging タブを開きます。
image.png

最初の段階ではSourcesの項目にリージョン名しか書かれていないと思うので、platform services logs を設定します。

画面右上の「Cofigure platform services logs」をクリックします。
image.png

モーダル画面が開くので、ログ監視をしたいアプリのあるリージョンと IBM Log Analysis with LogDNA インスタンスを選択し、「Save」ボタンを押します。
image.png

「View LogDNA」ボタンをクリックしてLogDNAコンソールを開き、ログが転送されていることを確認します。

CUPS (Custom user provided service) の設定

IBM Cloudの公式ドキュメントによると、上記のplatform services logsの設定だけで、該当リージョンのアプリ/サービスのログをLogDNAに転送する設定が完了のようですが、私の環境ではうまくいきませんでした。
調べてみると、**Node.js, Ruby, fluentd等の一部のサービスでは、LogDNAにログを転送するのに追加設定が必要になるそうです。**この情報は公式ドキュメントには記載がなく、また、どのような追加設定が必要かという情報も見つけられませんでした。

そこで、もう一つの方法であるCUPSを設定してみます。

  1. LogDNAのポートを用意する

    • 「View LogDNA」ボタンをクリックして、LogDNA インスタンスを開きます。
      image.png
    • 画面左のタブから「Install Instructions」アイコンをクリックします。
      image.png
    • モーダル画面が現れるので、左端の View Syslog > Syslog >「Provision a Syslog port」をクリックします。
      image.png
    • ポートが表示されるので、コピーしておきます。
      image.png
  2. CUPSを作成する

    • ターミナルからibmcloudにログインします。
    • 以下のコマンドを実行します。
      ibmcloud cf cups SVC_INSTANCE_NAME -l syslog://SYSLOG_ENDPOINT_URL:PORT_NUMBER
      SVC_INSTANCE_NAMEは作成するCUPSのインスタンス名です。
      SYSLOG_ENDPOINT_URL:PORT_NUMBERは1の手順でコピーしたものです。
  3. CUPSとログ監視対象のアプリを紐付ける

    • 以下のコマンドを実行します。
      ibmcloud cf bind-service CF_APP_NAME SVC_INSTANCE_NAME
      CF_APP_NAMEはログ監視対象のアプリ名です。
      SVC_INSTANCE_NAMEは前の手順で作成したCUPSインスタンス名です。
  4. ログ監視対象アプリをリステージする

    • 以下のコマンドを実行します。
      ibmcloud cf restage CF_APP_NAME
      CF_APP_NAMEはログ監視対象のアプリ名です。

「View LogDNA」ボタンをクリックしてLogDNAコンソールを開き、ログが転送されていることを確認します。
Liteプランの場合は、ログを保持することができないので、画面右下の「LIVE」ボタンをオンにしてアプリを動かして、ログが出力されることを確認します。
image.png

参考リンク

CFアプリのログ監視についての公式ガイドです。
https://cloud.ibm.com/docs/services/Log-Analysis-with-LogDNA?topic=LogDNA-monitor_cfapp_logs

7
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
7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?