diff --git a/config/install/monitoring.sensor_config.user_failed_logins.yml b/config/install/monitoring.sensor_config.user_failed_logins.yml index 51dc3d3..cd537af 100644 --- a/config/install/monitoring.sensor_config.user_failed_logins.yml +++ b/config/install/monitoring.sensor_config.user_failed_logins.yml @@ -2,7 +2,7 @@ id: user_failed_logins label: 'Failed user logins' description: 'Failed user logins by Watchdog' category: 'User activity' -plugin_id: user_failed_logins +plugin_id: watchdog_aggregator value_type: 'number' value_label: 'Login attempts' status: TRUE diff --git a/config/install/monitoring.sensor_config.user_sessions_logouts.yml b/config/install/monitoring.sensor_config.user_sessions_logouts.yml index 7141ca3..75d4a86 100644 --- a/config/install/monitoring.sensor_config.user_sessions_logouts.yml +++ b/config/install/monitoring.sensor_config.user_sessions_logouts.yml @@ -2,7 +2,7 @@ id: user_session_logouts label: 'User session logouts' description: 'User session logouts by Watchdog' category: 'User activity' -plugin_id: database_aggregator +plugin_id: watchdog_aggregator value_type: 'number' value_label: 'Logouts' status: TRUE diff --git a/config/install/monitoring.sensor_config.user_successful_logins.yml b/config/install/monitoring.sensor_config.user_successful_logins.yml index 7fa49b3..dccaaea 100644 --- a/config/install/monitoring.sensor_config.user_successful_logins.yml +++ b/config/install/monitoring.sensor_config.user_successful_logins.yml @@ -2,7 +2,7 @@ id: user_successful_logins label: 'Successful user logins' description: 'Successful user logins by Watchdog' category: 'User activity' -plugin_id: database_aggregator +plugin_id: watchdog_aggregator value_type : 'number' value_label: 'Login attempts' status: TRUE diff --git a/config/optional/monitoring.sensor_config.dblog_404.yml b/config/optional/monitoring.sensor_config.dblog_404.yml index ded9ebb..2ebc5d0 100644 --- a/config/optional/monitoring.sensor_config.dblog_404.yml +++ b/config/optional/monitoring.sensor_config.dblog_404.yml @@ -7,7 +7,7 @@ id: dblog_404 label: 'Page not found errors' description: 'Page not found errors logged by watchdog' category: Watchdog -plugin_id: dblog_404 +plugin_id: watchdog_aggregator result_class: null value_label: 'Watchdog events' value_type: number diff --git a/config/optional/monitoring.sensor_config.dblog_event_severity_alert.yml b/config/optional/monitoring.sensor_config.dblog_event_severity_alert.yml index b859479..08238e5 100644 --- a/config/optional/monitoring.sensor_config.dblog_event_severity_alert.yml +++ b/config/optional/monitoring.sensor_config.dblog_event_severity_alert.yml @@ -7,7 +7,7 @@ id: dblog_event_severity_alert label: 'Severity Alert' description: 'Watchdog entries of severity Alert' category: Watchdog -plugin_id: database_aggregator +plugin_id: watchdog_aggregator result_class: null value_label: Events value_type: number diff --git a/config/optional/monitoring.sensor_config.dblog_event_severity_critical.yml b/config/optional/monitoring.sensor_config.dblog_event_severity_critical.yml index e8e7c12..c094ce5 100644 --- a/config/optional/monitoring.sensor_config.dblog_event_severity_critical.yml +++ b/config/optional/monitoring.sensor_config.dblog_event_severity_critical.yml @@ -7,7 +7,7 @@ id: dblog_event_severity_critical label: 'Severity Critical' description: 'Watchdog entries of severity Critical' category: Watchdog -plugin_id: database_aggregator +plugin_id: watchdog_aggregator result_class: null value_label: Events value_type: number diff --git a/config/optional/monitoring.sensor_config.dblog_event_severity_debug.yml b/config/optional/monitoring.sensor_config.dblog_event_severity_debug.yml index ddd18a6..d567a5e 100644 --- a/config/optional/monitoring.sensor_config.dblog_event_severity_debug.yml +++ b/config/optional/monitoring.sensor_config.dblog_event_severity_debug.yml @@ -7,7 +7,7 @@ id: dblog_event_severity_debug label: 'Severity Debug' description: 'Watchdog entries of severity Debug' category: Watchdog -plugin_id: database_aggregator +plugin_id: watchdog_aggregator result_class: null value_label: Events value_type: number diff --git a/config/optional/monitoring.sensor_config.dblog_event_severity_emergency.yml b/config/optional/monitoring.sensor_config.dblog_event_severity_emergency.yml index 54e3229..bb1820b 100644 --- a/config/optional/monitoring.sensor_config.dblog_event_severity_emergency.yml +++ b/config/optional/monitoring.sensor_config.dblog_event_severity_emergency.yml @@ -7,7 +7,7 @@ id: dblog_event_severity_emergency label: 'Severity Emergency' description: 'Watchdog entries of severity Emergency' category: Watchdog -plugin_id: database_aggregator +plugin_id: watchdog_aggregator result_class: null value_label: Events value_type: number diff --git a/config/optional/monitoring.sensor_config.dblog_event_severity_error.yml b/config/optional/monitoring.sensor_config.dblog_event_severity_error.yml index 7a034b7..731e15d 100644 --- a/config/optional/monitoring.sensor_config.dblog_event_severity_error.yml +++ b/config/optional/monitoring.sensor_config.dblog_event_severity_error.yml @@ -7,7 +7,7 @@ id: dblog_event_severity_error label: 'Severity Error' description: 'Watchdog entries of severity Error' category: Watchdog -plugin_id: database_aggregator +plugin_id: watchdog_aggregator result_class: null value_label: Events value_type: number diff --git a/config/optional/monitoring.sensor_config.dblog_event_severity_info.yml b/config/optional/monitoring.sensor_config.dblog_event_severity_info.yml index eb134c3..5e50f45 100644 --- a/config/optional/monitoring.sensor_config.dblog_event_severity_info.yml +++ b/config/optional/monitoring.sensor_config.dblog_event_severity_info.yml @@ -7,7 +7,7 @@ id: dblog_event_severity_info label: 'Severity Info' description: 'Watchdog entries of severity Info' category: Watchdog -plugin_id: database_aggregator +plugin_id: watchdog_aggregator result_class: null value_label: Events value_type: number diff --git a/config/optional/monitoring.sensor_config.dblog_event_severity_notice.yml b/config/optional/monitoring.sensor_config.dblog_event_severity_notice.yml index c62e079..6d99f1e 100644 --- a/config/optional/monitoring.sensor_config.dblog_event_severity_notice.yml +++ b/config/optional/monitoring.sensor_config.dblog_event_severity_notice.yml @@ -7,7 +7,7 @@ id: dblog_event_severity_notice label: 'Severity Notice' description: 'Watchdog entries of severity Notice' category: Watchdog -plugin_id: database_aggregator +plugin_id: watchdog_aggregator result_class: null value_label: Events value_type: number diff --git a/config/optional/monitoring.sensor_config.dblog_event_severity_warning.yml b/config/optional/monitoring.sensor_config.dblog_event_severity_warning.yml index 21b35df..6f090c5 100644 --- a/config/optional/monitoring.sensor_config.dblog_event_severity_warning.yml +++ b/config/optional/monitoring.sensor_config.dblog_event_severity_warning.yml @@ -7,7 +7,7 @@ id: dblog_event_severity_warning label: 'Severity Warning' description: 'Watchdog entries of severity Warning' category: Watchdog -plugin_id: database_aggregator +plugin_id: watchdog_aggregator result_class: null value_label: Events value_type: number diff --git a/config/optional/monitoring.sensor_config.dblog_image_missing_style.yml b/config/optional/monitoring.sensor_config.dblog_image_missing_style.yml index 55a9eb3..a747a29 100644 --- a/config/optional/monitoring.sensor_config.dblog_image_missing_style.yml +++ b/config/optional/monitoring.sensor_config.dblog_image_missing_style.yml @@ -8,7 +8,7 @@ id: dblog_image_missing_style label: 'Image derivative creation fail' description: 'Image derivative creation fails' category: Watchdog -plugin_id: image_style_missing +plugin_id: watchdog_aggregator result_class: null value_label: 'Watchdog entries' value_type: number diff --git a/config/schema/monitoring.schema.yml b/config/schema/monitoring.schema.yml index 7398eef..c5e96af 100644 --- a/config/schema/monitoring.schema.yml +++ b/config/schema/monitoring.schema.yml @@ -187,22 +187,14 @@ monitoring.settings.search_api_unindexed: type: string label: 'Index ID' -monitoring.settings.dblog_404: +monitoring.settings.watchdog_aggregator: type: monitoring.settings.database_aggregator - label: '404 settings' - -monitoring.settings.image_style_missing: - type: monitoring.settings.database_aggregator - label: 'Missing images sensor settings' + label: 'Watchdog sensor settings' monitoring.settings.user_integrity: type: monitoring.settings_base label: 'Privileged user integrity' -monitoring.settings.user_failed_logins: - type: monitoring.settings.database_aggregator - label: 'Failed user sensor settings' - monitoring.settings.twig_debug_mode: type: monitoring.settings_base label: 'Monitor twig settings' diff --git a/src/Plugin/monitoring/SensorPlugin/Dblog404SensorPlugin.php b/src/Plugin/monitoring/SensorPlugin/Dblog404SensorPlugin.php deleted file mode 100644 index daed921..0000000 --- a/src/Plugin/monitoring/SensorPlugin/Dblog404SensorPlugin.php +++ /dev/null @@ -1,48 +0,0 @@ -addField('watchdog', 'message'); - // The message is the requested 404 URL. - $query->groupBy('message'); - $query->orderBy('records_count', 'DESC'); - $query->range(0, 1); - return $query; - } - - /** - * {@inheritdoc} - */ - public function runSensor(SensorResultInterface $result) { - parent::runSensor($result); - if (!empty($this->fetchedObject) && !empty($this->fetchedObject->message)) { - $result->addStatusMessage($this->fetchedObject->message); - } - } -} diff --git a/src/Plugin/monitoring/SensorPlugin/ImageMissingStyleSensorPlugin.php b/src/Plugin/monitoring/SensorPlugin/ImageMissingStyleSensorPlugin.php deleted file mode 100644 index f952053..0000000 --- a/src/Plugin/monitoring/SensorPlugin/ImageMissingStyleSensorPlugin.php +++ /dev/null @@ -1,101 +0,0 @@ -addField('watchdog', 'variables'); - $query->groupBy('variables'); - $query->orderBy('records_count', 'DESC'); - return $query; - } - - /** - * {@inheritdoc} - */ - public function runSensor(SensorResultInterface $result) { - parent::runSensor($result); - if (!empty($this->fetchedObject)) { - $variables = unserialize($this->fetchedObject->variables); - if (isset($variables['%source_image_path'])) { - $result->addStatusMessage($variables['%source_image_path']); - $this->sourceImagePath = $variables['%source_image_path']; - } - } - } - - /** - * {@inheritdoc} - */ - public function resultVerbose(SensorResultInterface $result) { - $output = parent::resultVerbose($result); - - // If non found, no reason to query file_managed table. - if ($result->getValue() == 0) { - return $output; - } - - // In case we were not able to retrieve this info from the watchdog - // variables. - if (empty($this->sourceImagePath)) { - $message = t('Source image path is empty, cannot query file_managed table'); - } - else { - $query_result = \Drupal::entityQuery('file') - ->condition('uri', $this->sourceImagePath) - ->execute(); - } - - if (!empty($query_result)) { - $file = file_load(array_shift($query_result)); - /** @var \Drupal\file\FileUsage\FileUsageInterface $usage */ - $usage = \Drupal::service('file.usage'); - $message = t('File managed records:
@file_managed
', array('@file_managed' => var_export($usage->listUsage($file), TRUE))); - } - - if (empty($message)) { - $message = t('File @file record not found in the file_managed table.', array('@file' => $result->getMessage())); - } - - $output['message'] = array( - '#type' => 'item', - '#title' => t('Message'), - '#markup' => $message, - ); - - return $output; - } -} diff --git a/src/Plugin/monitoring/SensorPlugin/UserFailedLoginsSensorPlugin.php b/src/Plugin/monitoring/SensorPlugin/UserFailedLoginsSensorPlugin.php deleted file mode 100644 index 3e550d5..0000000 --- a/src/Plugin/monitoring/SensorPlugin/UserFailedLoginsSensorPlugin.php +++ /dev/null @@ -1,49 +0,0 @@ -addField('watchdog', 'variables'); - $query->groupBy('watchdog.variables'); - return $query; - } - - /** - * {@inheritdoc} - */ - public function runSensor(SensorResultInterface $result) { - $records_count = 0; - foreach ($this->getAggregateQuery()->execute() as $row) { - $records_count += $row->records_count; - $variables = unserialize($row->variables); - $result->addStatusMessage('@user: @count', array('@user' => $variables['%user'], '@count' => $row->records_count)); - } - - $result->setValue($records_count); - } - -} diff --git a/src/Plugin/monitoring/SensorPlugin/WatchdogAggregatorSensorPlugin.php b/src/Plugin/monitoring/SensorPlugin/WatchdogAggregatorSensorPlugin.php index 2a995d1..99d9276 100644 --- a/src/Plugin/monitoring/SensorPlugin/WatchdogAggregatorSensorPlugin.php +++ b/src/Plugin/monitoring/SensorPlugin/WatchdogAggregatorSensorPlugin.php @@ -77,6 +77,7 @@ class WatchdogAggregatorSensorPlugin extends DatabaseAggregatorSensorPlugin impl public function buildConfigurationForm(array $form, FormStateInterface $form_state) { $form = parent::buildConfigurationForm($form, $form_state); $form['#title'] = t('Watchdog Sensor plugin settings'); + // The following fields should not be edited, so we disable them. $form['table']['#disabled'] = TRUE; $form['aggregation']['time_interval_field']['#disabled'] = TRUE; return $form; diff --git a/src/Tests/MonitoringCoreWebTest.php b/src/Tests/MonitoringCoreWebTest.php index 562db7f..328cf2d 100644 --- a/src/Tests/MonitoringCoreWebTest.php +++ b/src/Tests/MonitoringCoreWebTest.php @@ -63,7 +63,7 @@ class MonitoringCoreWebTest extends MonitoringTestBase { $this->assertTrue(count($results) == 3, '3 fields have been found in the verbose result.'); // The username should be replaced in the message. $this->drupalGet('/admin/reports/monitoring/sensors/dblog_event_severity_notice'); - $this->assertText('Session opened for %name'); + $this->assertText('Session opened for' . $test_user->label()); // 'No results' text is displayed when the query has 0 results. $this->drupalGet('/admin/reports/monitoring/sensors/dblog_event_severity_warning'); $this->assertText('No results were found in the table.');