目次
こんにちは、那須です。本記事は New Relic Advent Calendar 2024 の3日目の記事です。
SAPシステムを運用されている方であれば、普段から業務が滞りなくできているかやパフォーマンス低下によって業務に影響がないかどうかなどを見られていると思います。BASISコンサルタントであればSAP GUIを使って様々なトランザクションコードを実行することで、運用タスクや障害/パフォーマンス低下の原因調査を行っていますよね。
昔からBASIS分野を担当していて熟練の技を持った方であれば、どんな障害でも原因を調べてあげてしまうでしょう。どこの会社でもそのような方が1人はいたりするのですが、多くはいません。もしその方が退職されたり長期休みに入られたりすると一気に不安が高まりますね。
New Relic Monitoring for SAP Solutionsを活用することでこのような不安を取り除けるとしたらどうでしょうか? ということでいくつかの活用例をご紹介します。
活用例:ワークプロセスは本当に足りているのか?
SAPにはワークプロセスというものがあります。1つの処理を実行している間は1つのワークプロセスを占有します。例えば20個の処理が同時に実行されるためには20個のワークプロセスが必要です。このワークプロセスの使用状況はT-cd:SM50で確認できますが、確認した時点の使用状況しかわかりません。過去に遡ってどうだったかを調べることが難しいですね。
New Relic Monitoring for SAP Solutionsでは下図のようにその時のワークプロセス状況を記録して時系列でチャート表示できます。この例ではBTCとDIAしか表示していませんが、他のタイプもあわせて表示できます。
以下のようにユーザログイン数も時系列で記録できます。例えば決算時に多くの会計部門のユーザがログインして作業していた場合にDIAワークプロセスのFree数が0になっていたら、ユーザはその間何もできず待たされてしまいます。
バックグラウンドジョブの実行数も時間ごとに記録できます。この例だとピーク時間がありませんが、仮に夜間バッチジョブが多く実行されている場合にBTCワークプロセスのFree数が0になっていたら先ほどのユーザと同じようにジョブが待たされてしまいます。
これらの例のように、サーバリソースは十分足りているはずなのにワークプロセス設定数が少ないために処理の実行が待たされて、業務が止まるもしくは遅くなるといったインシデントにつながります。昼間ならまだ多くのメンバーでリアルタイムで調べられますが、夜間にこのような事象が発生すると多くのメンバーは寝ているので十分なサポートが得られないまま夜間運用担当者がつらい思いをしながら調査することになります。
しかしNew Relic Monitoring for SAP SolutionsがあるとSAP GUIを使わずともこのように過去に遡って確認できます。これなら例えば管理職の皆さまやSAP GUIを使い慣れていない方でも、状況確認できてある程度の判断はできて運用担当者に指示や依頼を出すなどのアクションを取りやすくなるのではないでしょうか。
活用例:ロックテーブルオーバーフローに気づいて調べられるか?
ロックテーブルの容量が大きかったりロックテーブル数が多かったりして、パラメータenque/table_sizeで指定したサイズをロックによって超えてしまうとロックテーブルオーバーフローとなります。こうなると、重要な処理が落ちてしまったりして業務が止まったりします。
ロックテーブルオーバーフローはCCMSで検知できます。そのCCMSからそのままNew Relicに値を転送することで、New Relic上で分かりやすく可視化することができます。CCMSの画面を見て運用しているところはあまりないかと思いますが、Auto Reactionを使ってメール等はしていると思います。それでも気づくことはできますが、あとから状況を見返したり報告書を作成する際に面倒ですよね。下図はずっと0のままなのでイメージしずらいですが、時系列チャートで可視化しておくことで誰でもいつ発生したのかがわかります。
ロックテーブルの情報も収集できます。あまりに長時間ロックしているテーブルがあれば、その処理をしているプログラムを修正してロックエントリを少なくするようにしないといけないですね。
活用例:応答時間やジョブ実行時間は要件を満たしているか?
例えばSAP GUIで操作している時にすごく処理が遅くなることがあります。そういう場合にはダイアログの応答時間が長くなっていると思います。またバックグラウンドジョブがなかなか終わらない時もありますよね。
以下はダイアログ応答時間を時系列で可視化したチャートの例です。これでいつ遅くなったのかを特定することができますね。また特定の曜日や時間に偏っているなどの傾向もつかむことができます。
また実行時間が長かった処理をダッシュボードで見て、その処理の詳細画面から分散トレーシングでどの部分の処理が遅かったのかを調査できます。こういうものがないと、T-cd:STADやST12などで調べていくしかなかったのですが、New Relicでデータを収集していればSAP GUIで難しい調査をしなくてもある程度は原因を調べることができます。下図の例ではSAP標準プログラムとDBへのクエリのそれぞれの時間が可視化された例ですが、もちろんアドオンプログラムも対象になるのでアドオンプログラムのパフォーマンス改善にも活用できます。
さいごに
ほんの一例だけですがNew Relic Monitoring for SAP Solutionsを入れることで見れる情報やパフォーマンス分析例をご紹介しました。他にも様々な情報を取り込んで可視化したり分析したりアラート送信したりできます。
SAPシステムを運用しているけどパフォーマンス低下などの問題を抱えててどうも改善が進まないなぁといったお困りごとがあればお気軽にお問い合わせください。
- カテゴリー