From 370e4ce9be8c9886b0840aa42da7891ca5b5462e Mon Sep 17 00:00:00 2001 From: Kameron Kenny Date: Mon, 30 Dec 2024 10:43:14 -0500 Subject: [PATCH] organize --- docker-compose.yml | 2 +- .../{commands.cfg => 000-commands.cfg} | 0 .../{templates.cfg => 001-templates.cfg} | 59 +++------- .../nagios/etc/objects/101-docker-hosts.cfg | 28 +++++ .../{hostgroups.cfg => 200-hostgroups.cfg} | 0 .../objects/301-docker-services-hostgroup.cfg | 43 +++++++ ...cker-hosts.cfg => 401-docker-services.cfg} | 111 ------------------ 7 files changed, 91 insertions(+), 152 deletions(-) rename overlay/opt/nagios/etc/objects/{commands.cfg => 000-commands.cfg} (100%) rename overlay/opt/nagios/etc/objects/{templates.cfg => 001-templates.cfg} (79%) create mode 100644 overlay/opt/nagios/etc/objects/101-docker-hosts.cfg rename overlay/opt/nagios/etc/objects/{hostgroups.cfg => 200-hostgroups.cfg} (100%) create mode 100644 overlay/opt/nagios/etc/objects/301-docker-services-hostgroup.cfg rename overlay/opt/nagios/etc/objects/{docker-hosts.cfg => 401-docker-services.cfg} (84%) diff --git a/docker-compose.yml b/docker-compose.yml index 1c1e817..e9160be 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,7 @@ services: build: dockerfile: Dockerfile container_name: nagios - image: docker-registry1.in.thelinuxpro.net:5000/tlp/nagios:241228.0.3 + image: docker-registry1.in.thelinuxpro.net:5000/tlp/nagios:241230.0.1 networks: infra_dev_net: ipv4_address: 10.99.23.36 diff --git a/overlay/opt/nagios/etc/objects/commands.cfg b/overlay/opt/nagios/etc/objects/000-commands.cfg similarity index 100% rename from overlay/opt/nagios/etc/objects/commands.cfg rename to overlay/opt/nagios/etc/objects/000-commands.cfg diff --git a/overlay/opt/nagios/etc/objects/templates.cfg b/overlay/opt/nagios/etc/objects/001-templates.cfg similarity index 79% rename from overlay/opt/nagios/etc/objects/templates.cfg rename to overlay/opt/nagios/etc/objects/001-templates.cfg index c18b7be..535f5b0 100644 --- a/overlay/opt/nagios/etc/objects/templates.cfg +++ b/overlay/opt/nagios/etc/objects/001-templates.cfg @@ -5,7 +5,7 @@ # NOTES: This config file provides you with some example object definition # templates that are refered by other host, service, contact, etc. # definitions in other config files. -# +# # You don't need to keep these definitions in a separate file from your # other object definitions. This has been done just to make things # easier to understand. @@ -67,7 +67,7 @@ define host{ name linux-server ; The name of this host template use generic-host ; This template inherits other values from the generic-host template check_period 24x7 ; By default, Linux hosts are checked round the clock - check_interval 5 ; Actively check the host every 5 minutes + check_interval 2 ; Actively check the host every 5 minutes retry_interval 1 ; Schedule host check retries at 1 minute intervals max_check_attempts 10 ; Check each Linux host 10 times (max) check_command check-host-alive ; Default command to check Linux hosts @@ -80,43 +80,22 @@ define host{ register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! } - - -# Windows host definition template - This is NOT a real host, just a template! - +### Host Template define host{ - name windows-server ; The name of this host template - use generic-host ; Inherit default values from the generic-host template - check_period 24x7 ; By default, Windows servers are monitored round the clock - check_interval 5 ; Actively check the server every 5 minutes - retry_interval 1 ; Schedule host check retries at 1 minute intervals - max_check_attempts 10 ; Check each server 10 times (max) - check_command check-host-alive ; Default command to check if servers are "alive" - notification_period 24x7 ; Send notification out at any time - day or night - notification_interval 30 ; Resend notifications every 30 minutes - notification_options d,r ; Only send notifications for specific host states - contact_groups admins ; Notifications get sent to the admins by default - hostgroups windows-servers ; Host groups that Windows servers should be a member of - register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE - } - - -# We define a generic printer template that can be used for most printers we monitor - -define host{ - name generic-printer ; The name of this host template - use generic-host ; Inherit default values from the generic-host template - check_period 24x7 ; By default, printers are monitored round the clock - check_interval 5 ; Actively check the printer every 5 minutes - retry_interval 1 ; Schedule host check retries at 1 minute intervals - max_check_attempts 10 ; Check each printer 10 times (max) - check_command check-host-alive ; Default command to check if printers are "alive" - notification_period workhours ; Printers are only used during the workday - notification_interval 30 ; Resend notifications every 30 minutes - notification_options d,r ; Only send notifications for specific host states - contact_groups admins ; Notifications get sent to the admins by default - register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE - } + name docker-host + use generic-host + hostgroups docker-hosts + check_period 24x7 + check_interval 3 + retry_interval 1 + max_check_attempts 3 + check_command check-host-alive + notification_period 24x7 + notification_interval 120 + notification_options d,u,r + contact_groups admins + register 0 +} # Define a template for switches that we can reuse @@ -164,8 +143,8 @@ define service{ is_volatile 0 ; The service is not volatile check_period 24x7 ; The service can be checked at any time of the day max_check_attempts 3 ; Re-check the service up to 3 times in order to determine its final (hard) state - check_interval 10 ; Check the service every 10 minutes under normal conditions - retry_interval 2 ; Re-check the service every two minutes until a hard state can be determined + check_interval 2 ; Check the service every 10 minutes under normal conditions + retry_interval 1 ; Re-check the service every two minutes until a hard state can be determined contact_groups admins ; Notifications get sent out to everyone in the 'admins' group notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery events notification_interval 60 ; Re-notify about service problems every hour diff --git a/overlay/opt/nagios/etc/objects/101-docker-hosts.cfg b/overlay/opt/nagios/etc/objects/101-docker-hosts.cfg new file mode 100644 index 0000000..f976877 --- /dev/null +++ b/overlay/opt/nagios/etc/objects/101-docker-hosts.cfg @@ -0,0 +1,28 @@ +### Hosts +define host{ + use docker-host + host_name pi501.in.thelinuxpro.net + alias pi501 + address 10.99.22.51 +} + +define host{ + use docker-host + host_name pi502.in.thelinuxpro.net + alias pi502 + address 10.99.22.52 +} + +define host{ + use docker-host + host_name pi503.in.thelinuxpro.net + alias pi503 + address 10.99.22.53 +} + +define host{ + use docker-host + host_name pi504.in.thelinuxpro.net + alias pi504 + address 10.99.22.54 +} diff --git a/overlay/opt/nagios/etc/objects/hostgroups.cfg b/overlay/opt/nagios/etc/objects/200-hostgroups.cfg similarity index 100% rename from overlay/opt/nagios/etc/objects/hostgroups.cfg rename to overlay/opt/nagios/etc/objects/200-hostgroups.cfg diff --git a/overlay/opt/nagios/etc/objects/301-docker-services-hostgroup.cfg b/overlay/opt/nagios/etc/objects/301-docker-services-hostgroup.cfg new file mode 100644 index 0000000..8ff275c --- /dev/null +++ b/overlay/opt/nagios/etc/objects/301-docker-services-hostgroup.cfg @@ -0,0 +1,43 @@ + +### Service definitions for all docker hosts +define service{ + use generic-service,graphed-service + hostgroup_name docker-hosts + service_description PING + check_command check_ping!100.0,20%!500.0,60% +} + +define service{ + use generic-service,graphed-service + hostgroup_name docker-hosts + service_description Docker Daemon + check_command check_nrpe!check_proc_docker +} + +define service{ + use generic-service,graphed-service + hostgroup_name docker-hosts + service_description Disk: / + check_command check_nrpe!check_disk +} + +define service{ + use generic-service,graphed-service + hostgroup_name docker-hosts + service_description Disk: /var/lib/docker/volumes + check_command check_nrpe!check_disk_docker +} + +define service{ + use generic-service,graphed-service + hostgroup_name docker-hosts + service_description System: Load + check_command check_nrpe!check_load +} + +define service{ + use generic-service,graphed-service + hostgroup_name docker-hosts + service_description System: Total Processes + check_command check_nrpe!check_procs +} diff --git a/overlay/opt/nagios/etc/objects/docker-hosts.cfg b/overlay/opt/nagios/etc/objects/401-docker-services.cfg similarity index 84% rename from overlay/opt/nagios/etc/objects/docker-hosts.cfg rename to overlay/opt/nagios/etc/objects/401-docker-services.cfg index fc7bb7a..f3ebce0 100644 --- a/overlay/opt/nagios/etc/objects/docker-hosts.cfg +++ b/overlay/opt/nagios/etc/objects/401-docker-services.cfg @@ -1,114 +1,3 @@ - -### Host Template -define host{ - name docker-host - use generic-host - hostgroups docker-hosts - check_period 24x7 - check_interval 5 - retry_interval 1 - max_check_attempts 3 - check_command check-host-alive - notification_period 24x7 - notification_interval 120 - notification_options d,u,r - contact_groups admins - register 0 -} - -### Hosts -define host{ - use docker-host - host_name pi501.in.thelinuxpro.net - alias pi501 - address 10.99.22.51 -} - -define host{ - use docker-host - host_name pi502.in.thelinuxpro.net - alias pi502 - address 10.99.22.52 -} - -define host{ - use docker-host - host_name pi503.in.thelinuxpro.net - alias pi503 - address 10.99.22.53 -} - -define host{ - use docker-host - host_name pi504.in.thelinuxpro.net - alias pi504 - address 10.99.22.54 -} - -### Service definitions for all docker hosts -define service{ - use local-service,graphed-service - hostgroup_name docker-hosts - service_description PING - check_command check_ping!100.0,20%!500.0,60% -} - -define service{ - use local-service,graphed-service - hostgroup_name docker-hosts - service_description Docker Daemon - check_command check_nrpe!check_proc_docker -} - -define service{ - use local-service,graphed-service - hostgroup_name docker-hosts - service_description Disk: / - check_command check_nrpe!check_disk -} - -define service{ - use local-service,graphed-service - hostgroup_name docker-hosts - service_description Disk: /var/lib/docker/volumes - check_command check_nrpe!check_disk_docker -} - -define service{ - use local-service,graphed-service - hostgroup_name docker-hosts - service_description System: Load - check_command check_nrpe!check_load -} - -define service{ - use local-service,graphed-service - hostgroup_name docker-hosts - service_description System: Total Processes - check_command check_nrpe!check_procs -} - -define service{ - use local-service,graphed-service - hostgroup_name docker-hosts - service_description System: Zombie Processes - check_command check_nrpe!check_procs -} - -define service{ - use local-service,graphed-service - hostgroup_name docker-hosts - service_description System: Logged In users - check_command check_nrpe!check_users -} - -define service{ - use local-service,graphed-service - hostgroup_name docker-hosts - service_description DNS Query: A Record - check_command check_dns_a -} - ### Service Definitions per docker host define service{ use local-service,graphed-service