From a0df248a2be61557b8a67c3d6e4df24dc3e7843e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Tue, 10 Jul 2018 12:36:52 +0200 Subject: [PATCH] Add monitoring for etherpad --- .../base_installation/manifests/package_managers.pp | 11 +++++++++-- .../files/monitoring/check_postgres_replication | 10 +++++----- modules/profile/manifests/monitoring.pp | 7 +++++++ modules/profile/manifests/postgresql.pp | 2 +- modules/profile/manifests/postgresql/master.pp | 2 +- modules/role/manifests/etherpad.pp | 1 + 6 files changed, 24 insertions(+), 9 deletions(-) diff --git a/modules/base_installation/manifests/package_managers.pp b/modules/base_installation/manifests/package_managers.pp index a03085d..f4df186 100644 --- a/modules/base_installation/manifests/package_managers.pp +++ b/modules/base_installation/manifests/package_managers.pp @@ -15,15 +15,22 @@ class base_installation::package_managers inherits base_installation { pacman::repo { 'multilib': order => 15, - include => '/etc/pacman.d/mirrorlist' + include => '/etc/pacman.d/mirrorlist', } pacman::repo { 'immae': order => 0, server => 'https://git.immae.eu/releases/packages/', - siglevel => 'Optional' + siglevel => 'Optional', } + exec { "refresh pacman": + command => "/usr/bin/pacman -Sy", + refreshonly => true, + } + + Concat["/etc/pacman.conf"] ~> Exec["refresh pacman"] -> Package <| name != "pacman" |> + class { 'aur': } contain "pacman" diff --git a/modules/profile/files/monitoring/check_postgres_replication b/modules/profile/files/monitoring/check_postgres_replication index 163c68a..a550077 100644 --- a/modules/profile/files/monitoring/check_postgres_replication +++ b/modules/profile/files/monitoring/check_postgres_replication @@ -13,23 +13,23 @@ lag=$(psql -h $host -p $port -A -t -c "SELECT COALESCE(EXTRACT(EPOCH FROM replay exit_code=$? if [[ $exit_code -ne 0 ]]; then - echo "UNKNOWN:Impossible to run psql command" + echo "UNKNOWN - Impossible to run psql command" exit $STATE_UNKNOWN elif [[ -z "$lag" ]]; then - echo "UNKNOWN:No replication found for $user" + echo "UNKNOWN - No replication found for $user" exit $STATE_UNKNOWN else output="Replication lag for $user is ${lag}s" LC_ALL=C lag=$(printf "%.*f" 0 $lag) if [[ $lag -lt 5 ]]; then - echo "OK:$output" + echo "OK - $output" exit $STATE_OK elif [[ $lag -lt 10 ]]; then - echo "WARNING:$output" + echo "WARNING - $output" exit $STATE_WARNING else - echo "CRITICAL:$output" + echo "CRITICAL - $output" exit $STATE_CRITICAL fi fi diff --git a/modules/profile/manifests/monitoring.pp b/modules/profile/manifests/monitoring.pp index beabe70..7df4ce9 100644 --- a/modules/profile/manifests/monitoring.pp +++ b/modules/profile/manifests/monitoring.pp @@ -28,6 +28,13 @@ class profile::monitoring ( content => template("profile/monitoring/naemon.cfg.erb"), } -> + file { "/etc/naemon/objects.cfg": + ensure => "file", + owner => "naemon", + group => "naemon", + mode => "0600" + } + -> service { "naemon": ensure => "running", enable => true, diff --git a/modules/profile/manifests/postgresql.pp b/modules/profile/manifests/postgresql.pp index edd6ea6..fedbcb1 100644 --- a/modules/profile/manifests/postgresql.pp +++ b/modules/profile/manifests/postgresql.pp @@ -30,7 +30,7 @@ class profile::postgresql ( @profile::monitoring::local_service { "Databases are present in postgresql": sudos => { - "naemon-postgresql-database-public" => "naemon ALL=(postgres) NOPASSWD: /usr/bin/psql -c select\ nspname\ from\ pg_catalog.pg_namespace" + "naemon-postgresql-database-public" => "naemon ALL=(postgres) NOPASSWD: /usr/bin/psql -c select\\ nspname\\ from\\ pg_catalog.pg_namespace" }, local => { check_command => "check_command_output!psql -c 'select nspname from pg_catalog.pg_namespace'!public!-r postgres", diff --git a/modules/profile/manifests/postgresql/master.pp b/modules/profile/manifests/postgresql/master.pp index e775eb4..99ac4c4 100644 --- a/modules/profile/manifests/postgresql/master.pp +++ b/modules/profile/manifests/postgresql/master.pp @@ -66,7 +66,7 @@ define profile::postgresql::master ( }, local => { - check_command => "check_postgresql_replication!$backup_host!/run/postgresql/!5432", + check_command => "check_postgresql_replication!$backup_host!/run/postgresql!5432", } } } diff --git a/modules/role/manifests/etherpad.pp b/modules/role/manifests/etherpad.pp index 5ab5023..1a86389 100644 --- a/modules/role/manifests/etherpad.pp +++ b/modules/role/manifests/etherpad.pp @@ -22,6 +22,7 @@ class role::etherpad ( include "profile::tools" include "profile::postgresql" include "profile::apache" + include "profile::monitoring" ensure_packages(["npm"]) ensure_packages(["abiword"]) -- 2.41.0