Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 08b3b979365b5f239cc1ec4e28abdc1cd2de5746
  • master par défaut protégée
  • v1.4.0
  • v1.3.1
  • v1.3.0
  • v1.2.9
  • v1.2.8
  • v1.2.7
  • v1.2.6
  • v1.2.5
  • v1.2.4
  • v1.2.3
  • v1.2.2
  • v1.2.1
  • v1.2.0
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.1
  • v1.0.0
20 résultats

README.md

Blame
  • vps.cfg.j2 19,79 Kio
    ###############################################################################
    ###############################################################################
    #
    # HOST DEFINITION
    #
    ###############################################################################
    ###############################################################################
    
    # Define a host for the local machine
    {% for host in groups['all'] | sort %}
    {% if host != inventory_hostname %}
    define host{
            use                     linux-server
            host_name               {{ host }}
            alias                   {{ host }}
            address                 {{ hostvars[host].ansible_host }}
            }
    
    {% endif %}
    {% endfor %}
    define host{
            use                     linux-server
            host_name               {{ inventory_hostname }}
            alias                   {{ inventory_hostname }}
            address                 192.168.239.1
            }
    
    ###############################################################################
    ###############################################################################
    #
    # HOST GROUP DEFINITION
    #
    ###############################################################################
    ###############################################################################
    
    # Define an optional hostgroup for Linux machines
    
    define hostgroup{
            hostgroup_name  servers_no_docker
            alias           Serveurs Sans Docker
            members         {{ groups['all'] | difference(groups['docker']) | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            }
    
    define hostgroup{
            hostgroup_name  servers_docker_internet_access
            alias           Serveurs Dockers avec accès à Internet
            members         {{ groups['docker_direct_internet_access'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            }
    
    define hostgroup{
            hostgroup_name  servers_docker_no_internet_access
            alias           Serveurs Dockers sans accès à Internet
            members         {{ groups['docker_restrict_internet_access'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            }
    
    
    
    ###############################################################################
    ###############################################################################
    #
    # SERVICE DEFINITIONS
    #
    ###############################################################################
    ###############################################################################
    
    # Define a service to check the Linux version
    
    define service{
            use                             generic-service
            host_name                       {{ groups['all'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Linux Version
            check_command                   check_nrpe!check_version
            }
    
    # Define a service to check the Linux packages to be installed
    
    define service{
            use                             generic-service
            host_name                       {{ groups['full_maintenance'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Packages to install
            check_command                   check_nrpe!check_apt
            notifications_enabled           0
            }
    
    # Define a service to check the disk space of the root partition
    # on the local machine.
    
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['all'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Espace Disque
            check_command                   check_nrpe!check_hda1
            }
    
    {% for host in groups['all'] | sort %}
    {% if hostvars[host].raid_config is defined %}
    {% for device in hostvars[host].raid_config.devices %}
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             RAID device {{ device }}
            check_command                   check_nrpe!check_raid_{{ device }}
            }
    
    {% endfor %}
    {% endif %}
    {% endfor %}
    define service{
            use                             daily-service,everytime-notification
            host_name                       {{ groups['backup_server'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Backup Odoo Dockers
            check_command                   check_nrpe!check_odoo_storage
            }
    
    define service{
            use                             daily-service,everytime-notification
            host_name                       {{ groups['backup_server'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Backup2 Odoo Dockers
            check_command                   check_nrpe!check_odoo2_storage
            }
    
    define service{
            use                             daily-service,everytime-notification,graphed-service
            host_name                       {{ groups['backup_server'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Backup Cloud Files
            check_command                   check_nrpe!check_cloud_storage
            }
    
    # Define a service to check the number of currently logged in
    # users on the local machine.
    
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['all'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Utilisateurs Connectes
            check_command                   check_nrpe!check_users
            }
    
    
    # Define a service to check the number of currently running procs
    # on the local machine.
    
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['all'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Services en cours
            check_command                   check_nrpe!check_total_procs
            }
    
    # Define services to check for running processes
    define service{
            use                             generic-service
            host_name                       {{ groups['odoo_server'] | union(groups['owncloud_server']) | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Nginx Service
            check_command                   check_nrpe!check_procs_nginx
            }
    
    define service{
            use                             generic-service
            host_name                       {{ groups['all'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             SSHD Service
            check_command                   check_nrpe!check_procs_sshd
            }
    
    {% for host in groups['full_maintenance'] | sort %}
    {% if hostvars[host].log_collection %}
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             Filebeat Service
            check_command                   check_nrpe!check_procs_filebeat
            }
    
    {% endif %}
    {% endfor %}
    
    # Define a service to check the load on the local machine.
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['all'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Charge CPU
            check_command                   check_nrpe!check_load
            }
    
    # Define a service to check the RAM on the local machine.
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['all'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Charge RAM
            check_command                   check_nrpe!check_mem
            }
    
    # SSH
    define service{
            use                             generic-service
            host_name                       {{ groups['all'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             SSH
            check_command                   check_ssh_port!{{ default_sshd_port }}
            }
    
    # FAIL2BAN
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['full_maintenance'] | map('extract', hostvars, ['inventory_hostname']) | sort |  join(',') }}
            service_description             Fail2ban
            check_command                   check_nrpe!check_fail2ban
            }
    
    # Docker Proxy
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['docker'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Docker Proxy
            check_command                   check_nrpe!check_docker_proxy
            }
    
    # Docker LDAP
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['docker_auth'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Docker LDAP
            check_command                   check_nrpe!check_docker_ldap
            }
    
    # Docker SSO
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['docker_auth'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Docker SSO
            check_command                   check_nrpe!check_docker_sso
            }
    
    # Docker Cloud
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['docker_owncloud'] | union(groups.docker_nextcloud) | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Docker Cloud
            check_command                   check_nrpe!check_docker_cloud
            }
    
    # Docker Draw.io
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['docker_drawio'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Docker DrawIo
            check_command                   check_nrpe!check_docker_drawio
            }
    
    # Docker Etherpad
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['docker_etherpad'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Docker Etherpad
            check_command                   check_nrpe!check_docker_etherpad
            }
    
    # Docker Framadate
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['docker_framadate'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Docker Framadate
            check_command                   check_nrpe!check_docker_framadate
            }
    
    # Docker Jitsi
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['docker_jitsi'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Docker Jitsi
            check_command                   check_nrpe!check_docker_jitsi
            }
    
    # Docker PrivateBin
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['docker_privatebin'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             Docker PrivateBin
            check_command                   check_nrpe!check_docker_privatebin
            }
    
    # Gitlab
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['gitlab'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             GitLab Services
            check_command                   check_nrpe!check_gitlab_services
            }
    
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ groups['gitlab'] | map('extract', hostvars, ['inventory_hostname']) | sort | join(',') }}
            service_description             GitLab Health
            check_command                   check_nrpe!check_gitlab_health
            }
    
    # Definition des services HTTP
    
    {% for host in groups['docker_auth'] | sort %}
    # {{ host }} Docker Auth
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             PhpLdapAdmin {{ hostvars[host].ldap_url }}
            check_command                   check_https!'{{ hostvars[host].ldap_url }}'!/
            }
    
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             SSO Server {{ hostvars[host].sso_url }}
            check_command                   check_https!'{{ hostvars[host].sso_url }}'!/
            }
    
    {% endfor %}
    
    {% for host in groups['docker_odoo'] | sort %}
    # {{ host }} Docker Odoo
    {% if hostvars[host].restrict_internet_access and hostvars[host].whitelisted_urls is defined %}
    # Docker Odoo Whitelists
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ host }}
            service_description             Docker Odoo Whitelists
            check_command                   check_nrpe!check_docker_whitelists
            }
    
    {% endif %}
    {% if hostvars[host].odoo_prod is defined %}
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             Odoo Server {{ hostvars[host].odoo_prod.url }}
            check_command                   check_https!'{{ hostvars[host].odoo_prod.url }}'!/web/login
            }
    
    # Docker Odoo
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ host }}
            service_description             Docker Odoo
            check_command                   check_nrpe!check_docker_odoo
            }
    
    {% endif %}
    
    {% for instance in hostvars[host].odoo_nonprod_instances | default([]) %}
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             {{ instance.name }} Server {{ instance['url'] }}
            check_command                   check_https!'{{ instance['url'] }}'!/web/login
            }
    
    # Docker Odoo non prod instance
    define service{
            use                             generic-service,graphed-service
            host_name                       {{ host }}
            service_description             Docker {{ instance.name }}
            check_command                   check_nrpe!check_docker_{{ instance.name }}
            }
    
    {% endfor %}
    {% endfor %}
    
    {% for host in groups['docker_owncloud'] | union(groups['docker_nextcloud']) | sort %}
    # {{ host }} Docker Cloud
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             Cloud Server {{ hostvars[host].cloud_url }}
            check_command                   check_https!'{{ hostvars[host].cloud_url }}'!/login
            }
    
    {% if hostvars[host].cloud_onlyoffice is defined %}
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             OnlyOffice Server {{ hostvars[host].cloud_onlyoffice_url }}
            check_command                   check_https!'{{ hostvars[host].cloud_onlyoffice_url }}'!/healthcheck
            }
    
    {% endif %}
    {% endfor %}
    
    {% for host in groups['docker_nagios'] | sort %}
    define service{
            use                             daily-service
            host_name                       {{ host }}
            service_description             Certificate Nagios Server {{ hostvars[host].nagios_url }}
            check_command                   check_certif!'{{ hostvars[host].nagios_url }}'!443
            }
    
    {% endfor %}
    
    {% for host in groups['docker_drawio'] | sort %}
    # {{ host }} Docker Draw.io
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             Draw.io Server {{ hostvars[host].drawio_url }}
            check_command                   check_https!'{{ hostvars[host].drawio_url }}'!/
            }
    
    {% endfor %}
    
    {% for host in groups['docker_etherpad'] | sort %}
    # {{ host }} Docker Etherpad
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             Etherpad Server {{ hostvars[host].pad_url }}
            check_command                   check_https!'{{ hostvars[host].pad_url }}'!/
            }
    
    {% endfor %}
    
    {% for host in groups['docker_framadate'] | sort %}
    # {{ host }} Docker Framadate
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             Framadate Server {{ hostvars[host].date_url }}
            check_command                   check_https!'{{ hostvars[host].date_url }}'!/
            }
    
    {% endfor %}
    
    {% for host in groups['gitlab'] | sort %}
    # {{ host }} GitLab
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             GitLab Server {{ hostvars[host].git_url }}
            check_command                   check_https!'{{ hostvars[host].git_url }}'!/
            }
    
    {% endfor %}
    
    {% for host in groups['docker_privatebin'] | sort %}
    # {{ host }} Docker PrivateBin
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             PrivateBin Server {{ hostvars[host].privatebin_url }}
            check_command                   check_https!'{{ hostvars[host].privatebin_url }}'!/
            }
    
    {% endfor %}
    
    {% for host in groups['odoo_server'] | sort %}
    # {{ host }} Odoo
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             Odoo {{ hostvars[host].odoo_url }}
            check_command                   check_https!'{{ hostvars[host].odoo_url }}'!/web/login
            }
    
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             Odoo Service
            check_command                   check_nrpe!check_procs_odoo
            }
    
    {% endfor %}
    
    {% for host in groups['owncloud_server'] | sort %}
    # {{ host }} Owncloud
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             OwnCloud {{ hostvars[host].cloud_url }}
            check_command                   check_https!'{{ hostvars[host].cloud_url }}'!/index.php/login
            }
    
    define service{
            use                             generic-service
            host_name                       {{ host }}
            service_description             Owncloud Service
            check_command                   check_nrpe!check_procs_owncloud
            }
    
    {% endfor %}