LoginSignup
0

More than 1 year has passed since last update.

Amazon CloudWatch Application InsightsでSAP HANAをモニタリングしてみる

Last updated at Posted at 2021-12-20

Amazon CloudWatch Application Insightsとは

公式マニュアルには以下のように記載されています。

CloudWatch Application Insights は、他のアプリケーションリソースとともに Amazon EC2 インスタンスを使用するアプリケーションをモニタリングするのに役立ちます。アプリケーションのリソース全体およびテクノロジースタック (Microsoft SQL Server データベース、ウェブ (IIS) サーバー、アプリケーションサーバー、OS、ロードバランサー、キューなど) で主要なメトリクス、ログ、およびアラームを特定して設定します。

超簡単に説明すると「SQLServerやIISなどのアプリケーションの監視設定をよろしくやってくれる」機能です。(たぶん
2021年11月にSAP HANAの監視にも対応したので試してみたいと思います。
https://aws.amazon.com/jp/about-aws/whats-new/2021/11/amazon-cloudwatch-insights-sap-hana-databases/

SAP HANA環境の準備

まずは監視対象のHANA環境を準備します。

今回はAWS Launch Wizard for SAPを使用してシングル構成のHANA環境を作成しました。
※事前にHANAのインストールメディアをSAP Software Download Centerからダウンロードする必要があります。
※インストールメディアのダウンロードにはS-USERが必要です。

前提条件

HANA環境の作成後にCloudWatch Application Insightsで監視を行うための前提条件を確認します。
・SAP HANA
HANAがインストールされており、且つ起動していること。
Launch Wizardでインストールと起動まで完了しています。

・SAP HANAデータベースユーザ
CloudWatch Application Insightsと連携する専用のユーザを作成する必要があります。
マニュアルに従って以下のコマンドで作成します。

su - <sid>adm
hdbsql -u SYSTEM -p <SYSTEMDB password> -d SYSTEMDB
CREATE USER CW_HANADB_EXPORTER_USER PASSWORD <Monitoring user password> NO FORCE_FIRST_PASSWORD_CHANGE;
CREATE ROLE CW_HANADB_EXPORTER_ROLE;
GRANT MONITORING TO CW_HANADB_EXPORTER_ROLE;
GRANT CW_HANADB_EXPORTER_ROLE TO CW_HANADB_EXPORTER_USER;

・Python 3.6
・pip3
・CloudWatch Agent
・SSM Agent
これらはLaunch Wizardで起動させたSuSE Linux 15 SP1に既にインストールされていました。

sapci:~ # /usr/bin/python3 --version
Python 3.6.10

sapci:~ # /usr/bin/pip3 --version
pip 20.0.2 from /usr/lib/python3.6/site-packages/pip (python 3.6)

sapci:~ # /usr/bin/amazon-cloudwatch-agent-ctl -a status
{
  "status": "running",
  "starttime": "2021-12-18T05:39:31+00:00",
  "configstatus": "configured",
  "cwoc_status": "stopped",
  "cwoc_starttime": "",
  "cwoc_configstatus": "not configured",
  "version": "1.247349.0b251399"
}

sapci:~ # amazon-ssm-agent -version
SSM Agent version: 3.1.715.0

・IAMロール
HANAが起動しているEC2に必要な権限のロールをアタッチします。
今回は一時的な検証環境ということでAdmin権限のロールをアタッチしました。
本番環境ではマニュアルに従って権限を絞りましょう。

・AWS Resource Groups
監視対象のHANAサーバ(EC2)のResource Groupsを作成します。
以下のパラメーターで作成しました。
 グループ名:HANASERVERGROUP
 グループタイプ:タグベース
 リソースタイプ:AWS::EC2::Instance , AWS::EC2::Volume
 タグ:Key = Name , Value = HANASERVER  ※事前にEC2インスタンスとEBSのタグに左記を設定

作成したResource Groupsの画面です。
Group resourcesにHANAのEC2インスタンスとEBSボリュームが表示されています。
ResourceGroups_1.jpg

CloudWatch Application Insightsの設定

マネージメントコンソールでCloudWatchの画面を開いて左メニューの Insights から Application Insights を選択します。
ApplicationInsights_1.jpg

アプリケーションを追加 を選択します。
ApplicationInsights_2.jpg

アプリケーションを選択 の画面で Resource group based application を選択します。
ApplicationInsights_3.jpg

リソースグループ にResource Groupsで作成した HANASERVERGROUP を選択します。
ApplicationInsights_4.jpg

アプリケーションHANA single nodeを選択します。
ApplicationInsights_5.jpg

ユーザ名パスワード前提条件 で作成したHANAデータベースユーザのユーザ名とパスワードを入力します。
ApplicationInsights_6.jpg

設定内容を確認して問題無ければ Submit を選択します。
ApplicationInsights_7.jpg

以下のような画面が表示されたら設定は完了です。
ApplicationInsights_8.jpg

確認

Application Insightsのトップ画面を見ると、設定前は0と表示されていた モニタリング対象アセットテレメトリー の数字が増えています。
ApplicationInsights_9.jpg

CloudWatch画面の左メニューより すべてのメトリクス を選択してメトリクスの画面を開くと CWAgent というカスタム名前空間が作成されていることが確認できます。この中に34のカスタムメトリクスが存在しています。
ApplicationInsights_10.jpg

CWAgent内のカスタムメトリクスを確認するとHANAサーバのCPU使用率やディスク使用率、HANAデータベースのキャッシュヒット率やコネクション数等のモニタリングが自動的に設定されていることが確認できました。
ApplicationInsights_11.jpg

まとめ

CloudWatchでSAP HANAなどのEC2内のアプリケーション監視を実施する場合、カスタムメトリクスを1つ1つ自前で設定していく必要がありましたがApplication Insightsを使えば主要な監視項目が自動的に設定されるため監視設定の負荷を下げることが可能です。
現時点ではApplication Insightsのモニタリングに対応しているアプリケーション数が少ないですが、今後更に増えることを期待したいと思います。

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