kso512.checkmk_server

checkmk_server

Release Problemas en GitHub Tamaño del repo en GitHub

hecho-con-Markdown Licencia de GitHub

Un Ansible Rol para instalar la edición RAW de CheckMK y configurar un sitio inicial.

Este es un reconstrucción completa del rol install-check_mk-server que creé y mantuve durante años, realizada debido a cambios en CI/CD y convenciones de nombres en Ansible Galaxy y CheckMK.

Todas las tareas están etiquetadas con checkmk-server.

NO recomiendo la configuración predeterminada para conexiones no protegidas directamente a Internet, ya que la configuración del servidor incluye acceso HTTP sin cifrar.

Las siguientes distribuciones han sido probadas automáticamente:

Para referencia, "OMD" abajo se refiere a la Distribución de Monitoreo Abierto, que es un predecesor de la edición RAW de CheckMK. Esos comandos "omd" se dejaron para compatibilidad con versiones anteriores.

Matriz de Versiones Recientes

Versión de CheckMK Raw Edition Versión/Etiqueta de Rol
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

Requisitos

Si el servidor tiene un firewall habilitado, puede ser necesario modificarlo para permitir paquetes entrantes en el puerto TCP 80 para el acceso al portal web, y/o en el puerto TCP 514, además de los puertos UDP 162 y 514 para la entrada de la consola de eventos (syslog).

Como en cualquier implementación moderna de Linux, SELinux también puede ser un factor.

Para cumplir con estos requisitos, recomiendo usar otro rol de Ansible.

Mantenimiento (actualizaciones y versiones obsoletas)

Mientras que este rol instala la última versión estable de CheckMK, no aplica comandos de actualización a implementaciones existentes. Esto es para evitar afectar sitios de producción y permitir supervisión durante las actualizaciones.

Estos pasos pueden seguirse para realizar una actualización en un sitio llamado "test" después de ejecutar una actualización más nueva de este rol; cambie "test" por el nombre del sitio que desea actualizar:

  1. Convertirse en el usuario "test": sudo omd su test
  2. Detener el sitio "test": omd stop
  3. Actualizar el sitio "test"; para completar este paso, también necesita interactuar con la interfaz de texto: omd update
  4. Iniciar el sitio "test": omd start

Si tiene muchos sitios que actualizar, la siguiente línea de comando puede ayudar. Solo cambie la declaración de la variable site según sea necesario:

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

Para los más valientes, el comando omd permite actualizaciones completamente automatizadas, que pueden ser ejecutadas a través de Ansible así (para un grupo dado hq-cmk en el inventario testing.ini, un sitio llamado test, y actualizando a la versión 2.2.0p12 en este ejemplo):

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 misma manera, versiones más antiguas quedan en los sistemas por este rol y es responsabilidad del administrador eliminar versiones no necesarias. Use este comando para eliminar todas las versiones no necesarias de CheckMK: sudo omd cleanup

Variables del Rol

Algunas de estas pueden parecer redundantes, pero están especificadas para que futuros usuarios puedan sobrescribirlas con variables locales según sea necesario.

Tabla de Variables Comunes a Todas las Distribuciones (con Valores Predeterminados)

Variable Descripción Predeterminado
checkmk_server_adminpw Contraseña para el usuario cmkadmin creado para el sitio de prueba; si se deja en blanco, la contraseña para este usuario se puede encontrar en el archivo checkmk_server_log_dest creado en la instancia remota indefinido
checkmk_server_base_url URL base de la que se basan otras URL https://download.checkmk.com/checkmk
checkmk_server_cache_valid_time Actualizar la caché de apt si es más antigua que este tiempo, en segundos. 3600
checkmk_server_download Nombre del archivo del paquete de instalación fuente check-mk-raw-{{ checkmk_server_version }}_0.{{ ansible_distribution_release }}_amd64.deb
checkmk_server_download_dest Ruta completa final del paquete de instalación fuente "{{ checkmk_server_download_dest_folder }}/{{ checkmk_server_download }}"
checkmk_server_download_dest_folder Carpeta de destino del paquete de instalación fuente /opt
checkmk_server_download_mode Configuración de modo de archivo del paquete de instalación fuente 0755
checkmk_server_download_url URL del paquete de instalación fuente a descargar "{{ checkmk_server_base_url }}/{{ checkmk_server_version }}/{{ checkmk_server_source }}"
checkmk_server_htpasswd_group Nombre del grupo que debe ser propietario del archivo htpasswd, como se usaría en chown "{{ checkmk_server_site }}"
checkmk_server_htpasswd_mode Configuración de modo de archivo del archivo htpasswd 0660
checkmk_server_htpasswd_name Nombre del usuario que tendrá su contraseña establecida, si checkmk_server_adminpw está configurada cmkadmin
checkmk_server_htpasswd_owner Nombre del usuario que debe ser propietario del archivo htpasswd, como se usaría en chown "{{ checkmk_server_site }}"
checkmk_server_htpasswd_path Ruta completa final del archivo htpasswd /opt/omd/sites/{{ checkmk_server_site }}/etc/htpasswd
checkmk_server_install_package Ruta completa final del paquete de instalación "{{ checkmk_server_download_dest }}"
checkmk_server_key_url URL de la clave pública para CheckMK "{{ checkmk_server_base_url }}/Check_MK-pubkey.gpg"
checkmk_server_log_dest Ruta completa final del registro de creación de OMD, que captura la contraseña del cmkadmin si checkmk_server_adminpw no está configurada /opt/omd/sites/{{ checkmk_server_site }}/omd-create.log
checkmk_server_log_group Nombre del grupo que debe ser propietario del registro de creación de OMD, como se usaría en chown "{{ checkmk_server_site }}"
checkmk_server_log_mode Configuración de modo de archivo del registro de creación de OMD 0600
checkmk_server_log_owner Nombre del usuario que debe ser propietario del registro de creación de OMD, como se usaría en chown "{{ checkmk_server_site }}"
checkmk_server_man_mode Configuración de modo de archivo de la carpeta de man requerida 0755
checkmk_server_man_path Ruta completa final de la carpeta de man requerida /usr/share/man/man8
checkmk_server_omd_create_command Comando usado para crear un nuevo sitio OMD omd create {{ checkmk_server_site }}
checkmk_server_omd_create_creates Archivo creado al crear un nuevo sitio OMD /opt/omd/sites/{{ checkmk_server_site }}
checkmk_server_omd_setup_command Comando usado para configurar OMD omd setup
checkmk_server_omd_setup_creates Carpeta creada al configurar OMD /opt/omd
checkmk_server_omd_start_command Comando usado para iniciar OMD omd start {{ checkmk_server_site }}
checkmk_server_omd_start_creates Archivo creado al iniciar OMD /opt/omd/sites/{{ checkmk_server_site }}/tmp/apache/run/apache.pid
checkmk_server_prerequisites Paquetes necesarios antes de instalar la edición RAW de CheckMK python3-apt python3-passlib
checkmk_server_site Nombre del "sitio" OMD a crear; a menudo se muestra como my-site en los ejemplos de la documentación de CheckMK test
checkmk_server_version Versión de la edición RAW de CheckMK a instalar 2.3.0p13
checkmk_server_web_service Nombre del servicio web a iniciar y habilitar apache2

Tablas de Variables Únicas para Al Menos Una Distribución (con Valores Predeterminados)

Para habilitar el soporte multi-distro, el rol define variables específicas de la distribución con los mecanismos include_vars y with_first_found.

checkmk_server_download_checksum

Descripción: Suma de verificación SHA256 del paquete de instalación fuente

Distribución Predeterminado
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

Dependencias

Aún no se han definido.

Ejemplo de Playbook

Ejemplo que impone una contraseña específica para el usuario cmkadmin:

- hosts: servidores-de-monitoreo
  roles:
     - { role: kso512.checkmk_server, checkmk_server_adminpw: "wintermute" }

Licencia

Licencia Pública General de GNU versión 2

Contribuciones

Si tiene alguna sugerencia o idea, no dude en abrir un problema o bifurcar el repositorio y enviar una solicitud de fusión.

Información del Autor

@kso512 con contribuciones al código original "install-check_mk-server" de estos útiles usuarios de GitHub:

Acerca del proyecto

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

Instalar
ansible-galaxy install kso512.checkmk_server
Licencia
gpl-2.0
Descargas
1.1k
Propietario