インストール問題の解決
ファイアウォール設定の確認
WhaTapのデータ収集サーバーにTCPアウトバウンドポリシーを設定しない場合、モニタリング情報を送信できません。 ファイアウォール遮断を解除してください。
telnet
コマンドを使用して、"Connected to IP
"を確認します。
$ telnet 52.193.60.176 6600
Trying 52.193.60.176...
Connected to 52.193.60.176.
Escape character is '^]'.
収集サーバーの情報は、WhaTapモニタリングサービスからプロジェクトを選択した後、管理 > エージェントインストール メニューから確認できます。
SpringBoot2.2以降、Tomcat JMXのOFF状態
SpringBoot 2.2バージョン以降でEmbedded Tomcatを使用する場合、既定値としてJMX関連の機能が動作しません。この場合、JMX機能を有効してください。関連リンク
spring.jmx.enabled=true
server.tomcat.mbeanregistry.enabled=true # tomcat embeddedの場合 #
spring:
jmx:
enabled: true
server:
tomcat:
mbeanregistry:
enabled: true #tomcat embeddedの場合
OSGI フレームワーク対応アプリケーション・サーバーの場合
OSGIフレームワーク構造を持つアプリケーション・サーバーの場合は、JVMオプションにエージェント・パッケージプリフィックス(whatap)を登録します。
JBoss EAP6.0以降、 Jboss AS7.0以降、 Wildfly 8.0以降、IBM WebSphere AS 7.0以降が含まれます。
JBoss AS, Wildfly, JBoss EAP6.0以降
次のファイルにプレフィックスを登録します。
-Djboss.modules.system.pkgs=whatap
WebSphere
JVM オプションとして、以下を追加します。
-Dcom.ibm.ws.classloader.server.alwaysAllowedPackages=whatap
- 既定値として '*' で指定されている場合、設定は必要ありません。
- 設定位置は、WebSphereを参照してください。
security.policy権限を次のように追加してください。
grant codeBase "file:$WHATAP_HOME/-"
{
permission java.security.AllPermission;
};
Log Manager関連エラー
JBoss ASバージョン7.0以降、JBoss EAPバージョン6.0以降でLog Manager関連エラーが発生した場合、JVM オプションを追加します。
-Djava.util.logging.manager
項目にLog Manager package名を設定してください。-Xbootclassloader
項目にJoboss Log Manager JAR fileを設定してください。
# Specify the exact Java VM executable to use.
#
if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then
JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,org.jboss.logmanager,whatap"
fi
...
# Specify options to pass to the Java VM.
#
if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS="-Xms1303m -Xmx1303m -Djava.net.preferIPv4Stack=true"
JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Xbootclasspath/p:/home/vagrant/EAP-7.0.0/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.0.3.Final-redhat-1.jar"
else
echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS"
fi
MBeanServerBuilderエラーが発生した場合
JBoss5.0以下のバージョンからMBeanServerBuilder関連エラーが出力された場合、JVMオプションを追加してください。
# Specify options to pass to the Java VM.
#
if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS="-Xms128m -Xmx512m -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver"
fi
Permissionエラーが発生した場合
Java Security Policyに関連するエラーが発生すると、_$JAVA_HOME/jre/lib/security/java.policy_ファイルに権限設定を追加してください。
すべての権限を一括で適用するには、次のようにjava.policyファイルに設定を追加します。
grant {
permission java.security.AllPermission;
};
java.io.FilePermissionエラーが発生した場合
次のようにjava.policyファイルに設定を追加します。
grant {
...
permission java.io.FilePermission {エラーメッセージから確認されたパッケージパス}, "read"
};
java.util.PropertyPermissionエラーが発生した場合
次のようにjava.policyファイルに設定を追加します。
grant {
...
permission java.util.PropertyPermission {エラーメッセージから確認されたパッケージパス}, "read"
};
Sigar libraryをロードできない場合
$WHATAP_HOME/lib1/*.soファイルに実行権限があることを確認してください。アクセス権限がない場合は、実行するアクセス権限を付与してください。
$ sudo chmod +x *.so
AIX7で*$WHATAP_HOME/lib1以下の階層にlibsigar-ppc64-aix-7.so*ファイルが存在しないエラーが発生した場合は、そのファイルをコピーしてください。
$ cp libsigar-ppc64-aix-5.so libsigar-ppc64-aix-7.so
CPU指標が-1で表示される場合
最新バージョンのJavaエージェントを使用する環境でIBM Javaを実行する時、CPU指標が**-1と表示される場合があります。この問題は、特定のプラットフォームでSystem Load Average**値に対応していないために発生します。
Javaエージェントは基本的にJava Management Extensions(JMX)を活用して指標を収集します。OperatingSystemMXBean
インターフェースのgetSystemLoadAverage()
メソッドを使用します。このメソッドは、オペレーティング システムに応じて、システムの最近1分間の平均負荷を返します。しかし、一部のプラットフォームではその値に対応していないため**-1**を返還できます。
getSystemLoadAverage()
メソッドはOpenJDKソースコードで確認できます。例えば、OpenJDK 7uバージョンのソースコードはGitHubリポジトリで確認できます。
推奨事項: 組み込みライブラリによるメトリック収集の設定
CPU指標が**-1**と表示される現象を解決するには、Javaエージェント設定により組み込みライブラリ(OSHIまたはSIGAR)を活性化します。
-
Java 8 以降環境: OSHIライブラリを活用
オペレーティングシステムレベルの指標を安定的に収集するためにOSHIライブラリを使用できます。エージェントの設定方法については、以下を参照してください。
whatap.conf# default false
oshi_enabled=true -
Java 8 未満環境: SIGARライブラリを活用
Java 8 未満の環境ではSIGARライブラリを活用して指標を収集できます。エージェントの設定方法については、以下を参照してください。
whatap.conf# default false
sigar_enabled=true
-
OSHI(
oshi_enabled
)とSIGAR(sigar_enabled
)オプションはデフォルト値として非活性化されています。必要に応じて明示的に設定する必要があります。 -
両方の設定を同時に活性化しないように注意します。環境に合ったライブラリを選択して設定します。