checkmk_server
checkmk_server
Роль Ansible для установки CheckMK RAW edition и настройки начального сайта.
Это полное переосмысление ранее созданной и поддерживаемой мною роли install-check_mk-server, предпринятое из-за изменений в CI/CD и правилах именования в Ansible Galaxy & CheckMK.
Все задачи помечены тегом checkmk-server
.
Я не рекомендую использовать стандартную конфигурацию для незаслуживающего защиты соединения напрямую с Интернетом, так как конфигурация сервера включает незащищенный HTTP-доступ.
Следующие дистрибутивы были протестированы автоматически:
- Debian 10 "Buster"
- Debian 11 "Bullseye"
- Debian 12 "Bookworm"
- Ubuntu 20.04 LTS "Focal Fossa"
- Ubuntu 22.04 LTS "Jammy Jellyfish"
- Ubuntu 24.04 LTS "Noble Numbat"
Для справки, "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" на имя сайта, который вы хотите обновить:
- Станьте пользователем "test":
sudo omd su test
- Остановите сайт "test":
omd stop
- Обновите сайт "test"; для завершения этого шага вам также нужно взаимодействовать с текстовым интерфейсом:
omd update
- Запустите сайт "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