checkmk_server

checkmk_server

Release GitHub issues GitHub repo size

made-with-Markdown GitHub

Роль Ansible для установки CheckMK RAW edition и настройки начального сайта.

Это полное переосмысление ранее созданной и поддерживаемой мною роли install-check_mk-server, предпринятое из-за изменений в CI/CD и правилах именования в Ansible Galaxy & CheckMK.

Все задачи помечены тегом checkmk-server.

Я не рекомендую использовать стандартную конфигурацию для незаслуживающего защиты соединения напрямую с Интернетом, так как конфигурация сервера включает незащищенный HTTP-доступ.

Следующие дистрибутивы были протестированы автоматически:

Для справки, "OMD" ниже означает Open Monitoring Distribution, который является предшественником CheckMK RAW edition. Команды "omd" были оставлены для обратной совместимости.

Матрица последних версий

Версия CheckMK Raw Edition Версия/Тег роли
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

Требования

Если на сервере включен брандмауэр, возможно, его потребуется изменить, чтобы разрешить входящие пакеты на TCP-порт 80 для доступа к веб-порталу и/или TCP-порт 514, а также UDP-порты 162 и 514 для ввода консоли событий (syslog).

Как и при любой современной установке Linux, может потребоваться SELinux.

Для выполнения этих требований я рекомендую использовать другую роль Ansible.

Обслуживание (обновления и устаревшие версии)

Хотя эта роль устанавливает последнюю стабильную версию CheckMK, она не применяет команды обновления к существующим развертываниям. Это делается для предотвращения ошибок на рабочих сайтах и позволяет контролировать процесс обновления.

Следующие шаги можно выполнить для обновления сайта с именем "test" после запуска более новой версии этой роли; замените "test" на имя сайта, который вы хотите обновить:

  1. Станьте пользователем "test": sudo omd su test
  2. Остановите сайт "test": omd stop
  3. Обновите сайт "test"; для завершения этого шага вам также нужно взаимодействовать с текстовым интерфейсом: omd update
  4. Запустите сайт "test": omd start

Если у вас много сайтов для обновления, следующая единичная команда может помочь. Просто измените переменную site по мере необходимости:

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

Для смелых команда omd позволяет выполнять полностью автоматические обновления, которые затем могут быть выполнены через ansible следующим образом (для данной группы hq-cmk в инвентаре testing.ini, сайт с именем test, и обновление до версии 2.2.0p12 в этом примере):

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

Точно так же старая версия остается на системах, и на администраторе лежит ответственность за удаление ненужных версий. Используйте эту команду для удаления всех ненужных версий CheckMK: sudo omd cleanup

Переменные роли

Некоторые из них могут показаться избыточными, но указаны, чтобы будущие пользователи могли переопределить их локальными переменными по мере необходимости.

Таблица общих переменных для всех дистрибутивов (с значениями по умолчанию)

Переменная Описание Значение по умолчанию
checkmk_server_adminpw Пароль для пользователя cmkadmin, созданного для тестового сайта; если оставлен пустым, пароль для этого пользователя можно найти в файле checkmk_server_log_dest, созданном на удаленном экземпляре неопределено
checkmk_server_base_url Базовый URL, на основе которого строятся другие URL https://download.checkmk.com/checkmk
checkmk_server_cache_valid_time Обновить кэш apt, если он старше этого времени, в секундах. 3600
checkmk_server_download Имя файла исходного установочного пакета check-mk-raw-{{ checkmk_server_version }}_0.{{ ansible_distribution_release }}_amd64.deb
checkmk_server_download_dest Конечный полный путь к исходному установочному пакету "{{ checkmk_server_download_dest_folder }}/{{ checkmk_server_download }}"
checkmk_server_download_dest_folder Папка назначения исходного установочного пакета /opt
checkmk_server_download_mode Установки режима файла для исходного установочного пакета 0755
checkmk_server_download_url URL исходного установочного пакета для загрузки "{{ checkmk_server_base_url }}/{{ checkmk_server_version }}/{{ checkmk_server_source }}"
checkmk_server_htpasswd_group Имя группы, которой должен принадлежать файл htpasswd "{{ checkmk_server_site }}"
checkmk_server_htpasswd_mode Установки режима файла для файла htpasswd 0660
checkmk_server_htpasswd_name Имя пользователя, для которого будет установлен пароль, если checkmk_server_adminpw задан cmkadmin
checkmk_server_htpasswd_owner Имя пользователя, которому должен принадлежать файл htpasswd "{{ checkmk_server_site }}"
checkmk_server_htpasswd_path Конечный полный путь к файлу htpasswd /opt/omd/sites/{{ checkmk_server_site }}/etc/htpasswd
checkmk_server_install_package Конечный полный путь к пакету установки "{{ checkmk_server_download_dest }}"
checkmk_server_key_url URL публичного ключа для CheckMK "{{ checkmk_server_base_url }}/Check_MK-pubkey.gpg"
checkmk_server_log_dest Конечный полный путь к журналу создания OMD, который захватывает пароль cmkadmin, если checkmk_server_adminpw не задан /opt/omd/sites/{{ checkmk_server_site }}/omd-create.log
checkmk_server_log_group Имя группы, которой должен принадлежать журнал создания OMD "{{ checkmk_server_site }}"
checkmk_server_log_mode Установки режима файла для журнала создания OMD 0600
checkmk_server_log_owner Имя пользователя, которому должен принадлежать журнал создания OMD "{{ checkmk_server_site }}"
checkmk_server_man_mode Установки режима файла для требуемой папки man 0755
checkmk_server_man_path Конечный полный путь к требуемой папке man /usr/share/man/man8
checkmk_server_omd_create_command Команда, используемая для создания нового сайта OMD omd create {{ checkmk_server_site }}
checkmk_server_omd_create_creates Файл, создаваемый при создании нового сайта OMD /opt/omd/sites/{{ checkmk_server_site }}
checkmk_server_omd_setup_command Команда, используемая для настройки OMD omd setup
checkmk_server_omd_setup_creates Папка, создаваемая при настройке OMD /opt/omd
checkmk_server_omd_start_command Команда, используемая для запуска OMD omd start {{ checkmk_server_site }}
checkmk_server_omd_start_creates Файл, создаваемый при запуске OMD /opt/omd/sites/{{ checkmk_server_site }}/tmp/apache/run/apache.pid
checkmk_server_prerequisites Пакеты, необходимые перед установкой CheckMK RAW edition python3-apt python3-passlib
checkmk_server_site Название сайта OMD для создания; как правило, показано как my-site в примерах документации CheckMK test
checkmk_server_version Версия CheckMK RAW edition для установки 2.3.0p13
checkmk_server_web_service Название веб-сервиса для запуска и активации apache2

Таблицы переменных, уникальных для хотя бы одного дистрибутива (с значениями по умолчанию)

Для поддержки нескольких дистрибутивов роль определяет специфичные для дистрибутива переменные с помощью механизмов include_vars и with_first_found.

checkmk_server_download_checksum

Описание: SHA256 контрольная сумма исходного установочного пакета

Дистрибутив Значение по умолчанию
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

Зависимости

Пока нет определенных зависимостей.

Пример плейбука

Пример, который устанавливает определенный пароль для пользователя cmkadmin:

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

Лицензия

GNU General Public License version 2

Участие

Если у вас есть предложения или идеи, пожалуйста, не стесняйтесь открывать ошибку или создать форк репозитория и отправить запрос на слияние.

Информация об авторе

@kso512 с помощью оригинального кода "install-check_mk-server" от этих полезных пользователей GitHub:

О проекте

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

Установить
ansible-galaxy install kso512/checkmk_server
Лицензия
gpl-2.0
Загрузки
1117
Владелец