Classic/VPC環境で利用できます。
Cloud Insightサービスの利用中に次のような問題が発生することがあります。問題ごとの原因と解決方法を確認し、適切に対処してください。
メトリックが収集されない
いきなりメトリックが収集されません。
原因
root(/)パスのディスク使用率が99%以上の時点以降は、Cloud Insight Agentが正常に動作しない場合があります。
解決方法
当該パスのディスク容量を確保したり点検した後、Agentを再起動してメトリックが正常に収集されるかご確認ください。
Serverの proc mem usertと Memoryの mem_usertが異なる
Serverの proc_mem_usertが Memoryの mem_usertより高いです。
原因
各メトリックについての説明は、次の通りです。
| 項目 | 説明 |
|---|---|
| SERVER/proc_mem_usert | サーバ内の全プロセスのメモリ使用率 |
| MEMORY/mem_usert | サーバ全体のメモリ使用率 |
一般的に、プロセスの他にもいろいろな要素がサーバメモリを使用するため、MEMORY/mem usertが SERVER/proc mem_usertより大きい傾向があります。
SERVER/proc_mem_usertが MEMORY/mem_usertより大きいケースは、次の通りです。
SERVER/proc_mem_usertは、すべてのプロセスが使用している RSS(プロセスが占めている Local Memory+プロセスが参照している Shared Memory)の合計を意味します。多くのプロセスが同じ Shared Memory pageを参照する場合、RSSに重複して合算されるため、理屈の上では RSSの合計が実際のメモリ使用率より大きく集計される可能性があります。- RSSはプロセスが CPUを使用する場合にのみ、その値がアップデートされます。CPU負荷が非常に高い状況では、プロセス別に CPUの割り当てを受けられないこともあり、そのため RSS値のアップデートが正常に行われない場合があります。そのため、全体 RSS値の合計が実際のメモリ使用率より大きい場合があります。
解決方法
正確なメモリ使用率を確認するには、SERVER/proc_mem_usertより MEMORY/mem_usertを使用してください。
CPUの used rtoと Serverの avg cpu used rtoが異なる
CPUの used rtoが Serverの avg cpu used rtoより高いまたは低いです。
原因
各メトリックについての説明は、次の通りです。
| 項目 | 説明 |
|---|---|
| CPU/used_rto | 各 vCPUの使用率 |
| SERVER/avg_cpu_used_rto | サーバ全体の平均 CPU使用率 |
Linuxアーキテクチャの特性上、特定のプロセスはすべての CPUを均等に使用せず、特定の CPUをより多く使用する場合があります。このような場合、CPU/used_rtoは SERVER/avg_cpu_used_rtoより高くなったり低くなったりすることがあります。
解決方法
サーバの正確な平均 CPU使用率を確認するには、CPU/used_rtoより SERVER/avg_cpu_used_rtoを使用してください。
ウィジェット作成時に収集されていないメトリックがメトリックリストに含まれる
ウィジェット作成時に収集されていないメトリックがメトリックリストに含まれています。
原因
ウィジェット作成時には、選択したサービスで提供するすべてのメトリックリストを表示します。現在収集されないメトリックをウィジェットに追加しても、今後収集されるとウィジェットにメトリックが表示されます。
ただし、メトリックを収集するための追加設定が必要な場合(詳細モニタリング、Plugin設定など)、対象リソースに対してサポートしないメトリックの場合、Server(Classic)、Server(VPC)サービスの場合は、OSによって提供しないメトリックが表示される場合があります。
解決方法
メトリックのリストが表示される原因を確認した後、コンソール内で提供されるメトリックの説明をご参照ください。
本ガイドで必要な情報が見つからない場合やさらに必要な情報がある場合は、以下のフィードバックアイコンをクリックして、ご意見をお寄せください。いただいたご意見を参照して、より有益な情報を提供できるよう努力してまいります。
Process Pluginメトリックが収集されない
Process Pluginを登録しても関連メトリックが収集されません。
原因
プロセス名が正しく登録されていない可能性があります。
解決方法
- プロセスの PIDを確認
ps -ef | grep <프로세스명> コマンドを利用してプロセスの PIDを確認します。
例:
プロセスが java -jar myapp.jar --port=8080 の場合、以下のコマンドを実行します。
ps -ef | grep java
出力された結果から当該プロセスの PIDを確認します。
- 正確な実行コマンドを確認
PIDを確認した後、/proc/{pid}/cmdlineによって実行コマンドを確認できます。
cmdlineファイルでは因数を null byte(\0)に区分して保存します。
正確な全体のコマンドを確認するには以下のコマンドを実行します。
cat /proc/{pid}/cmdline | tr '\000' '\040'
詳細は、man公式ドキュメントをご参照ください。
- ワイルドカードを活用したプロセス名を登録
最初はワイルドカード(*)を使用して広い範囲でプロセス名を登録した後、正常に収集されているかを確認してください。
例:
javaが含まれた全プロセスから収集するには、*java*で登録- 正常に収集されているかを確認した後、
*java -jar myapp.jar*のように範囲を絞って登録
- 正確なモニタリングのためにメトリックを活用
is_process_upメトリックよりはprocess_countメトリックを活用した方が正確なモニタリングにより役立ちます。- 詳細は、ガイドをご参照ください。