You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-5Lines changed: 26 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ dashboard and historic reporting.
10
10
## The dspmqrtj program
11
11
The repository also includes a program which traces the route a message can
12
12
take through the MQ network. It is similar to the `dspmqrte` program that is
13
-
part of the MQ product, but writes the output in JSON format. See
13
+
part of the MQ product, but writes the output in JSON format. See
14
14
the `dspmqrtj` subdirectory for more information.
15
15
16
16
## Health Warning
@@ -30,7 +30,8 @@ file if you wish to reload all of the dependencies by running `go mod vendor`.
30
30
31
31
You will require the following programs:
32
32
33
-
* Go compiler. This should be at least version 17.
33
+
* Go compiler. Building the InfluxDB collector requires Go 17 as the minimum compiler level. If you don't want
34
+
to build that particular collector then older levels can be used.
34
35
35
36
To build the programs on Linux and MacOS, you may set an environment variable to permit some compile/link flags.
36
37
This is due to security controls in the compiler.
@@ -87,9 +88,10 @@ builds all the collectors and corresponding YAML configuration files into %GOPAT
87
88
## Queue manager configuration
88
89
When metrics are being collected from the publish/subscribe interface (all platforms except z/OS),
89
90
there are some considerations:
90
-
* MAXHANDS on queue manager: Each subscription uses an object handle. If many queues are being monitored
91
+
* MAXHANDS on queue manager: The default configuration of these collectors uses non-durable subscriptions to get
92
+
information about queue metrics. Each subscription uses an object handle. If many queues are being monitored
91
93
the default MAXHANDS may need to be increased. A warning is printed if the monitor thinks this attribute
92
-
appears too low.
94
+
appears too low. See below for an alternative option.
93
95
* MAXDEPTH on model queues: The model queue used as the basis for publication and reply queues in the
94
96
monitor must have a MAXDEPTH suitable for the expected amount of data. For published metrics, this is
95
97
estimated based on holding one minute's amount of publications; the number of monitored channels is also
@@ -99,6 +101,24 @@ monitor.
99
101
SYSTEM.ADMIN.TOPIC) determines what happens if the subscriber's queue is full. You might prefer to set this to
100
102
NO to avoid filling the system DLQ if the collection program does not read the publications frequently enough.
101
103
104
+
105
+
### Using durable subscriptions
106
+
An alternative collection mechanism uses durable subscriptions for the queue metric data. This may avoid needing to increase
107
+
the MAXHANDS attribute on a queue manager. (Queue manager-level metrics are still collected using non-durable subscriptions.)
108
+
109
+
To set it up, you must provide suitable configuration options. In the
110
+
YAML configuration, these are the attributes (command line or environment variable equivalents exist):
111
+
-`replyQueue` must refer to a local queue (not a model queue)
112
+
-`replyQueue2` must also be set, referring to a different local queue
113
+
-`durableSubPrefix` is a string that is unique across any collectors that might be connected to this queue manager
114
+
115
+
If you use durable subscriptions, then the named reply queues may continue to receive publications even when the
116
+
collector is not running, so that may induce queue-full reports in the error log or events. The subscriptions can
117
+
be manually removed using the "DELETE SUB()" MQSC command for all subscriptions where the subscription ids begin with the
118
+
`durableSubPrefix` value. The `scripts/cleanDur.sh` program can be used for this deletion. You should also clean
119
+
the subscriptions when the configuration of which data to collect has changed, particularly the `queueSubscriptionSelector`
120
+
option.
121
+
102
122
## Monitor configuration
103
123
The monitors always collect all of the available queue manager-wide metrics.
104
124
They can also be configured to collect statistics for specific sets of queues where
@@ -229,7 +249,8 @@ All of the exporters support
229
249
the same configuration options for how to connect to MQ and which objects are monitored. There is
230
250
then an exporter-specific section for additional configuration such as how to contact the back-end
231
251
database.
232
-
The common options are shown in a template in this directory; the exporter-specific options are in individual files in each directory. Combine the two pieces into a single file to get a complete deployable configuration.
252
+
The common options are shown in a template in this directory; the exporter-specific options are in individual
253
+
files in each directory. Combine the two pieces into a single file to get a complete deployable configuration.
233
254
234
255
Unlike the command line flags, lists are provided in a more natural format instead of comma-separated
235
256
values in a single string. If an option is provided on both the command line and in the file, it is the file
0 commit comments