kso512.checkmk_server
checkmk_server
これは、CheckMK RAWエディションをインストールし、最初のサイトを設定するためのAnsibleのロールです。
これは、私が数年間作成・維持してきた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」は、CheckMK RAWエディションの前身であるOpen Monitoring Distributionを指します。これらの「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 |
要件
サーバーにファイアウォールが有効になっている場合、WebポータルのアクセスのためにTCPポート80、およびイベントコンソール(syslog)入力のためにTCPポート514、UDPポート162と514を通過できるように変更する必要があります。
現代の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を介して実行できます(この例では、testing.ini
インベントリのグループhq-cmk
、サイト名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 | CheckMKの公開鍵のURL | "{{ checkmk_server_base_url }}/Check_MK-pubkey.gpg" |
checkmk_server_log_dest | OMD作成ログの最終フルパス; checkmk_server_adminpw が未設定の場合、cmkadminパスワードをキャプチャ |
/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エディションのインストール前に必要なパッケージ | python3-apt python3-passlib |
checkmk_server_site | 作成するOMD "サイト"の名前; CheckMKのドキュメント例ではmy-site として表示されることが多い |
test |
checkmk_server_version | インストールするCheckMK RAWエディションのバージョン | 2.3.0p13 |
checkmk_server_web_service | 起動して有効にするWebサービスの名前 | 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" }
ライセンス
貢献
提案やアイデアがあれば、問題を開くか、リポジトリをフォークしてマージリクエストを提出してください。
著者情報
@kso512と、これに貢献した以下の役立つGithubユーザーからの情報:
A role to install CheckMK RAW edition and set up an initial site.
ansible-galaxy install kso512.checkmk_server