kso512.checkmk_server

checkmk_server

Release GitHub issues GitHub repo size

made-with-Markdown GitHub

Un Ansible Rôle pour installer l'édition RAW de CheckMK et configurer un site initial.

Ceci est une reconstruction complète du rôle install-check_mk-server que j'ai créé et maintenu pendant des années, entreprise en raison des changements dans CI/CD et les conventions de nommage dans Ansible Galaxy & CheckMK.

Toutes les tâches sont étiquetées avec checkmk-server.

Je ne recommande pas la configuration par défaut pour une connexion non protégée directement à Internet, car la configuration du serveur inclut un accès HTTP non crypté.

Les distributions suivantes ont été testées automatiquement :

Pour référence, "OMD" ci-dessous signifie Open Monitoring Distribution, qui est un prédécesseur de l'édition RAW de CheckMK. Ces commandes "omd" ont été conservées pour la compatibilité.

Matrice des Versions Récentes

Version de CheckMK Raw Edition Version/Tag du Rôle
2.3.0p13 1.0.88
2.3.0p12 1.0.87
2.3.0p11 1.0.86
2.3.0p10 1.0.85
2.2.0p9 1.0.84

Exigences

Si le serveur a un pare-feu activé, il peut être nécessaire de le modifier pour autoriser les paquets entrants sur le port TCP 80 pour l'accès au portail Web, et/ou le port TCP 514, plus les ports UDP 162 et 514 pour l'entrée console d'événements (syslog).

Comme pour tout déploiement Linux moderne, SELinux peut entrer en jeu.

Pour répondre à ces exigences, je recommande d'utiliser un autre Rôle Ansible.

Entretien (mises à jour et versions obsolètes)

Bien que ce rôle installe la dernière version stable de CheckMK, il n'applique pas de commandes de mise à jour aux déploiements existants. Cela évite de perturber les sites de production et permet d'avoir un contrôle lors des mises à niveau.

Ces étapes peuvent être suivies pour effectuer une mise à niveau sur un site nommé "test" après avoir exécuté une mise à jour plus récente de ce rôle ; changez "test" pour le nom du site que vous souhaitez mettre à niveau :

  1. Devenez l'utilisateur "test" : sudo omd su test
  2. Arrêtez le site "test" : omd stop
  3. Mettez à jour le site "test" ; pour compléter cette étape, vous devez également interagir avec l'interface texte : omd update
  4. Démarrez le site "test" : omd start

Si vous avez de nombreux sites à mettre à niveau, la ligne de commande suivante peut vous aider. Changez simplement la déclaration de variable site au besoin :

site=test ; sudo omd stop $site ; sudo omd update $site ; sudo omd start $site

Pour les braves, la commande omd permet des mises à niveau entièrement automatisées, qui peuvent ensuite être exécutées via ansible de la manière suivante (pour un groupe donné hq-cmk dans l'inventaire testing.ini, un site nommé test, et une mise à niveau vers la version 2.2.0p12 dans cet exemple) :

ansible hq-cmk -b -i testing.ini -m shell -a "site=test ; omd stop $site ; omd -f -V 2.2.0p12.cre update --conflict=install $site ; omd start $site" -vvvv

De la même manière, les anciennes versions sont laissées sur les systèmes par ce rôle et il incombe à l'administrateur de supprimer les versions non nécessaires. Utilisez cette commande pour supprimer toutes les versions non nécessaires de CheckMK : sudo omd cleanup

Variables du Rôle

Certaines d'entre elles peuvent sembler redondantes mais sont spécifiées afin que les futurs utilisateurs puissent les remplacer par des variables locales si nécessaire.

Tableau des Variables Communes à Toutes les Distributions (avec Valeurs Par Défaut)

Variable Description Par Défaut
checkmk_server_adminpw Mot de passe pour l'utilisateur cmkadmin créé pour le site de test ; s'il est laissé vide, le mot de passe pour cet utilisateur peut être trouvé dans le fichier checkmk_server_log_dest créé sur l'instance distante non défini
checkmk_server_base_url URL de base sur laquelle d'autres URL sont basées https://download.checkmk.com/checkmk
checkmk_server_cache_valid_time Met à jour le cache apt s'il est plus ancien que ce temps, en secondes. 3600
checkmk_server_download Nom du fichier du paquet d'installation source check-mk-raw-{{ checkmk_server_version }}_0.{{ ansible_distribution_release }}_amd64.deb
checkmk_server_download_dest Chemin complet final du paquet d'installation source "{{ checkmk_server_download_dest_folder }}/{{ checkmk_server_download }}"
checkmk_server_download_dest_folder Dossier de destination du paquet d'installation source /opt
checkmk_server_download_mode Paramètres de mode fichier du paquet d'installation source 0755
checkmk_server_download_url URL du paquet d'installation source à télécharger "{{ checkmk_server_base_url }}/{{ checkmk_server_version }}/{{ checkmk_server_source }}"
checkmk_server_htpasswd_group Nom du groupe qui doit posséder le fichier htpasswd, comme l'indique la commande chown "{{ checkmk_server_site }}"
checkmk_server_htpasswd_mode Paramètres de mode fichier du fichier htpasswd 0660
checkmk_server_htpasswd_name Nom de l'utilisateur dont le mot de passe sera défini, si checkmk_server_adminpw est défini cmkadmin
checkmk_server_htpasswd_owner Nom de l'utilisateur qui doit posséder le fichier htpasswd, comme l'indique la commande chown "{{ checkmk_server_site }}"
checkmk_server_htpasswd_path Chemin complet final du fichier htpasswd /opt/omd/sites/{{ checkmk_server_site }}/etc/htpasswd
checkmk_server_install_package Chemin complet final du paquet d'installation "{{ checkmk_server_download_dest }}"
checkmk_server_key_url URL de la clé publique pour CheckMK "{{ checkmk_server_base_url }}/Check_MK-pubkey.gpg"
checkmk_server_log_dest Chemin complet final du journal de création OMD, qui capture le mot de passe cmkadmin si checkmk_server_adminpw n'est pas défini /opt/omd/sites/{{ checkmk_server_site }}/omd-create.log
checkmk_server_log_group Nom du groupe qui doit posséder le journal de création OMD, comme l'indique la commande chown "{{ checkmk_server_site }}"
checkmk_server_log_mode Paramètres de mode fichier du journal de création OMD 0600
checkmk_server_log_owner Nom de l'utilisateur qui doit posséder le journal de création OMD, comme l'indique la commande chown "{{ checkmk_server_site }}"
checkmk_server_man_mode Paramètres de mode fichier du dossier man requis 0755
checkmk_server_man_path Chemin complet final du dossier man requis /usr/share/man/man8
checkmk_server_omd_create_command Commande utilisée pour créer un nouveau site OMD omd create {{ checkmk_server_site }}
checkmk_server_omd_create_creates Fichier créé par la création d'un nouveau site OMD /opt/omd/sites/{{ checkmk_server_site }}
checkmk_server_omd_setup_command Commande utilisée pour configurer OMD omd setup
checkmk_server_omd_setup_creates Dossier créé par la configuration d'OMD /opt/omd
checkmk_server_omd_start_command Commande utilisée pour démarrer OMD omd start {{ checkmk_server_site }}
checkmk_server_omd_start_creates Fichier créé par le démarrage de l'OMD /opt/omd/sites/{{ checkmk_server_site }}/tmp/apache/run/apache.pid
checkmk_server_prerequisites Paquets nécessaires avant d'installer l'édition RAW de CheckMK python3-apt python3-passlib
checkmk_server_site Nom du "site" OMD à créer ; cela est souvent montré comme my-site dans les exemples de documentation de CheckMK test
checkmk_server_version Version de l'édition RAW de CheckMK à installer 2.3.0p13
checkmk_server_web_service Nom du service Web à démarrer et activer apache2

Tableaux de Variables Uniques à Au Moins Une Distribution (avec Valeurs Par Défaut)

Pour activer le support multi-distro, le rôle définit des variables spécifiques à la distribution avec les mécanismes include_vars et with_first_found.

checkmk_server_download_checksum

Description : Somme de contrôle SHA256 du paquet d'installation source

Distribution Valeur Par Défaut
Debian 10 sha256:ee083910c336c841a4851964543fd44c7e9ac60df6a9223c2df0ca3c49c9d3e9
Debian 11 sha256:684bf333ed397e805f455e07296bcbef58fd6cfb1360f606b0b02bcfd14e56dc
Debian 12 sha256:d4d102ce0917c86b8181d32dfd5718ea752cfeac0eea01e4dbcbe04cd7b3592b
Ubuntu 20.04 sha256:beca6209ff3c565dd1f9e1e4ad874b0c657efa303d6edf6efb1af286f0fc2ae0
Ubuntu 22.04 sha256:c86c03997429005aff81ac9fbc0a03b9ab4fdfb8494b75c59f8f119c1680c959
Ubuntu 24.04 sha256:e5f030738cd970ea78465f36517a53550865ea8ef3b37d61841cee5df58407e6

Dépendances

Aucune définition pour l'instant.

Exemple de Playbook

Exemple qui impose un mot de passe spécifique pour l'utilisateur cmkadmin :

- hosts: monitoring-servers
  roles:
     - { role: kso512.checkmk_server, checkmk_server_adminpw: "wintermute" }

Licence

Licence Publique Générale GNU version 2

Contribution

Si vous avez des suggestions ou des idées, n'hésitez pas à ouvrir un problème ou à forker le dépôt et soumettre une demande de fusion.

Informations sur l'Auteur

@kso512 avec des contributions au code original "install-check_mk-server" de ces utilisateurs utiles de Github :

À propos du projet

A role to install CheckMK RAW edition and set up an initial site.

Installer
ansible-galaxy install kso512.checkmk_server
Licence
gpl-2.0
Téléchargements
1.1k
Propriétaire