Pre-requisites for Monitoring Apache Storm
Before attempting to manage and monitor Apache Storm, make sure that the following pre-requisites are fulfilled:
Determine the correct port using which the target Apache Storm has to be managed in the eG admin interface.
By default, the eG agent executes REST APIs on the target component to collect the required metrics.
To enable the eG agent to collect JVM-related metrics, make sure the requirement for JVM monitoring detailed in the Configuring JVM Monitoring for Windows/Linux in Apache Storm topic is satisfied.
To monitor Apache Storm, UI for the target Apache Storm needs to be enabled. To achieve this, the following prerequisites are followed.
HOST - Determine the currently running UI Host name or IP as shown in Figure 1.
PORT - By default, the UI port is 8080, To override UI port, the following field needs to be added on storm.yaml file that exists in (example: storm directory location/conf) path.
For Non-SSL -ui.port: <port>
For SSL -ui.https.port: <port>
The Port details appear as shown in Figure 2.
PROTOCOL - By default, Apache Storm UI runs under Non-SSL mode. To enable SSL on UI, the keystore jks file has to be created using the following command in storm.
keytool -genkey -keyalg RSA -alias mykeystore -keystore mykeystore.jks -validity 360
Keystore jks file will be created on your current path. Now open the storm.yaml file from the respective storm installation location(example: storm directory location/conf path) and add the following commands in the storm.yaml file.
ui.https.keystore.password: "wellcome1234" --> password of keystore while created
ui.https.keystore.path: storm directory location/apache-storm-x.x.x/mykeystore.jks --> Keystore location
ui.https.keystore.type: "jks" --> Keystore type
ui.https.port: 8740 --> UI Port
The Protocol details for https - SSL Enabled status appear as shown in Figure 3.