Monitor PubSub+ Self-Managed Connectors
Note: Metrics for Solace PubSub+ Cloud-Managed Micro-Integrations are available from the Clients displays, where a micro-integration connector will appear as a REST delivery endpoint. These procedures are specific to Solace PubSub+ Self-Managed Connectors.
Configuring the RTView Endpoint
The PubSub+ Self-Managed Connector (sometimes referred to as Self-Contained) supports a REST interface for collection of performance metrics. This section describes how to configure the specific REST endpoint that is used by RTView.
The connector uses an open source API named Micrometer to support REST queries, for collection of metrics about the connector’s performance. The connector runs an internal instance of Tomcat with various endpoints supporting different types of REST queries. For efficiency, RTView uses an endpoint named “rtview”, which allows collection of multiple metrics in a single REST query. However, that endpoint is not enabled by default in the connector, so some configuration is required.
There are three steps
Step 3: Test your configuration changes
Important! Some connectors that use the connector version 2, such as the Snowflake connector, have been found to require the installation instructions for version 1.
Step 1: Install jar files
The open-source jar files that implement the RTView endpoint are contained in zip files deployed with RTView, in rtvapm/solmon/lib/ext/jars_for_micrometer_X.zip. Two versions of this zip file are available:
jars_for_micrometer_0_15.zip | Support for connector version 1.x |
jars_for_micrometer_1_3_1.zip | Support for connector version 2.x |
If your connector is installed in a directory named (say) pubsubplus-connector, extract jars_for_micrometer_X.zip to pubsubplus-connector/libs
Step 2: Edit application.yml
If your connector is installed in directory named (say) pubsubplus-connector, the configuration file named application.yml will typically be found in that directory. To enabled the rtview endpoint, several changes are needed in that YAML file. You should make a backup copy of the file before making any changes.
Add or edit the lines involving “prometheus” and “rtview” as shown below.
Note: A line’s indentation level is syntactically significant in YAML, and should only use spaces never tabs.
For connector version 1.x:
For connector version 2.x:
The lines that are added/changed as compared to the default application.yml file are 8-9, 10-12, 16 (prometheus added to end), and 18-19. Note that RTView also uses the endpoints named “health” and “bindings”, so be sure those are included on line 16.
Your application.yml may look different, but the important changes are to the lines as noted above.
Step 3: Test your configuration changes
Stop and restart the connector. Here is a typical command line for starting the connector (in the directory where the connector’s jar is installed):
LINUX/UNIX: nohup java -Dloader.path=libs/ -jar pubsubplus-connector-ibmmq-1.1.0.jar &
Wait a minute or so, then make the following REST query:
LINUX/UNIX: curl -v http://localhost:8090/actuator/health
If the query fails with a 401 error, specify the username/password specified in the security section of application.yml, for example:
LINUX/UNIX: curl -v -u user:pass http://localhost:8090/actuator/health
The response text should be {"status":"UP"}
Note: If the url starts with https rather than http, specify -k to accept the connector's certificate:
LINUX/UNIX: curl -k -u user:pass http://localhost:8090/actuator/health
Now try the rtview endpoint:
LINUX/UNIX: curl -v -u user:pass http://localhost:8090/actuator/rtview
The response text should be fairly large, e.g.
# HELP jvm_gc_pause_seconds Time spent in GC pause
# TYPE jvm_gc_pause_seconds summary
jvm_gc_pause_seconds_count{action="end of minor GC",cause="Metadata GC Threshold",} 1.0
jvm_gc_pause_seconds_sum{action="end of minor GC",cause="Metadata GC Threshold",} 0.027
jvm_gc_pause_seconds_count{action="end of minor GC",cause="G1 Evacuation Pause",} 120.0
jvm_gc_pause_seconds_sum{action="end of minor GC",cause="G1 Evacuation Pause",} 0.597
...
Assuming some Solace message traffic has passed through the connector (see “Solace Lab Testing Notes” section, below) the response from the 'rtview' endpoint should include a number of lines with Solace-specific metrics. For example:
curl -u user:pass -v http://localhost:8090/actuator/rtview | fgrep solace
# HELP solace_connector_message_size_payload_bytes Message payload size
# TYPE solace_connector_message_size_payload_bytes summary
solace_connector_message_size_payload_bytes_count{name="input-0",} 20.0
solace_connector_message_size_payload_bytes_sum{name="input-0",} 22000.0
# HELP solace_connector_message_size_payload_bytes_max Message payload size
# TYPE solace_connector_message_size_payload_bytes_max gauge
solace_connector_message_size_payload_bytes_max{name="input-0",} 0.0
# HELP solace_connector_message_size_total_bytes_max Total message size
# TYPE solace_connector_message_size_total_bytes_max gauge
solace_connector_message_size_total_bytes_max{name="input-0",} 0.0
# HELP solace_connector_message_size_total_bytes Total message size
# TYPE solace_connector_message_size_total_bytes summary
solace_connector_message_size_total_bytes_count{name="input-0",} 20.0
solace_connector_message_size_total_bytes_sum{name="input-0",} 22000.0
...
Defining a Self-Managed Connector connection
Open the RTView Configuration Application and go to Solace>CONNECTORS tab.
Click to add connection to a Self-Managed Connector.
Connector Name | A unique identifier of your Solace Connector |
Broker Name | The name of the Solace Broker that is configured for integration with external technologies. The Broker Name dropdown list is populated from the brokers defined on the Connections tab. |
URL | The http(s) URL to your Solace Connector, including the port, which is usually 8090 for the Solace Connector for IBM MQ. Important! If the connector has been configured to use TLS, you will need to specify the appropriate truststore file under Security > SSL Credentialsin the Configuration Application. |
Username | Your username. Required if your connector has been secured. |
Password | Your password. Required if your connector has been secured. |