kso512.checkmk_server
checkmk_server
To Ansible Rola do zainstalowania CheckMK RAW edition i skonfigurowania początkowego serwisu.
Jest to całkowicie nowa wersja roli install-check_mk-server, którą stworzyłem i utrzymywałem przez lata, zrealizowana z powodu zmian w CI/CD oraz konwencjach nazewniczych w Ansible Galaxy i CheckMK.
Wszystkie zadania są oznaczone tagiem checkmk-server
.
Nie zalecam domyślnej konfiguracji dla niechronionego połączenia bezpośrednio z Internetem, ponieważ konfiguracja serwera zawiera niezaszyfrowany dostęp HTTP.
Poniższe dystrybucje zostały przetestowane automatycznie:
- 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"
Dla informacji, "OMD" poniżej oznacza Open Monitoring Distribution, która jest poprzednikiem CheckMK RAW edition. Te komendy "omd" zostały pozostawione dla zapewnienia kompatybilności wstecznej.
Ostatnia Matryca Wersji
Wersja CheckMK Raw Edition | Wersja/Rola Tag |
---|---|
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 |
Wymagania
Jeśli serwer ma włączoną zaporę, może być konieczne jej dostosowanie, aby zezwolić na przychodzące pakiety na porcie TCP 80 dla dostępu do portalu internetowego i/lub porcie TCP 514 oraz portach UDP 162 i 514 dla wejścia z konsoli zdarzeń (syslog).
Jak przy każdej nowoczesnej instalacji Linuxa, SELinux może również odgrywać rolę.
Aby spełnić te wymagania, zalecam użycie innej Roli Ansible.
Utrzymanie (aktualizacje i starsze wersje)
Choć ta rola instaluje najnowszą stabilną wersję CheckMK, nie stosuje poleceń aktualizacji do istniejących instalacji. Ma to na celu unikanie zakłóceń w działających serwisach oraz umożliwienie nadzoru podczas aktualizacji.
Można wykonać poniższe kroki, aby przeprowadzić aktualizację na serwisie nazwanym "test" po uruchomieniu nowszej wersji tej roli; zmień "test" na nazwę serwisu, który chcesz zaktualizować:
- Zostań użytkownikiem "test":
sudo omd su test
- Zatrzymaj serwis "test":
omd stop
- Zaktualizuj serwis "test"; aby zakończyć ten krok, musisz także interakcjonować z interfejsem tekstowym:
omd update
- Uruchom serwis "test":
omd start
Jeśli masz wiele serwisów do zaktualizowania, poniższa komenda może pomóc. Po prostu zmień deklarację zmiennej site
według potrzeb:
site=test ; sudo omd stop $site ; sudo omd update $site ; sudo omd start $site
Dla odważnych, komenda omd
umożliwia w pełni zautomatyzowane aktualizacje, które można wykonać za pomocą ansible, jak w poniższym przykładzie (dla danej grupy hq-cmk
w inwentarzu testing.ini
, serwis nazwany test
, i aktualizując do wersji 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
Podobnie, starsze wersje są pozostawiane na systemach przez tę rolę i to administrator odpowiada za usunięcie niepotrzebnych wersji. Użyj tej komendy, aby usunąć wszystkie niepotrzebne wersje CheckMK: sudo omd cleanup
Zmienne Roli
Niektóre z tych zmiennych mogą wydawać się zbędne, ale są określone, aby przyszli użytkownicy mogli je nadpisać lokalnymi zmiennymi, jeśli zajdzie taka potrzeba.
Tabela Zmiennych Wspólnych dla Wszystkich Dystrybucji (z Domyślnymi Wartościami)
Zmienna | Opis | Domyślna Wartość |
---|---|---|
checkmk_server_adminpw | Hasło dla użytkownika cmkadmin utworzonego dla testowego serwisu; jeśli pozostawione puste, hasło dla tego użytkownika można znaleźć w pliku checkmk_server_log_dest , który został utworzony na zdalnej instancji |
niezdefiniowane |
checkmk_server_base_url | Podstawowy adres URL, na którym opierają się inne adresy URL | https://download.checkmk.com/checkmk |
checkmk_server_cache_valid_time | Aktualizuj pamięć podręczną apt, jeśli jest starsza niż ten czas, w sekundach. | 3600 |
checkmk_server_download | Nazwa pliku źródłowego pakietu instalacyjnego | check-mk-raw-{{ checkmk_server_version }}_0.{{ ansible_distribution_release }}_amd64.deb |
checkmk_server_download_dest | Ostateczna pełna ścieżka do źródłowego pakietu instalacyjnego | "{{ checkmk_server_download_dest_folder }}/{{ checkmk_server_download }}" |
checkmk_server_download_dest_folder | Katalog docelowy źródłowego pakietu instalacyjnego | /opt |
checkmk_server_download_mode | Ustawienia trybu pliku źródłowego pakietu instalacyjnego | 0755 |
checkmk_server_download_url | URL źródłowego pakietu instalacyjnego do pobrania | "{{ checkmk_server_base_url }}/{{ checkmk_server_version }}/{{ checkmk_server_source }}" |
checkmk_server_htpasswd_group | Nazwa grupy, która powinna posiadać plik htpasswd, jak w poleceniu chown | "{{ checkmk_server_site }}" |
checkmk_server_htpasswd_mode | Ustawienia trybu pliku dla pliku htpasswd | 0660 |
checkmk_server_htpasswd_name | Nazwa użytkownika, którego hasło będzie ustawione, jeśli checkmk_server_adminpw jest ustawione |
cmkadmin |
checkmk_server_htpasswd_owner | Nazwa użytkownika, który powinien posiadać plik htpasswd, jak w poleceniu chown | "{{ checkmk_server_site }}" |
checkmk_server_htpasswd_path | Ostateczna pełna ścieżka do pliku htpasswd | /opt/omd/sites/{{ checkmk_server_site }}/etc/htpasswd |
checkmk_server_install_package | Ostateczna pełna ścieżka do pakietu instalacyjnego | "{{ checkmk_server_download_dest }}" |
checkmk_server_key_url | URL publicznego klucza dla CheckMK | "{{ checkmk_server_base_url }}/Check_MK-pubkey.gpg" |
checkmk_server_log_dest | Ostateczna pełna ścieżka do logu tworzenia OMD, który rejestruje hasło cmkadmin, jeśli checkmk_server_adminpw nie jest ustawione |
/opt/omd/sites/{{ checkmk_server_site }}/omd-create.log |
checkmk_server_log_group | Nazwa grupy, która powinna posiadać log OMD, jak w poleceniu chown | "{{ checkmk_server_site }}" |
checkmk_server_log_mode | Ustawienia trybu pliku dla logu OMD | 0600 |
checkmk_server_log_owner | Nazwa użytkownika, który powinien posiadać log OMD, jak w poleceniu chown | "{{ checkmk_server_site }}" |
checkmk_server_man_mode | Ustawienia trybu pliku dla wymaganej folderu man | 0755 |
checkmk_server_man_path | Ostateczna pełna ścieżka do wymaganej folderu man | /usr/share/man/man8 |
checkmk_server_omd_create_command | Komenda używana do stworzenia nowego serwisu OMD | omd create {{ checkmk_server_site }} |
checkmk_server_omd_create_creates | Plik utworzony przy tworzeniu nowego serwisu OMD | /opt/omd/sites/{{ checkmk_server_site }} |
checkmk_server_omd_setup_command | Komenda używana do skonfigurowania OMD | omd setup |
checkmk_server_omd_setup_creates | Folder utworzony przy konfiguracji OMD | /opt/omd |
checkmk_server_omd_start_command | Komenda używana do uruchomienia OMD | omd start {{ checkmk_server_site }} |
checkmk_server_omd_start_creates | Plik utworzony przy uruchomieniu OMD | /opt/omd/sites/{{ checkmk_server_site }}/tmp/apache/run/apache.pid |
checkmk_server_prerequisites | Pakiety potrzebne przed instalacją CheckMK RAW edition | python3-apt python3-passlib |
checkmk_server_site | Nazwa "serwisu" OMD do stworzenia; w dokumentacji CheckMK często pojawia się jako my-site |
test |
checkmk_server_version | Wersja CheckMK RAW edition do zainstalowania | 2.3.0p13 |
checkmk_server_web_service | Nazwa usługi webowej do uruchomienia i włączenia | apache2 |
Tabele Zmiennych Unikalnych dla Przynajmniej Jednej Dystrybucji (z Domyślnymi Wartościami)
Aby umożliwić wsparcie dla wielu dystrybucji, rola definiuje zmienne specyficzne dla dystrybucji za pomocą mechanizmów include_vars
i with_first_found
.
checkmk_server_download_checksum
Opis: Suma kontrolna SHA256 źródłowego pakietu instalacyjnego
Dystrybucja | Domyślna Wartość |
---|---|
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 |
Zależności
Obecnie żadnych jeszcze nie zdefiniowano.
Przykładowy Playbook
Przykład wymuszający określone hasło dla użytkownika cmkadmin
:
- hosts: monitoring-servers
roles:
- { role: kso512.checkmk_server, checkmk_server_adminpw: "wintermute" }
Licencja
GNU General Public License w wersji 2
Wkład
Jeśli masz jakieś sugestie lub pomysły, zachęcam do otwarcia zgłoszenia lub sklonowania repozytorium i złożenia wniosków o połączenie.
Informacje o autorze
@kso512 z wkładem oryginalnego kodu "install-check_mk-server" od tych pomocnych użytkowników Github:
A role to install CheckMK RAW edition and set up an initial site.
ansible-galaxy install kso512.checkmk_server