=====Agent installation===== Download the zabbix agent zip file on the VMS box. Create a directory for Zabbbix agent, for example $ create/dir dsa0:[zabbbixagt] Extract the files from the downloaded .zip into the newly created directory $ set default dsa0:[zabbbixagt] $ unzip dev:[dir]vms_agent_zabbix.zip should give Archive: dev:[dir]vms_agent_zabbix.zip;1 inflating: zabbix_agent_IA64.EXE inflating: zabbix_sender_IA64.EXE inflating: zabbix_sender_shr32.exe inflating: README inflating: ZABBIX_AGENT_STARTUP.COM inflating: zabbix_discover.com inflating: ZABBIX_STARTUP.COM inflating: PAGEF.COM inflating: freeheaders.com inflating: indexfmap.com inflating: zabbix_logicals.template creating: [.log] creating: [.scripts] creating: [.local] $ Copy the zabbix_logicals.template as a.com file $ copy zabbix_logicals.template .com Edit it and update it if needed. At least update line $ define/system/nolog zabbix_server localhost !! "my.zabbix.server" !! or "123.123.123.123" Launch it, so that the logicals names for zabbix are defined $ @zabbix_logicals The logical name table ZABBIX_TABLE_MON is created, Then launch the zabbix_discover.com $ @zabbix_discover This will create JSON files in zabbix_def_dir: with definition for your specific environment (disks, network interfaces,batch and print queues...) Example $ @zabbix_discover ZABBIX_DEF_DIR:ZABBIX_SHAD_DISKS_DISCOVERY.JSON created with 2 devices ZABBIX_DEF_DIR:ZABBIX_NOSHAD_DISKS_DISCOVERY.JSON created with 2 devices ZABBIX_DEF_DIR:ZABBIX_IF_DISCOVERY.JSON created with 2 devices ZABBIX_DEF_DIR:ZABBIX_PQUEUES_DISCOVERY.JSON created with 3 Printer Queues ZABBIX_DEF_DIR:ZABBIX_BQUEUES_DISCOVERY.JSON created with 3 Batch Queues ZABBIX_DEF_DIR:ZABBIX_SQUEUES_DISCOVERY.JSON created with 3 Server Queues Review the .JSON files and update them if needed Example 1 The file ZABBIX_SHAD_DISKS_DISCOVERY.JSON may contain { "data":[ {"{#DSNAME}":"DSA0:", "{#MCOUNT}":"2", "{#DSPCFREE}":10}, {"{#DSNAME}":"DSA1:", "{#MCOUNT}":"1", "{#DSPCFREE}":10}] } This means that the device DSA0 has 2 members in its shadow, and an alarm is sent when * the shadow has less than 2 members * the free space is under 10%. Example 2 The file ZABBIX_BQUEUES_DISCOVERY.JSON may contain { "data":[ "{#QBNAME}":"SYS$BATCH_ITA123", "{#QBJOBPEND}":"2"}, "{#QBNAME}":"T4$BATCH_ITA123", "{#QBJOBPEND}":"2"}, "{#QBNAME}":"TEST", "{#QBJOBPEND}":"2"}] } this means that any batch queue will trigger an alarm if it has 2 jobs or more in pending state, you may want to modify this value. Then launch ZABBIX_STARTUP $ @ZABBIX_STARTUP This will create a process **ZABBIX_AGENT**, which can communicate with the zabbix server using the ports 10050 and 10051. Example > sh sys/proc=zabb* OpenVMS V8.3 on node ITA123 22-MAR-2018 11:19:48.18 Uptime 231 12:24:09 Pid Process Name State Pri I/O CPU Page flts Pages 0001FD59 ZABBIX_AGENT HIB 4 111 0 00:00:00.01 314 346 To stop Zabbix Agent, just $ stop ZABBIX_AGENT or $ stop/id=pid_of_zabbix_agent_process You should download the templates and load them on your Zabbix server, in order to save time to configure the various monitored items. See the link at Latest versions of OpenVMS templates on the start page https://zabbix.sysgroup.fr/doku.php?id=start ===== What is included in the kit ===== ==== freeheaders.com ==== needs the tool DFU that you can download at https://www.digiater.nl/dfu.html For each disk, it calculates the number of used headers and free headers, and sends it to the Zabbix server. The last lines $ ZABBIX_SENDER/key="trap[FREEHEADERS_''P1']"/host="''nodename'"/value='freeheaders' $ ZABBIX_SENDER/key="trap[COUNTHEADERS_''P1']"/host="''nodename'"/value='headercount' ==== indexfmap.com ==== does for each disk DUMP/HEADER/BLOCK=COUNT=0 'disk'[000000]INDEXF.SYS and checks the value for * Map area words in use * Maximum value is 155