![]() |
if-selection does not handle exit codes correctly in generic_proc module - Printable Version +- Pandora FMS community forums (http://pandorafms.org/forum) +-- Forum: Pandora FMS (http://pandorafms.org/forum/forum-3.html) +--- Forum: Advanced troubleshooting and problems (http://pandorafms.org/forum/forum-11.html) +--- Thread: if-selection does not handle exit codes correctly in generic_proc module (/thread-8567.html) |
if-selection does not handle exit codes correctly in generic_proc module - thomas - 11-10-2017 I'm trying to do something similar to the ICMP Checks in https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Operations section 1.7.1 but the outcome of module_exec does not show up as expected in the FMS Console. Running the command locally does indeed work. The manual gives this example: Code: module_begin My intallation is base on pandorafms.agent_unix_7.0NG.714.deb, pandorafms.console_7.0NG.714.deb and pandorafms.server_7.0NG.714.deb Excerpt from my /etc/pandora/pandora_agent.conf, where I've cleaned up the configuration to make the bug more obvious: Code: module_begin Running the commands manually in the shell works as expected: $ echo 0 0 $ echo 1 1 $ false; if [ $? == 0 ]; then echo 1; else echo 0; fi 0 $ true; if [ $? == 0 ]; then echo 1; else echo 0; fi 1 But, the FMS Console shows: Always 0 0 Always 1 1 Always 0 complicated 0 Always 1 complicated 0 Thus it seems like the if-selection does not work when running in the Pandora Agent, but it works when running from the command line. RE: if-selection does not handle exit codes correctly in generic_proc module - thomas - 11-10-2017 Code: module_begin Using the shell: $ true; echo $? 0 $ false; echo $? 1 And the FMS Console shows: Simple 0 0 Simple 1 1 This works as expected. (But it is of course not what I want to do.) RE: if-selection does not handle exit codes correctly in generic_proc module - vic - 11-13-2017 Hi thomas, Can you try to create a module with this configuration? Code: module_begin If the check is correct, it will show a "1". Best regards, vic. RE: if-selection does not handle exit codes correctly in generic_proc module - thomas - 11-13-2017 Let's try to find out if it is something special with the $? variable! Code: module_begin Using the shell: $ a=1; if [ $a == 0 ]; then echo 1; else echo 0; fi 0 $ a=0; if [ $a == 0 ]; then echo 1; else echo 0; fi 1 The Pandora FMS Console: Always 0 fool it again 0 Always 1 fool it again 0 It seems I can't even get an ordinary variable to work inside the if-clause. RE: if-selection does not handle exit codes correctly in generic_proc module - thomas - 11-13-2017 I believe that I have solved the problem. Using -eq instead of == makes the example given in the manual work. Code: module_begin RE: if-selection does not handle exit codes correctly in generic_proc module - vic - 11-14-2017 Hi thomas, It seems that you are correct, I have modified the wiki, so that it doesn't happen again. Thanks for reporting. Best regards, vic. |