Details

    • Vendor Bug
    • Resolution: Fixed
    • Major
    • None
    • Professional Edition
    • Unix Agent
    • None

    Description

       o Applications         exim +
          ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
      ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡶⠋⠁⠙⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
      ⠀⣠⡶⠛⠛⠲⣤⣀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⣠⠄⣠⣾⣡⠀⠀⠀⠀⠸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
      ⢰⡏⠀⠀⠀⠀⠈⣿⣷⣤⡐⣄⣽⡾⠧⠤⠤⣤⣤⣾⣿⣾⣿⣯⣀⡀⠀⠀⠀⢠⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
      ⠀⢷⡀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣯⣤⣤⡀⣠⣈⣹⣽⣿⣿⣿⣿⣷⣦⣄⠀⢀⡾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
      ⠀⠈⠻⣆⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⣠⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
      ⠀⠀⠀⠈⢳⣆⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣾⣷⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
      ⠀⠀⠀⠀⠀⣘⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⢡⡼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
      ⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⡏⣯⡇⣿⣿⣿⡏⣿⣿⣿⣜⣛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
      ⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣭⣾⣿⣿⣿⣇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀⠘⢷⣄⠀⠀⠀⠀⠀⠀⠀⠀
      ⠀⠀⠀⢠⣿⣿⡏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢿⣿⣿⡿⠁⠀⠀⠀⠸⣿⣷⡀⠀⠀⠀⠀⠀⠀
      ⠀⠀⠀⢸⣿⣿⡇⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⡟⢠⣿⣿⡟⠁⠀⠀⠀⠀⠙⣻⣿⣿⣆⠀⠀⠀⠀⠀
      ⠀⠀⠀⠈⣿⣿⣷⡈⠛⠿⣿⣿⡆⠻⢿⣿⣽⣿⣯⣿⠿⠃⠀⠻⠛⣰⣿⣿⠏⠀⠀⠀⠀⢀⣙⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀
      ⠀⠀⠀⠀⢿⠈⠙⠻⠷⠤⠄⢉⡁⠀⠀⠙⢉⣵⣌⠀⠀⠀⣀⠄⠘⠛⠋⠁⢀⣀⣤⣤⣭⣭⣽⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀
      ⠀⠀⠀⢀⣿⡄⠀⠀⠀⠀⠀⠀⠉⠓⢦⣄⡉⠉⢉⣩⠶⠋⠁⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀
      ⠀⠀⠀⣼⣿⣿⣷⣶⣶⣆⣀⡀⠀⠀⠀⠀⠉⠉⠉⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀
      ⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣥⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣦⣾⣿⣿⣿⣿⣿⣿⡿⠿⠿⡟⠿⣿⣟⡿⢿⡛⠀⣘⣿⣿⡆
      ⠀⠀⠀⢿⣿⣿⠿⠿⠿⠿⢿⣿⣿⣷⣿⡆⠀⠀⣶⣶⣾⡿⠛⠛⠛⠛⠻⣿⣿⣿⡟⠉⠀⠀⠀⠈⠁⠁⢀⢀⠲⣬⣿⣿⡇
      ⠀⠀⠀⠘⡏⠳⣤⡄⠀⡄⠀⠀⠈⠙⢿⣧⠀⢀⣿⣿⠏⠀⠀⠀⠀⢀⣠⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⣯⣷⣿⣿⣿⡇
      ⠀⠀⠀⠀⢿⠀⠀⠉⠳⣇⠀⠀⠀⠀⠀⢻⠀⢸⣿⣿⣆⢠⠀⡆⣰⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⣿⣿⣿⣿⣿⡇
      ⠀⠀⠀⠀⠘⣧⠀⠀⠀⠹⣷⣤⣄⠀⡈⣾⡆⢸⡿⠋⠿⠾⠴⠷⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠞⠉⣶⣾⣿⣿⣿⣿⠀
      ⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠉⠻⣿⣿⣿⣇⠸⡷⠀⠀⠀⢀⣠⢄⣠⣶⣤⣤⣤⡤⠤⠖⠛⠉⠀⠠⣤⣼⣿⣿⣿⣿⡏⠀
      ⠀⠀⠀⠀⠀⠀⠀⠉⢻⣷⠶⠒⠀⠀⠁⠈⢿⡄⣷⣆⣤⣶⡿⠛⠛⠛⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⠇⠀
      ⠀⠀⠀⠀⠀⠀⠀⠀⠘⣏⠀⠀⠀⠀⠀⠀⠘⣧⣿⣿⡿⢋⡤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣾⣿⣿⣿⣿⠀⠀
      ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡄⠀⠀⠀⠀⠀⠀⢸⣿⣿⣶⣫⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢦⣵⣿⣿⣿⣿⠇⠀⠀
      ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣆⠀⠀⠀⠀⠀⠀⣿⣿⣿⠇⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠳⠦⣴⣿⣶⣿⣿⣿⣿⡿⠀⠀⠀
      ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⢷⣄⠀⠀⠀⠀⢹⣿⣿⣾⣿⣋⣤⡄⠀⠀⠀⠀⠀⠀⠀⠠⣈⠻⣿⣿⣿⣿⣿⡇⠀⠀⠀
      ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⣦⣤⣤⣾⣿⣿⣿⣿⣿⣯⡴⠂⣀⡀⠀⡀⡀⡀⢠⣬⣻⣿⣿⣿⣿⡿⠀⠀⠀⠀
      ⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣠⡴⠊⠉⠀⠈⢹⠿⣿⣿⣿⣿⣿⣷⣾⣿⠾⡿⡿⠿⣷⣦⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀
      ⠀⠀⠀⠀⠀⠀⠀⠛⠷⠦⠤⠤⠴⠶⠶⠶⠶⠚⠉⠀⠀⠈⣉⣩⠽⠟⠋⠁⠀⠀⣁⣠⠿⠛⠋⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀
      ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
      Oops! Something went wrong! You may want to report this to the Observium developers.

      explode(): Argument #2 ($string) must be of type string, array given in /opt/observium/includes/polling/applications/exim.inc.php:17

      Stack trace:

      #0: (unknown function) called at [/opt/observium/includes/polling/applications/exim.inc.php:17]
      12: */
      13: 
      14: if (!empty($agent_data['app']['exim'])) {
      15: $app_id = discover_app($device, 'exim');
      16: 
      17: foreach (explode("\n", $agent_data['app']['exim']) as $line)

      { 18: [$item, $value] = explode(":", $line, 2); 19: $exim_data[trim($item)] = trim($value); 20: }

      21: 
      22: rrdtool_update_ng($device, 'exim', $exim_data, $app_id);

      #1: explode called at [/opt/observium/includes/polling/applications/exim.inc.php:17]
      12: */
      13: 
      14: if (!empty($agent_data['app']['exim'])) {
      15: $app_id = discover_app($device, 'exim');
      16: 
      17: foreach (explode("\n", $agent_data['app']['exim']) as $line)

      { 18: [$item, $value] = explode(":", $line, 2); 19: $exim_data[trim($item)] = trim($value); 20: }

      21: 
      22: rrdtool_update_ng($device, 'exim', $exim_data, $app_id);

      #2: include called at [/opt/observium/includes/polling/applications.inc.php:51]
      46: echo $app_type . ' ';
      47: 
      48: // One include per application type. Multiple instances currently handled within the application code
      49: $app_include = $config['install_dir'] . '/includes/polling/applications/' . $app_type . '.inc.php';
      50: if (is_file($app_include))

      { 51: include($app_include); 52: }

      else

      { 53: echo($app_type . ' include missing! '); 54: }

      55: 
      56: }

      #3: include called at [/opt/observium/includes/polling/functions.inc.php:314]
      309: 
      310: print_cli_heading("Module Start: %R" . $module);
      311: 
      312: $m_start = utime();
      313: 
      314: include($config['install_dir'] . "/includes/polling/$module.inc.php");
      315: 
      316: $m_run                                    = elapsed_time($m_start, 4);
      317: $device_state['poller_mod_perf'][$module] = $m_run;
      318: print_cli_data("Module time", format_number_short($m_run, 4) . "s");
      319: 

      #4: poll_device called at [/opt/observium/poller.php:189]
      184: $params[] = $config['poller_id'];
      185: }
      186: 
      187: foreach (dbFetchColumn($query, $params) as $device_id)

      { 188: $device = dbFetchRow("SELECT * FROM `devices` WHERE `device_id` = ?", [ $device_id ]); 189: poll_device($device, $options); 190: $polled_devices++; 191: }

      192: 
      193: $poller_time = elapsed_time($poller_start, 4);
      194:

      Attachments

        Activity

          [OBS-4877] Exim Mail queue script not working

          Hi,

          It is a server error, there is no need to edit the clients:

          Edit file /opt/observium/includes/polling/applications/exim.inc.php, the result has to look like this:

          <?php
          /**
           * Observium
           *
           *   This file is part of Observium.
           *
           * @package        observium
           * @subpackage     poller
           * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2023 Observium Limited
           *
           */
          if (!empty($agent_data['app']['exim'])) {
              $app_id = discover_app($device, 'exim');
              if (! is_array($agent_data['app']['exim'])) {
                  $agent_data['app']['exim'] = explode("\n", $agent_data['app']['exim']);
              }
              foreach ($agent_data['app']['exim'] as $line) {
                  [$item, $value] = explode(":", $line, 2);
                  $exim_data[trim($item)] = trim($value);
              }
              rrdtool_update_ng($device, 'exim', $exim_data, $app_id);
              update_application($app_id, $exim_data);
              unset($exim_data, $item, $value, $app_id);
          }
          // EOF

          vsc55 Javier Pastor added a comment - Hi, It is a server error, there is no need to edit the clients: Edit file /opt/observium/includes/polling/applications/exim.inc.php , the result has to look like this: <?php /**  * Observium  *  *   This file is part of Observium.  *  * @package        observium  * @subpackage     poller  * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2023 Observium Limited  *  */ if (!empty($agent_data[ 'app' ][ 'exim' ])) {     $app_id = discover_app($device, 'exim' );     if (! is_array($agent_data[ 'app' ][ 'exim' ])) {         $agent_data[ 'app' ][ 'exim' ] = explode( "\n" , $agent_data[ 'app' ][ 'exim' ]);     }     foreach ($agent_data[ 'app' ][ 'exim' ] as $line) {         [$item, $value] = explode( ":" , $line, 2 );         $exim_data[trim($item)] = trim($value);     }     rrdtool_update_ng($device, 'exim' , $exim_data, $app_id);     update_application($app_id, $exim_data);     unset($exim_data, $item, $value, $app_id); } // EOF

          You need to be on the rolling release, the changes will only be in stable after the next merge, and we never know when that'll be.

          adama Adam Armstrong added a comment - You need to be on the rolling release, the changes will only be in stable after the next merge, and we never know when that'll be.

          r13618 is already available?

           

          # svn update -r 13618
          Updating '.':
          En la revisión 13618.
           

          We will need to upload the scripts again to the monitored host?

           

          mbrante Miguel Brante added a comment - r13618 is already available?   # svn update -r 13618 Updating '.' : En la revisión 13618 . We will need to upload the scripts again to the monitored host?  

          Instance #123891397173 of PHP8 breaking existing code.

          Fixed in r13618

          adama Adam Armstrong added a comment - Instance #123891397173 of PHP8 breaking existing code. Fixed in r13618

          People

            adama Adam Armstrong
            Srossi Sandro
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: