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
+12-80Lines changed: 12 additions & 80 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,8 @@ packages including Prometheus, InfluxDB and OpenTSDB.
6
6
7
7
A minimum level of MQ V9 is required to build this package.
8
8
The monitoring data published by the queue manager is not available before
9
-
that version.
9
+
that version; the interface also assumes availability of
10
+
MQI structures from that level of MQ.
10
11
11
12
## MQI Description
12
13
@@ -30,14 +31,9 @@ have a copy of MQ installed to build against. It uses cgo to access the MQI C st
30
31
installed in the default location on a Linux platform (/opt/mqm) but you can easily change the
31
32
cgo directives in the source files if necessary.
32
33
33
-
A minimum level of MQ V9 is required. The monitoring data published
34
-
by the queue manager is not available before that version.
35
-
36
-
Some Windows capability is also included. One constraint in the cgo package is its support
37
-
for path names containing spaces and special characters, which makes it tricky to
38
-
compile against a copy of MQ installed in the regular location. To build these packages I copied
39
-
<mqinstall>/tools/c/include and <mqinstall>/bin64 to be under a temporary directory, shown
40
-
in the CFLAGS and LDFLAGS directives.
34
+
Some Windows capability is also included. This has been tested with Go 1.10
35
+
compiler, which now permits standard Windows paths (eg including spaces)
36
+
so the CGO directives can point at the normal MQ install path.
41
37
42
38
## Getting started
43
39
@@ -57,6 +53,10 @@ but a typical directory for the code is /usr/lib/golang.
57
53
58
54
export GOPATH=$HOME/gowork
59
55
56
+
* If using a version of Go from after 2017, you must set environment variables
57
+
to permit some compile/link flags. This is due to a security fix in the compiler.
58
+
export CGO_LDFLAGS_ALLOW="-Wl,-rpath.*"
59
+
60
60
* Install the git client
61
61
62
62
### Windows
@@ -75,6 +75,7 @@ be used on systems without Cygwin installed
75
75
76
76
set CC=x86_64-w64-mingw32-gcc.exe
77
77
78
+
* The CGO_LDFLAGS_ALLOW variable is not needed on Windows
78
79
* Install the git client
79
80
* Make sure the MQ include files and libraries are in a path that does
80
81
not include spaces or other special characters, as discussed above.
@@ -121,83 +122,14 @@ There are also no structure handlers for message headers such as MQRFH2 or MQDLH
121
122
122
123
## History
123
124
124
-
08 Jul 2016
125
-
* Initial release
126
-
127
-
18 Jul 2016
128
-
* Changed structures so that most applications will not need to use cgo to imbed the MQ C headers
129
-
* Go programs will now use int32 where C programs use MQLONG
130
-
* Use of message handles, distribution lists require cgo for now
131
-
* Package ibmmq now includes the numeric #defines as a Go file, cmqc.go, for easier use
132
-
* Removed "src/" prefix from tree in github repo
133
-
* Removed need for buffer length parm on Put/Put1
134
-
* Updated comments
135
-
* Added MQINQ
136
-
* Added MQItoString function for some maps of values to constant names
137
-
138
-
25 Jul 2016
139
-
* Added functions to handle basic PCF creation and parsing
140
-
* Added a monitor command for exporting MQ V9 queue manager data to Prometheus. See
141
-
the [README](cmd/mq_prometheus/README.md) for more details
142
-
143
-
04 Aug 2016
144
-
* Added a monitor command for exporting MQ data to InfluxDB. See the [README]
145
-
(cmd/mq_influx/README.md) for more details
146
-
* Restructured the monitoring code to put common material in the mqmetric
147
-
package, called from the Influx and Prometheus monitors.
148
-
149
-
12 Aug 2016
150
-
* Added a OpenTSDB monitor. See the [README](cmd/mq_opentsdb/README.md) for
151
-
more details.
152
-
* Added a Collectd monitor. See the [README](cmd/mq_coll/README.md) for
153
-
more details.
154
-
* Added MQI MQCNO/MQCSP structures to support client connections and password authentication
155
-
with MQCONNX.
156
-
* Allow client-mode connections from the monitor programs
157
-
* Added Grafana dashboards for the different monitors to show how to query them
158
-
* Changed database password mechanism so that "exec" maintains the PID for MQ services
159
-
160
-
23 Aug 2016
161
-
* Added a collector for Amazon AWS CloudWatch monitoring. See the [README](cmd/mq_aws/README.md)
162
-
for more details.
163
-
164
-
17 Oct 2016
165
-
* Added some Windows support. An example batch file is included in the mq_influx directory;
166
-
changes would be needed to the MQSC script to call it. The other monitor programs can be
167
-
supported with similar modifications.
168
-
* Added a "getting started" section to this README.
169
-
170
-
07 Nov 2016
171
-
* Added a collector that prints metrics in a simple JSON format.
172
-
See the [README](cmd/mq_json/README.md) for more details.
173
-
* Fixed bug where freespace metrics were showing as non-integer bytes, not percentages
174
-
175
-
14 Dec 2016
176
-
* Minor updates to this README for formatting
177
-
* Removed xxx_CURRENT_LENGTH definitions from cmqc
178
-
179
-
10 Jan 2017
180
-
* Added support for the MQCD and MQSCO structures to allow programmable client
181
-
connectivity, without requiring a CCDT. See the clientconn sample program
182
-
for an example of using the MQCD.
183
-
* Moved sample programs into subdirectory
184
-
185
-
15 Feb 2017
186
-
* API BREAKING CHANGE: The MQI verbs have been changed to return a single
187
-
error indicator instead of two separate values. See mqitest.go for
188
-
examples of how MQRC/MQCC codes can now be tested and extracted. This change
189
-
makes the MQI implementation a bit more natural for Go environments.
190
-
191
-
25 Mar 2017
192
-
* Added the metaPrefix option to the Prometheus monitor. This allows selection of non-default resources such as the MQ Bridge for Salesforce included in MQ 9.0.2.
193
-
125
+
See [CHANGES](https://github.com/ibm-messaging/mq-golang/CHANGES.md).
194
126
195
127
## Health Warning
196
128
197
129
This package is provided as-is with no guarantees of support or updates. There are also no guarantees of compatibility
198
130
with any future versions of the package; the API is subject to change based on any feedback.
199
131
200
-
##Issues and Contributions
132
+
##Issues and Contributions
201
133
202
134
For feedback and issues relating specifically to this package, please use the [GitHub issue tracker](https://github.com/ibm-messaging/mq-golang/issues).
0 commit comments