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

low-overhead and persistent UserParameter using the dynamic linking loader dlopen

    XMLWordPrintable

    Details

    • Type: New Feature Request
    • Status: Closed
    • Priority: Minor
    • Resolution: Duplicate
    • Affects Version/s: 2.0.7
    • Fix Version/s: None
    • Component/s: Agent (G)
    • Labels:
    • Environment:
      linux

      Description

      In the UserParameter specify an apparent pathname which is in fact
      a dynamic link library and the name of a symbol contained in that library.

      UserParameter=mytestvar,/home/gjc/Documents/zbx-test.so,zbx_test_1

      The api/contract expected of zbx_test_1 is the same as for zbx_execute
      and can be implemented in less than 100 lines of code inside the file
      zabbix-2.0.7/src/libs/zbxexec/execute.c

      This avoids the overhead of fork (or clone) and execve()
      on /bin/sh, and whatever fork()execve() activity the sh command may need to do,
      including reading/writing a state file if the implemenation of the variable
      needs to preserve state across evaluations.

      A patch file will be attached. It contains a diff for
      zabbix-2.0.7/src/libs/zbxexec/execute.c
      and then some new files which are only needed to test and demonstrate
      how the dynamic api could be used.

      The big issue with this is that any serious bug in the user created
      library, or in libraries called by that library, can cause the
      zabbix_agentd to fail, possibly leading to false bug reports on the
      zabbix_agentd itself.

      A related feature ZBXNEXT-701 which asks for there to be a persistent sub-agent
      mechanism.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              gjcarrette George Carrette
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: