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.

    1. HOST - Determine the currently running UI Host name or IP as shown in Figure 1.

      Figure 1 : Apache Storm - Host details

    2. 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>

      ui.port: 8085

       

      For SSL -ui.https.port: <port>

      ui.https.port: 8740

       

      The Port details appear as shown in Figure 2.

      Figure 2 : Apache Storm - Port details

    3. 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.key.password: "wellcome1234"

      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.

      Figure 3 : Apache Storm - Protocol details for https-SSL Enabled status