MESSAGING Configuration Syntax

All changes made to the MESSAGING Configuration must be made using the Web Application - Administration tool. Using this tool will correctly enable all required features and settings and also dispatch the Configuration to all RabbitMQ Prognosis Servers.

The MESSAGING Configuration is used in conjunction with Prognosis Alerts. For details see the RabbitMQ Messaging Service.

If RabbitMQ is being used and custom certificates need to be installed, or the Prognosis supplied certificates have expired, steps for creating and installing new certificates can be found in RabbitMQ Certificates.

In the MESSAGING Configuration, the terms Broker, Publisher and Subscriber are defined as:

Broker

Denotes the service to which messages are sent to be published. Currently, Prognosis supports AMQP version 0-9-1. By default, the Prognosis Management Server installation includes RabbitMQ which supports AMQP version 0-9-1.

Publisher

Denotes Prognosis applications that will transmit messages to a Broker.

Subscriber

Denotes Prognosis applications that will read messages from a Broker.

SUBSYS MESSAGING

ENABLE MESSAGING ({Y|N})

ADD BROKER (name=<broker-name>, url=<url-or-hostname>, type=<protocol-type>, version=<protocol-version>, vhost=<virtual-host>, port=<port-number>, prognosismq=true[, ssl_ca=<ca-certificate>, ssl_public=<client-certificate>, ssl_private=<client-key>, ssl_serv_public=<server_certificate>, ssl_serv_private=<server_key>, verifypeer=<y|n>])

ADD PUBLISHER (name=<publisher-name>, broker=<broker-name>, exchange=<amqp-exchange>, queue=<amqp-queue-name>, routingkey=<amqp-routing-key>, exchangetype={topic | fanout})
ADD OPTION_PUBLISHER (name=<publisher-name>, applyTo=message, key=<setting-name>, value=<setting-value>)

ADD SUBSCRIBER (name=<subscriber-name>, broker=<broker-name>, exchange=<amqp-exchange>, queue=<amqp-queue-name>, routingkey=<amqp-routing-key>, exchangetype={topic | fanout})

ADD KEY (name=<broker-name>, type={ssl_ca | ssl_public | ssl_serv_public | ssl_private | ssl-serv-private}, content=<full-certificate-key>)

ENABLE MESSAGING

Set this parameter to Y (Yes) in order to enable the RabbitMQ Messaging service that will enable all product features that use RabbitMQ. By default, this is disabled.

For multi-tier deployments, see Enable RabbitMQ on all Servers.

ADD BROKER

This statement will configure a Broker that Prognosis applications will communicate with.

name=<broker-name>

Unique identifier for this Broker. Default: prognosis.

url=<url-or-hostname>

URL/hostname where the Broker will be hosted. Default: localhost

type=<protocol-type>

Protocol type, currently Prognosis only supports AMQP. Default: AMQP.

version=<protocol-version>

Version of protocol, currently Prognosis only supports AMQP version 0-9-1. Default: 0.9.1

vhost=<virtual-host>

Virtual host to segregate messaging see https://www.rabbitmq.com/vhosts.html. Default: autoan (currently only alerting is sent through messaging).

port=<port-number>

Port number used to communicate with RabbitMQ. Either: encrypted (TLS*), port 5671 or unencrypted, port 5672. Default: 5671

prognosismq=true

Whether or not the RabbitMQ that was installed with Prognosis is being used (PrognosisRabbitMQ). Default: true.

ssl_ca=<ca-certificate>

Optional, path to TLS* CA certificate. Default: ssl_ca=messaging\rabbitmq\keys\ca_certificate.pem

ssl_public=<client-certificate>

Optional, path to TLS* client certificate. Default: ssl_public=messaging\rabbitmq\keys\client_certificate.pem

ssl_private=<client-key>

Optional, path to TLS* client key. Default: ssl_private=messaging\rabbitmq\keys\client_key.pem

ssl_serv_public=<server_certificate>

Optional, path to server TLS* client certificate. Default: ssl_serv_public=messaging\rabbitmq\keys\server_certificate.pem

ssl_serv_private=<server_key>

Optional path to server TLS* client key. Default: ssl_serv_private=messaging\rabbitmq\keys\server_key.pem

verifypeer=<y|n>

Optional peer verification to verify that the common name in the server certificate matches the server name being connected to.

Default: Peer verification is disabled by default (in version 11.5 and later) and enabled by default in earlier versions.

* Transport Layer Security (TLS) is an encryption protocol that provides communication security over a computer network.

ADD PUBLISHER

The ADD PUBLISHER statement will configure a Prognosis application to communicate with the Broker.

name=<publisher-name>

Unique identifier for the Publisher.

broker=<broker-name>

Name of the Broker to use, as set in the ADD BROKER statement.

exchange=<amqp-exchange>

AMQP exchange to deliver data to. Default: ir.exchange.

queue=<amqp-queue-name>

AMQP queue to deliver data to.

routingkey=<amqp-routing-key>

AMQP routing key.

exchangetype={topic|fanout}

This can be set to; 'topic' for a single message destination, or  'fanout' for multiple message destinations. The number of destinations (queues) is set within the actual AMQP Exchange, using rules called ‘bindings’.

ADD OPTION_PUBLISHER

The publisher may be further customized by using the optional ADD OPTION_PUBLISHER statement.

name=<publisher-name>

Name of the target Publisher, as set in the ADD PUBLISHER statement.

applyTo=message

Type of setting to configure, currently only 'message' is supported.

key=<setting-name>

Setting name.


Name

Data Type

Description

content_type

shortstr

MIME content type.

content_encoding

shortstr

MIME content encoding.

headers

table

message header field table.

deliverymode

octet

nonpersistent (1) or persistent (2)

priority

octet

message priority, 0 to 9.

correlationid

shortstr

application correlation identifier.

replyto

shortstr

address to reply to.

expiration

shortstr

message expiration specification.

messageid

shortstr

application message identifier.

timestamp

timestamp

message timestamp.

type

shortstr

message type name.

userid

shortstr

creating user id.

value=<setting-value>

Setting value.

ADD SUBSCRIBER

This statement will configure a Prognosis application to communicate with the Broker.

name=<subscriber-name>

Unique identifier for the Subscriber.

broker=<broker-name>

Name of the Broker to use, as set in the ADD BROKER statement.

exchange=<amqp-exchange>

AMQP exchange to read data from. Default: ir.exchange.

queue=<amqp-queue-name>

AMQP queue to read data from.

routingkey=<amqp-routing-key>

AMQP routing key.

exchangetype={topic|fanout}

This can be set to; 'topic' for a single message destination, or  'fanout' for multiple message destinations. The number of destinations (queues) is set within the actual AMQP Exchange, using rules called ‘bindings’.

ADD KEY

If TLS is configured, the ADD KEY settings may also be configured. Configuring the SSL certificates through ADD KEY will make Prognosis create the corresponding file set in the ADD BROKER setting. This will help to configure the certificate centrally and place certificate files in all the Prognosis servers. If no ADD KEY setting is configured, the certificates must be added to the file system manually.

name=<broker-name>

Name of the Broker, as set in the ADD BROKER statement.

type={ssl_ca | ssl_public | ssl_serv_public | ssl_private | ssl-serv-private}

Type of TLS certificate: ssl_ca, ssl_public,  ssl_private,.ssl_serv_public,  ssl_serv_private

content=<full-certificate-key>

Content of the certificate file in a single line with no white space. Must contain the certificate header and footer.

For ssl_ca, ssl_public and ssl_serv_public types, value must be:

-----BEGIN CERTIFICATE-----<key-text>-----END CERTIFICATE-----

For ssl_private and ssl-serv-private types, value must be:

-----BEGIN RSA PRIVATE KEY-----<key-text>-----END RSA PRIVATE KEY-----
Provide feedback on this article