Solace Metrics Documentation

Options
Robert
Robert Member Posts: 58 ✭✭

I look for following information related to monitoring of solace.

Following Levels i would expect metrics for:

  • Broker Level
  • Queue Level
  • Client Level
  • RDP

1.) Where can i find documentation of all metrics and a description for the metric ?

Something like that:

solace-monitoring-extension/metrics.md at master · koverton/solace-monitoring-extension (github.com) but offered by solace.

2.) What api i have to call to get the above metrics ? (i know SEMP but what path)

3.) What does the metric exactly mean e.g. "httpResponseErrorRxMsgCount" ?

If we consider RDP then there could be 2 kind of problems which i personally think must be devided in separate metrics.

a.) RDP can not connect to endpoint (auth problem, network issue, endpoint down)

b.) The endpoint had an error and returns non 2xx http

Why to differ ? a.) is never reaching the endpoint and so we need detail info in Solace if that problem occured. b.) reached endpoint and problem was inside endpoint. that is covered in metric on endpoint and does not to be reported twice.

Many thanks for bring light in that.

Answers

  • giri
    giri Member, Administrator, Employee Posts: 108 admin
    Options

    Hi @Robert, Please check out this link in the docs - https://docs.solace.com/Monitoring/Monitor-Index.htm for feature-specific monitoring information.

    Please check. the semp-v2-swagger-json/yaml files (monitor, config, action). You can find paths and error codes and their description.

            "httpResponseErrorRxMsgCount": {
              "description": "The number of HTTP client/server error response messages received from the REST Consumer. Available since 2.13.",
              "format": "int64",
              "type": "integer"
            },
    

    Sorry, that's all I can share at this time.

  • Aaron
    Aaron Member, Administrator, Moderator, Employee Posts: 541 admin
    Options

    Hi Robert. I'll add a couple more things that I know to Giri's answer. If using SEMPv2, which can monitor any VPN-level object, you can find all the documentation, paths, and descriptions here: https://docs.solace.com/API-Developer-Online-Ref-Documentation/swagger-ui/software-broker/monitor/index.html (followed from the "Monitor" link on this page: https://docs.solace.com/Admin/SEMP/SEMP-API-Ref.htm).

    SEMPv2 still doesn't cover that many broker/system level commands. For that you'll have to use SEMPv1, and older XML-formatted API. Unfortunately there isn't really any documentation for the schema, you have to kind of "know what you're looking for". There's a page here about SEMPv1: https://docs.solace.com/Admin/SEMP/Using-Legacy-SEMP.htm

    Luckily if you know the CLI command you're trying to do (e.g. show stats client for broker-level message rate stats), there is a useful command-line utility built into the broker which can convert from CLI to SEMPv1. If you login to the support shell (on Docker: docker exec -it containerName bash, or enable -> shell support on appliances), then you can run cli-to-semp and then type in the CLI command.

    Also, I made this big list of things you can poll with SEMPv1 a long time ago as part of a utility that I wrote, and the XML request payload you need to pass as part of the POST command, maybe it will help: https://sg.solace.com/aaron/statsdocs/ Ignore the "poller" stuff, just notice the SEMP commands, and look at the "SempXmlFactory Message" payload response to see what the response can look like. Also, in the POST request body, you don't need to specify the semp-version in the <rpc> header anymore.

    In terms of getting the details of RDP response errors (4xx and 5xx), there is a broker-level in-memory log you can query with CLI: show log rest rest-delivery-point errors wide and an equivalent SEMPv1 command. Unfortunately, this isn't available yet in SEMPv2, and also not exposed in the PubSub+ Manager or Solace Cloud Console, so I made a little utility to help pull these logs out: https://sg.solace.com/aaron/rdp/

    Hope that helps!