Uploaded image for project: 'ZABBIX FEATURE REQUESTS'
  2. ZBXNEXT-6368

Move SSH/Telnet/IPMI/Script operations to Global Scripts


    • Sprint 70 (Nov 2020), Sprint 71 (Dec 2020), Sprint 72 (Jan 2021), Sprint 73 (Feb 2021), Sprint 74 (Mar 2021), Sprint 75 (Apr 2021), Sprint 76 (May 2021)
    • 10


      Currently configuration of action operations is very confusing especially for execution of global scripts or scripts using SSH/Telnet connections: too many clicks, confusing naming. 

      It can be made more secure and simplified very much by moving SSH/Telnet/IPMI/Script functionality entirely to global scripts.


      1. Global scripts must support execution of shell scripts using SSH/Telnet connectivity
        1. Two additional types will be supported: SSH and Telnet
      2. It must be possible to define where global script is available using new configuration options
        1. Scope: Action operation, Manual host action or Manual event action (one of must be selected)
          1. Action operations: script can be used for action operations
            1. Only scripts of this type are allowed to be used in action operations
            2. Examples of scripts using problem context: Clean /tmp filesystem
          2. Manual host action: menu entry will be visible in context host menu 
            1. Monitoring→Hosts: menu on host name
            2. Monitoring→Overview: menu on host name
            3. Monitoring→Latest data: menu on host name
            4. Monitoring→Maps: menu on host icon
            5. There could be other elements as well
            6. Examples of scripts using host context: Ping, Traceroute, Reboot
          3. Manual event action: menu entry will be visible in context event menu 
            1. Monitoring→Problems: menu on event name
            2. Problem widget in the Dashboard: menu on event name (same as in Monitoring->Problems)
              1. Existing mouse-over popup must be moved from event name to event duration
            3. There could be other elements as well
            4. Examples of scripts using problem context: Open new ticket
        2. Menu entry: menu entry (mandatory if Host menu or Event menu is selected), if specified then global script will be visible in context host or event menu
          1. Name of the global script will not be used for host menu anymore
      3. Script configuration form must be redesigned to make absolutely clear what fields are used for different selection of "Scope" field
        1. Fields used only for manual actions: Menu entry, User group, Required host permissions, Enable confirmation, Confirmation text
          1. Note that "Host group" is used for action operations as well
      4. The following macros must be supported for global scripts (including confirmation text)
        1. User macros
        2. {EVENT.ACK.STATUS}
        3. {EVENT.AGE}
        4. {EVENT.DATE}
        5. {EVENT.DURATION}
        6. {EVENT.ID}
        7. {EVENT.NAME}
        8. {EVENT.NSEVERITY}
        9. {EVENT.OBJECT}
        10. {EVENT.OPDATA}
        11. {EVENT.SEVERITY}
        12. {EVENT.SOURCE}
        13. {EVENT.STATUS}
        14. {EVENT.TAGS}
        15. {EVENT.TAGSJSON}
        16. {EVENT.TAGS.<tag name>}
        17. {EVENT.TIME}
        18. {EVENT.VALUE}
      5. Context menus
        1. Event context menu must contain section "SCRIPTS"
        2. No section must be displayed if it contains no entries
      6. Action operations must not support execution of IPMI, Custom scripts, SSH and Telnet commands anymore
        1. Configuration form of action operations will be simplified
          1. No Type, Commands, etc will be supported anymore
          2. Existing "Operation type" will be renamed to "Operation" and it will contain selection of "Send message" (first entry) and then sorted list of available global scripts
        2. Configuration of global scripts must be extended to contain SSH and Telnet related fields having same behaviour as currently supported for operations
      7. A database patch must be created
        1. Populate "Menu entry" by copying Name
        2. Move operations of type "Remote command" to global scripts
          1. New scripts with unique names will be created automatically

      Use cases

      1. I want more secure action operations
      2. I want more straightforward configuration of action operations

      Decisions made

      1. No support of test functionlity
        1. It will be implemented in the future as part of merging media types and scripts
      2. No ability to configure shell-scripts, IPMI commands, etc for action operations. Can be done for global script only.

        1. image-2021-02-25-18-46-29-419.png
          57 kB
          Mārtiņš Tālbergs
        2. image-2021-03-08-11-34-21-312.png
          17 kB
          Mārtiņš Tālbergs
        3. image-2021-03-08-11-36-37-044.png
          16 kB
          Mārtiņš Tālbergs
        4. screenshot-1.png
          85 kB
          Mārtiņš Tālbergs
        5. screenshot-2.png
          24 kB
          Mārtiņš Tālbergs
        6. screenshot-3.png
          21 kB
          Mārtiņš Tālbergs
        7. screenshot-4.png
          52 kB
          Mārtiņš Tālbergs
        8. script_long_name.gif
          335 kB
          Sergejs Maklakovs
        9. script_page_long_name.gif
          1.83 MB
          Sergejs Maklakovs
        10. script_sorting.gif
          310 kB
          Sergejs Maklakovs

            iivs Ivo Kurzemnieks
            palivoda Rostislav Palivoda
            Team B
            0 Vote for this issue
            15 Start watching this issue