This is an umbrella task to track what was discussed in the design documents, with the subsequent implementation plan:
- pt-heartbeat + scaffolding
- Create the prometheus http exporter scaffolding
- Implement the custom pt-heartbeat monitoring
- Create the related alert rule(s)
- seconds_behind_master + threads (replication/io)
- Add the show slave status; parsing
- Create the related prometheus-node-exporter alert rule(s)
- memory pressure
- *Implement custom memory monitoring if needed*
- Create the related alert rule(s)
- disk pressure
- *Implement custom disk monitoring if needed*
- Create the related alert prometheus-node-exporter rule(s)
- read only status
- *Implement custom query if needed*
- Create the related mysqld-exporter alert rule(s)
- process monitoring
- *Implement custom system probe if needed*
- Create the related systemd unit alert rule(s)
- mariadb errors
- decide upon feature parity
- Implement a proof of concept of error message passing
- Productionize the POC
- Create the related alert rule(s)
- decide upon feature parity
The end goal of that migration is to reach full feature parity with our current icinga monitoring situation
! MIGRATION TABLE !
| Migrated? (Y/N) | Title | Resource Type | Command | File | Profiles |
|---|---|---|---|---|---|
| N | mariadb_read_only_X | Nrpe::Monitor_service | db-check-health | modules/mariadb/manifests/monitor_readonly.pp:13 | profile::mariadb::misc::multiinstance, profile::mariadb::dbstore_multiinstance, profile::mariadb::misc, profile::mariadb::misc::db_inventory, profile::mariadb::core_test, profile::mariadb::parsercache, Missing, profile::mariadb::sanitarium_multiinstance, profile::wmcs::db::wikireplicas::mariadb_multiinstance, profile::mariadb::misc::analytics::multiinstance, profile::mariadb::core |
| N | mariadb_replica_sql_state_X-replica | Nrpe::Monitor_service | /usr/local/lib/nagios/plugins/check_mariadb | modules/mariadb/manifests/monitor_replication.pp:41 | profile::mariadb::misc::multiinstance, profile::mariadb::dbstore_multiinstance, profile::analytics::database::meta, profile::mariadb::misc, profile::mariadb::misc::db_inventory, profile::mariadb::core_test, profile::mariadb::parsercache, Missing, profile::mariadb::sanitarium_multiinstance, profile::wmcs::db::wikireplicas::mariadb_multiinstance, profile::mariadb::misc::analytics::multiinstance, profile::mariadb::core |
| N | mariadb_replica_io_state_X-replica | Nrpe::Monitor_service | /usr/local/lib/nagios/plugins/check_mariadb | modules/mariadb/manifests/monitor_replication.pp:32 | profile::mariadb::misc::multiinstance, profile::mariadb::dbstore_multiinstance, profile::analytics::database::meta, profile::mariadb::misc::db_inventory, profile::mariadb::core_test, profile::mariadb::parsercache, Missing, profile::mariadb::misc, profile::wmcs::db::wikireplicas::mariadb_multiinstance, profile::mariadb::sanitarium_multiinstance, profile::mariadb::misc::analytics::multiinstance, profile::mariadb::core |
| N | mariadb_replica_sql_lag_X-replica | Nrpe::Monitor_service | /usr/local/lib/nagios/plugins/check_mariadb | modules/mariadb/manifests/monitor_replication.pp:51 | profile::mariadb::misc::multiinstance, profile::mariadb::dbstore_multiinstance, profile::analytics::database::meta, profile::mariadb::misc::db_inventory, profile::mariadb::core_test, profile::mariadb::parsercache, Missing, profile::mariadb::misc, profile::wmcs::db::wikireplicas::mariadb_multiinstance, profile::mariadb::sanitarium_multiinstance, profile::mariadb::misc::analytics::multiinstance, profile::mariadb::core |
| N | mariadb-prolonged-lag-X | Monitoring::Check_prometheus | promql | modules/profile/manifests/mariadb/replication_lag.pp:4 | profile::mariadb::sanitarium_multiinstance, profile::mariadb::replication_lag, profile::mariadb::core |
| N | mariadb_event_scheduler_X | Nrpe::Monitor_service | db-check-health | modules/mariadb/manifests/monitor_eventscheduler.pp:13 | profile::mariadb::core_test, profile::mariadb::parsercache |
| N | mysqld | Nrpe::Monitor_service | /usr/lib/nagios/plugins/check_procs | modules/mariadb/manifests/monitor_process.pp:9 | profile::openstack::codfw1dev::pdns::auth::db, profile::mariadb::monitor, profile::mariadb::misc::multiinstance, profile::openstack::base::pdns::auth::db, profile::mariadb::dbstore_multiinstance, profile::mariadb::misc::db_inventory, profile::mariadb::monitor::dba, profile::mariadb::parsercache, Missing, profile::openstack::eqiad1::pdns::auth::db, profile::mariadb::misc, profile::wmcs::db::wikireplicas::mariadb_multiinstance, profile::mariadb::sanitarium_multiinstance, profile::mariadb::misc::analytics::multiinstance, profile::mariadb::core |
| N | mariadb_X | Nrpe::Monitor_service | /usr/bin/check-mariadb-backups | modules/dbbackups/manifests/check.pp:22 | profile::dbbackups::check |
| N | mariadb_memory | Nrpe::Monitor_service | /usr/lib/nagios/plugins/pmp-check-unix-memory | modules/mariadb/manifests/monitor_memory.pp:18 | profile::mariadb::dbstore_multiinstance, profile::mariadb::misc, profile::mariadb::misc::db_inventory, profile::mariadb::core_test, profile::mariadb::parsercache, Missing, profile::mariadb::sanitarium_multiinstance, profile::wmcs::db::wikireplicas::mariadb_multiinstance, profile::mariadb::misc::analytics::multiinstance, profile::mariadb::core |
| N | mariadb_disk_space | Nrpe::Monitor_service | /usr/lib/nagios/plugins/check_disk | modules/mariadb/manifests/monitor_disk.pp:11 | profile::openstack::codfw1dev::pdns::auth::db, profile::mariadb::monitor, profile::mariadb::misc::multiinstance, profile::openstack::base::pdns::auth::db, profile::mariadb::dbstore_multiinstance, profile::mariadb::misc, profile::mariadb::misc::db_inventory, profile::mariadb::monitor::dba, profile::mariadb::parsercache, Missing, profile::openstack::eqiad1::pdns::auth::db, profile::mariadb::sanitarium_multiinstance, profile::wmcs::db::wikireplicas::mariadb_multiinstance, profile::mariadb::misc::analytics::multiinstance, profile::mariadb::core |
| N | mysql_analytics-meta | Nrpe::Monitor_service | /usr/lib/nagios/plugins/check_procs | modules/profile/manifests/analytics/database/meta.pp:79 | profile::analytics::database::meta |