ZMM Product Documentation

Installation Instructions

Receive the XMIT file as described in the installation instructions as received with your order (free or payed) of your ZMM license key.

Make sure the load-library is APF-authorized. We require this to make ourselves non-swappable. Also, we like to be able to open an Extended Master Console Session (EMCS). Should you have any worries regarding the code we run, being APF-authorized and all, you can apply for a code-review at support@zdevops.com. This, obviously, is an NDA-compliant review and thus cannot be discussed outside the scope of it.
 
For every Mattermost instsance you’re connection to make sure:
– It’s HTTPS enabled
– You have the CA that signed the HTTPS cert for it  inside your keyring (see <install_CA_into_keyring.doc>)
– Have a valid hook to your Mattermost instance
 
Submit the following JCL to test your setup:
 
//MTTRMST EXEC PGM=ZMMBATCH, 
//*            SEND SOME DATA TO MATTERMOST
//             REGION=64M,
//             PARM='POSIX(ON)/'
//*
//STEPLIB   DD DSN=ZMM.LOAD,
//             DISP=SHR
//SYSPRINT  DD SYSOUT=*
//ZMM#CNTL  DD *
lic = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
validto = yyyymmdd
icon = https://tinyurl.com/y95k9u7g
hook = xxxxxxxxxxxxxxxxxxxxxxxxxx
site = https://xxxxxxx.xxxxxxxxxxx.xx
channel = xxxx-xxxxxxxxxxxxxxx
username = xxxxx-xxxx-xxxx
//ZMM#MSG   DD *
# I AM BUT A MESSAGE
 

If this results in a message like below, you’ve just delivered a message to a Mattermost channel straight out of a JCL submitted job. Pretty awesome!

SYSLOG MESSAGES

You can forward specific SYSLOG messages to any Mattermost channel using ZMMMAIN. See the following example configuration:

msgid = IEF408I > security
msgid = $HASP > jes2-addicts
msgid = IE > all-the-iex-messages

It would send all messages from hard-copy that match the configured message to the specified channel.

 

Control Statements & DEFAULTS

Below is  an example set of control statements that cover the statements you can provide. Some of these are only valid in certain license models.

site = [https://mainframe.community]
hook = [*redacted*]
channel = otherchannel
username = mainframe-mattermost-bot
icon = https://tinyurl.com/y95k9u7g
keyring = [*AUTH*/*]
msgid = iea > test
msgid = ich408i > security-channel
msgid = $HASP 
lic = [required]
validto = [required]

The site statement specifies the URL of you mattermost instance, in this example the freely available Mainframe Community at  https://mainframe.community is used.
The hook statement specifies the hook-id as provided by your Mattermost administrators. If you want to be able to send to multiple channels, make sure this hook is not pinned to a specified channel. Also you need to have the FULL version of ZMM to be able to specify this.

The channel statement specifies the channel you want ZMM to send the message to that do not have a specific channel mentioned in the MSGID statement. (again, FULL VERSION only…)

The username (optional) statement specifies the username used for the messages in your Mattermost channel. The username is not used in the FREE version of ZMM.

The icon (optional) statement is used to specify your custom icon to be used for the messages to your Mattermost channel.

The keyring (optional) statement  should reference the KeyRing to be used that has the CA for the Mattermost instance.

The lic statement specifies your license key. The validto statement specifies the last date at which your license key is valid. If either of these do not match the license information the product will not run and you will need to get a new license key via https://shop.zdevops.com/zmm

The msgid statement can be repeated multiple times. You can specify one or more message filters per line and (depending on you license model) can direct these selection to specified channels via the > operator

Notes:

Usernames and channel names should follow the Mattermost requirements.

If you want to direct messages directly to a user in stead of a channel, make sure the channel name is @username. This obviously requires the hook is not pinned to a channel.

[

Messages and Codes

ZMME000I ERROR ACTIVATING CONSOLE

EMCS could not be activated. Check syslog for messages.

ZMME001I ERROR TRYING TO GET A MESSAGE

EMCS could not read the message from the SYSLOG, processing continutes

ZMME002I CONSOLE IS ALREADY ACTIVE

An EMCS with the specified name is already active. Either stop the console with the duplicate name or restart ZMMMAIN with a different EMCS name.

ZMME003I EMCS has been activated..

The EMCS is active and running in it’s separate thread.

ZMME005I EMCS has been deactivated..

EMCS is deactivated. This message is shown when stopping ZMM

ZMME006I ERROR DEACTIVATING CONSOLE

EMCS cannot be deactivated. If ZMM stops normally this is not an issue.

ZMME007I ALERT DETECTED - DEACTIVATING CONSOLE

Problems detected with the EMCS console. Deactivating. Probably you should restart ZMMAIN.

ZMME008I Modify Handler active...

ZMMMAIN is eligible entering modify commands. You can stop ZMMMAIN via “P <ZMMTASK>”

ZMME009I CONSOLE QUEUEING STOPPED DUE TO MEMORY LIMIT

The specified region is not large enough to queue all messages from the syslog. Either you’ve some severe message flooding, or the region is just too small.

ZMME010I CONSOLE QUEUEING STOPPED DUE TO DEPTH LIMIT

Too many messages in the queue to be processed.

ZMME011I INTERNAL SYSTEM ERROR ON CONSOLE

Major issues in your EMCS console.

ZMME012I RECEIVED QUEUE DEPTH ALERT

Message queue is increasing……

ZMME013I ZMMOUT Open Error..

Error opening ZMMOUT DD for debugging purposes.

ZMMC001E On Error Active

Severe error during ZMM#CNTL processing. Make sure all keywords are specified correctly. Otherwise contact support.

ZMMC001I Default values primed...

The default values have been loaded. If you don’t override these with your own control statements they will be used. The default values are:
site = http://mainframe.community
hook = gt9f83x3spgw8mta7k1wh5oaja
keyring = ibmuser/ADCDRng1
username = zmm-zephyrus

ZMMC002I NO ZMM#CNTL defined, defaulting...

You have not specified any control statements. ZMM will use the defaults.
This is probably not good!

ZMML021I License expires within <days> days

ZMM has detected your license keys will expire within 60 days or less. Get your new license key via support@zdevops.com

ZMML021E Grace Period exceeded, license downgraded

Your license has expired, including a seven day grace period. Get a new license key via support@zdevops.com

ZMML022W Grace Period started, for a maximum of 7 days

Your license has expired, in case you forgot to renew your license, a 7 day grace period is now in effect. Get a new license key via  support@zdevops.com

ZMML020E CSNBOWH RC:rc RSN:rsn

Severe error during CSNBOWH processing. Contact support@zdevops.com unless you also have a ZMML022E error message following this error.

ZMML022E ICSF may not be active.

ICSF may not be active. It’s required to perform essential crypto functions.
Make sure ICSF is active

ZMMM099I ZMM ended..

ZMM has ended.

ZMMB099I ZMM ended..

The batch custom message sender has ended

ZMMM098E On Error Active in mainline..

Severe error in ZMMMAIN. Contact support@zdevops.com

ZMMB098E On Error Active in mainline..

Severe error in ZMMBATCH. Contact support@zdevops.com

ZMMP099E On Error Active..

Severe error in ZMMPARM Contact support@zdevops.com

ZMMR098E On Error Active..

Severe error in ZMMROUT Contact support@zdevops.com

ZMMU098E On Error Active..

Severe error in ZMMSUB Contact support@zdevops.com

ZMMM097E Execution parameters fault

You have specified an incorrect PARM. Refer to the documentation or contact support.

ZMMM005I Execution Parameters Accepted..

All execution parameters accepted.

ZMMM096E Invalid Control Statement(s)

There’s not much more to say. Check your ZMM#CNTL

ZMMM096I Control Statements Accepted..

A job well done. All control statements in ZMM#CNTL are accepted.

ZMMM125E No valid license key

Your license key is invalid. Get a valid license key via support@zdevops.com

ZMMB080E No valid license key

Your license key is invalid. Get a valid license key via support@zdevops.com

ZMMM126E Specific channel not allowed with this license.

You are trying to direct certain messages to certain channels. This is only allowed with the FULL version of ZMM.

ZMMM001I Submission thread finished

Thread finished.

ZMMM002I Routing thread finished

Thread finished