Impala Daemon JVM Threads Test
The Impala Daemon JVM Threads test reports the status of the threadsrunning on the JVM in the target Impala Daemon server. The detailed diagnosis of this test can be used to identify resource-hungry threads, so that threads that are unnecessarily consuming CPU resources can be killed.
Target of the test : Apache Impala
Agent deploying the test : An internal/remote agent
Outputs of the test : One set of results for the target Impala Daemon server.
Parameter | Description |
---|---|
Test period |
How often should the test be executed. |
Host |
The IP address of the target server that is being monitored. |
Port |
The port number through which the Apache Impala communicates. The default port is 25000. |
Impalad URL |
Each daemon server has a different endpoint URL. You need to configure the eG agent with the endpoint URL of each daemon, so that the agent can access the URL and pull metrics on the health of the target daemon servers. Specify such URL in the Impalad URL text box . To know how to configure the eG agent with the API Endpoint URLs, refer to Configuring the eG agent with the API Endpoint URLs topic in Pre-requisites for Monitoring Apache Impala. |
Impalad Authorization type |
To access daemon server, you need to configure Digest authorization. Digest authorization is a method used to verify the identity of a user requesting access to API Endpoint URL of the daemon server. Digest authorization uses a combination of a username, password, and a unique message digest (a type of encrypted code). Specify such Digest authorization value in the Impalad Authorization type text box considering the below criteria:
If multiple Impalad URLs are mentioned in the Impalad URL text box, then specify a comma-separated list of authorization type for each URL. For example, if there are two Impalad URLs, one URL without authorization and the other URL protected with authorization (username/password authorization), then specify Impalad Authorization type as: no_auth,digest_auth in the Impalad Authorization type text box. By default, Impalad Authorization type value is no_auth. |
Impalad User, Impalad Password and Confirm Password |
Once you enable web server access to the eG agent, make sure that 'password authentication' is also enabled. This is needed, so that the eG agent is able to access the built-in web server for each daemon in a safe, secure manner. Configure the credentials of such a user against Impalad User and Password text boxes. Confirm the password by retyping it in the Confirm Password text box. To know how to configure the eG agent with 'secure' access to the built-in web server, refer to Configuring the eG agent with 'secure' access to the built-in web server topic in Pre-requisites for Monitoring Apache Impala. By default, Impalad user parameter is set to none.
|
Statestored URL |
Each daemon server has a different endpoint URL. You need to configure the eG agent with the endpoint URL of each daemon, so that the agent can access the URL and pull metrics on the health of the target daemon servers. Specify such URL in the Statestored URL text box . To know how to configure the eG agent with the API Endpoint URLs, refer to Configuring the eG agent with the API Endpoint URLs topic in Pre-requisites for Monitoring Apache Impala. |
Statestored Authorization type |
To access daemon server, you need to configure Digest authorization. Digest authorization is a method used to verify the identity of a user requesting access to API Endpoint URL of the daemon server. Digest authorization uses a combination of a username, password, and a unique message digest (a type of encrypted code). Specify such Digest authorization value in the Statestored Authorization type text box considering the below criteria:
By default, Statestored Authorization type value is no_auth. |
Statestored User, Statestored Password and Confirm Password |
Once you enable web server access to the eG agent, make sure that 'password authentication' is also enabled. This is needed, so that the eG agent is able to access the built-in web server for each daemon in a safe, secure manner. Configure the credentials of such a user against Statestored User and Password text boxes. Confirm the password by retyping it in the Confirm Password text box. To know how to configure the eG agent with 'secure' access to the built-in web server, refer to Configuring the eG agent with 'secure' access to the built-in web server topic in Pre-requisites for Monitoring Apache Impala. By default, Impalad user parameter is set to none.
|
Catalogd URL |
Each daemon server has a different endpoint URL. You need to configure the eG agent with the endpoint URL of each daemon, so that the agent can access the URL and pull metrics on the health of the target daemon servers. Specify such URL in the Catalogd URL text box . To know how to configure the eG agent with the API Endpoint URLs, refer to Configuring the eG agent with the API Endpoint URLs topic in Pre-requisites for Monitoring Apache Impala. |
Catalogd Authorization type |
To access daemon server, you need to configure Digest authorization. Digest authorization is a method used to verify the identity of a user requesting access to API Endpoint URL of the daemon server. Digest authorization uses a combination of a username, password, and a unique message digest (a type of encrypted code). Specify such Digest authorization value in the Catalogd Authorization type text box considering the below criteria:
By default, Statestored Authorization type value is no_auth. |
Catalogd User, Catalogd Password and Confirm Password |
Once you enable web server access to the eG agent, make sure that 'password authentication' is also enabled. This is needed, so that the eG agent is able to access the built-in web server for each daemon in a safe, secure manner. Configure the credentials of such a user against Catalogd User and Password text boxes. Confirm the password by retyping it in the Confirm Password text box. To know how to configure the eG agent with 'secure' access to the built-in web server, refer to Configuring the eG agent with 'secure' access to the built-in web server topic in Pre-requisites for Monitoring Apache Impala. By default, Impalad user parameter is set to none.
|
DD Frequency |
Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD frequency. |
Detailed Diagnosis |
To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option. The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Running threads |
Indicates the number of JVM threads in a running state. |
Number |
The detailed diagnosis of this measure provides details about the top 5 running threads in terms of CPU consumption . The details include the time for which the thread was in a blocked state, user time, blocked count etc. |
Daemon threads |
Indicates the current number of live daemon JVM threads. |
Number |
|
Peak threads |
Indicates the highest number of live threads since JVM started. |
Number |
|
CPU time |
Indicates the average CPU time for total running threads. |
Seconds |
Ideally, the value of this measure should be very low. A high value is indicative of a resource contention at the JVM. Under such circumstances, you might want to identify the resource- hungry threads. To know which threads are consuming excessive CPU time, use the detailed diagnosis of the Running Threads measure. |
User time |
Indicates the duration for which CPU resources were consumed by user-level tasks. |
Seconds |
|
Blocked duration |
Indicates the average blocked duration of running threads. |
Seconds |
If a thread is trying to take a lock (to enter a synchronized block), but the lock is already held by another thread, then such a thread is called a blocked thread and the time taken by the JVM thread to take a lock indicates the blocked duration. |
Average blocks |
Indicates the average time this JVM threads are blocked. |
Per thread |
Ideally, the value of this measure should be very low. A high value is indicative of a lock contention at the JVM. Under such circumstances, you might want to identify which thread this is and for how long it has been blocked. To know these details, use the detailed diagnosis of running thread measure. |