Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
yasuyukiuno
Active Participant
528
この記事は SAP Advent Calendar 2023 の12月7日分の記事として執筆しています。

サービスの稼働後、Application Logging Serviceを利用してCAPアプリケーションのログを確認したり、CPU負荷やメモリの推移を確認するようなことがよくあると思います。
そして、顧客からは稼働状況を定期的に報告せよ。と言われたりもします。
(面倒くさい)

Application Logging Serviceは7日間しか保存されないですし、毎日確認するのは大変です。

毎日確認するのは面倒くさいし忘れてしまうので、スクレイピングを使ってApplication Logging Serviceのメモリ使用率推移を自動的にキャプチャして保存するツールを作りました。
このツールを利用すればもう確認忘れはありません。
毎日定時にCAPアプリケーションのメモリ推移のキャプチャを取得し保存することができます。

作成したツールはGitHubにアップしておきました。https://github.com/unosistema/SAPBTPLoggingCapture

前提条件



  • CF環境でアプリケーションが稼働していること

  • アプリケーションとApplication Logging Serviceがバインドされていること

  • Application Logging ServiceのスナップショットURLの作成(後述 ステップ0)

  • Node.jsのインストール


本プログラム内で利用しているライブラリ、Puppeteerについて


puppeteerはNode.jsから画面表示なしでChromeを動かすことができるライブラリです。
裏でChromeを動かしながらスクレイピングしたり、画面入力したり、ボタンを押したり、スクリーンショットを撮ることができます。
気になる方は「ヘッドレスブラウザ」で調べて下さい。



0.事前準備(スナップショットURLの作成)


Application Logging ServiceでスナップショットURLを作成していきます。


SAP BTPのApplication Logging Serviceにアクセスします。



今回はメモリ推移のグラフを見たいので、表示するグラフを切り替えます。




CPUとメモリ推移のグラフが表示されました。
過去24時間の推移が確認できるように、条件を変更します。






下記のようなスナップショットURLが生成されます。
https://logs.cf.eu10-004.hana.ondemand.com/goto/(32桁ハッシュ値)


このスナップショットURLにダイレクトにアクセスするだけで、いつでも過去24時間の推移が確認できます。
また、今回はフィルタを設定していませんが、snapshot URLではフィルタの設定値も覚えていてくれます。
スナップショットURLはとても便利です。
しかし、毎日ブラウザを開くだけでも面倒くさい/忘れてしまう人のためにツールを作りました。



1.プログラムのダウンロードと一部書き換え


https://github.com/unosistema/SAPBTPLoggingCapture


上記のGitHubリポジトリからプログラムをクローンし、一部のプログラムを書き換えて下さい。


app.js 内の3つの変数を書き換えて下さい






    • スナップショットURL

    • SAP Universal IDのID(メールアドレス)

    • SAP Universal IDのパスワード




// Change here!!
const btp_application_logging_snapshot_url = "xxxxxxxxxxxxxxxxxxxxxxx"; // ex. https://logs.cf.eu10-004.hana.ondemand.com/goto/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
const sap_username = "xxxxxx@xxxxxxxxxxx.com"; // Your SAP UniversalID(e-mail)
const sap_password = "xxxxxxxxxxxx"; // Your SAP UniversalID Password

2.ライブラリのインストール


コマンドプロンプトやターミナルを開き、プログラムのディレクトリに移動し下記コマンドでライブラリをインストールします。



npm install

3.プログラムの実行


コマンドプロンプトやターミナルから下記コマンドでプログラムを実行



node app.js


1分ほど待つとスクリーンショットが生成されます。



PNGファイルを開くと、過去24時間のグラフのスクリーンショットが表示されています。



 

このプログラムを定時に実行するようにスケジュールを組んでおくだけで、運用保守がきっと楽になります。

報告資料には定時取得したスクリーンショットを貼るだけです。

Application Logging Service以外にも、HANA Cloudのモニタリング画面を定期的にキャプチャするなど、色々と使い道がありそうです。
Labels in this area