Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. 基本

多くのユーザーが Docker コンテナでソフトウェアを運用したいと思う理由は数多くあります。 Checkmk も Docker 環境で使用できます。 アプリケーションのシナリオとしては、動的に作成されたコンテナグループを監視し、Checkmk をこのグループの一部に組み込むことが考えられます。 コンテナグループが不要になった場合は、Checkmk サイトも削除できます。

重要:Checkmk をコンテナ化されたインフラストラクチャに統合することは可能であり、非常に簡単ですが、それが常に最良の解決策であるとは限りません。 仮想化を行うたびにパフォーマンスが低下し、監視は一般的に物理的な依存関係を最小限に抑える必要があるため 、Checkmk コンテナを使用してインフラストラクチャ全体を監視することは、良い解決策ではありません。 ただし、自己完結型のコンテナクラスタに Checkmk コンテナを統合することは、このクラスタを内部から監視できるため、良い選択肢となる場合があります。 したがって、特にこの場合は、Docker/コンテナツールが実際の要件に最適なソリューションであるかどうかを必ず確認してください。

設定をできるだけ簡単にするため、Checkmk の各エディションには、Checkmk に加えて Linux オペレーティングシステム Ubuntu を含む独自のイメージが含まれています。

Checkmk Raw

ドッカーハブまたは Checkmk ダウンロードページ

商業版

Checkmk ダウンロードページ(Checkmk Cloud以降、つまり Checkmk Cloud および Checkmk MSP)、Checkmk カスタマーポータル

注:Docker Hub でのデプロイでは、Checkmk Raw のインストールに関する章で説明するように、1 つのコマンドでダウンロードとインストールを行うことができます。

この記事では、Docker への Checkmk のインストール手順をご説明し、Docker での Checkmk の使用を容易にするいくつかのヒントをご紹介します。 詳細については、Docker コンテナでの Checkmk サーバーの記事をご覧ください。

2. 前提条件

この記事で紹介するコマンドを実行するには、Docker Engine がインストールされており、その使用方法に関する基本的な知識が必要です。

3. Checkmk Raw のインストール

Docker でCheckmk Rawを始めるのは簡単です。 Docker Hub から直接、適切なイメージを入手できます。 これは、コマンドラインで 1 つのコマンドを実行するだけで完了します。 このコマンドを実行すると、Checkmk を含む Docker コンテナが作成されるだけでなく、cmk という名前の監視サイトも設定され、起動されます。 このサイトは、cmkadmin ユーザーとしてすぐにログインして利用できます。

root@linux# docker container run -dit -p 8080:5000 -p 8000:8000 \
    --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 \
    -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro \
    --restart always checkmk/check-mk-raw:2.4.0-latest
Unable to find image 'checkmk/check-mk-raw:2.4.0-latest' locally
2.4.0-latest: Pulling from checkmk/check-mk-raw
43f89b94cd7d: Pull complete
c6b4550f40cc: Pull complete
86f6e730bc27: Pull complete
cf0f3e792f33: Pull complete
81777b9c4e2e: Pull complete
da44e2c4d930: Pull complete
Digest: sha256:8a71002e019fab358bcefb204d6bff3390713781df99fb5c6587b289df9796e4
Status: Downloaded newer image for checkmk/check-mk-raw:2.4.0-latest
86e14b7d604033cc44f4b92c25ce67f45967c82db3e84f2e16fee76f4ff48fdf

利用可能なオプションに関する追加情報:

オプション 説明

-p 8080:5000

デフォルトでは、コンテナの web サーバーはポート 5000 をリッスンします。 この例では、Docker ノードのポート 8080 をコンテナのポートに公開して、外部からアクセスできるようにします。 標準の HTTP ポート 80 を使用している別のコンテナやプロセスがない場合は、コンテナをそのポートにバインドすることもできます。 その場合は、オプションは次のように指定します:-p 80:5000 。 HTTPS の使用については、Docker コンテナ内の Checkmk サーバーの記事で説明しています。

-p 8000:8000

Checkmk2.1.0 以降では、エージェントコントローラーを登録するために、エージェントレシーバーのポートも公開する必要があります。

--tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000

最適なパフォーマンスを得るには、Docker ノードの RAM に直接一時ファイルシステムを使用することができます。 このファイルシステムのパスは、このオプションで指定します。 サイト ID を変更した場合は、このパスもそれに応じて編集する必要があります。

-v monitoring:/omd/sites

このオプションは、このコンテナ内のサイトからのデータを、Docker ノードのファイルシステムの永続的な場所にバインドします。 コンテナが削除されても、データは失われません。 コロン前のコードが名前を決定します。これにより、後で、たとえばdocker volume ls コマンドを使用して、保存場所を明確に識別することができます。

--name monitoring

これは、コンテナの名前を定義します。 この名前は一意である必要があり、Docker ノードで再度使用することはできません。

-v /etc/localtime:/etc/localtime:ro

このオプションを使用すると、コンテナで Docker ノードで使用されているのと同じタイムゾーンを使用できます。同時に、ファイルは読み取り専用として統合されます (ro)。

--restart always

通常、コンテナは停止すると自動的に再起動しません。 このオプションを使用すると、コンテナが常に自動的に再起動するようにすることができます。 ただし、コンテナを手動で停止した場合、Docker デーモンが再起動するか、コンテナ自体を手動で再起動しない限り、コンテナは再起動しません。

checkmk/check-mk-raw:2.4.0-latest

<repository>:<tag> 形式の Checkmk イメージラベル。 正確なラベルは、コマンドdocker images で読み出すことができます。

必要なファイルがすべてロードされ、コンテナが起動したら、http://localhost:8080/cmk/check_mk/ から Checkmk GUI にアクセスしてください。

Checkmk login dialog.

これで初めてログインして Checkmk を試すことができますcmkadmin アカウントの一時パスワードは、このコンテナ用に書き込まれたログに記載されています (この例では、出力は必要な情報のみに省略しています)。

root@linux# docker container logs monitoring
Created new site cmk with version 2.4.0p8.cre.

  The site can be started with omd start cmk.
  The default web UI is available at http://73a86e310b60/cmk/

  The admin user for the web applications is cmkadmin with password: 2JLysBmv
  For command line administration of the site, log in with 'omd su cmk'.
  After logging in, you can change the password for cmkadmin with 'cmk-passwd cmkadmin'.

注:コンテナの ID を使用して web インターフェイスにアクセスするための URL は、コンテナ内でのみ認識され、web ブラウザから外部にアクセスするには使用できません。

3.1. 短命コンテナ

Checkmk コンテナサイトのデータは、この特別なコンテナでのみ利用可能であることが確実な場合は 、コンテナに永続的なデータストレージを割り当てないか、コンテナが停止したときにこのストレージを自動的に削除することができます。

永続的なストレージを使用しない場合は、-v monitoring:/omd/sites オプションを省略してください:

root@linux# docker container run -dit -p 8080:5000 -p 8000:8000 \
    --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 \
    --name monitoring -v /etc/localtime:/etc/localtime:ro \
    --restart always checkmk/check-mk-raw:2.4.0-latest

永続的なストレージを作成し、コンテナが停止したときに自動的に削除するには、次のコマンドを使用します。

root@linux# docker container run --rm -dit -p 8080:5000 -p 8000:8000 \
    --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 \
    -v /omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro \
    checkmk/check-mk-raw:2.4.0-latest

このコマンドは、前のコマンドとは異なり、他に 2 つのオプションしかありません。

  • コンテナの起動時に、コンテナの停止時にコンテナのデータストレージも削除するというコマンドを渡すには、--rm オプションを使用します。これにより、短命の Checkmk コンテナが多数ある場合に、手動で整理する手間が省けます。

    重要: コンテナを停止すると、コンテナ自体が完全に削除されます!

  • -v /omd/sites オプションは、上記とは変更されています。自己割り当ての名前は含まれなくなりました。そうしないと、データストレージが正しく削除されません。

4. 商業版のインストール

商業版は、Docker コンテナでも実行できます。 商業版のイメージは、ドッカーハブから無料で入手することはできません。 ご希望のエディションおよびバージョンを、Checkmk ダウンロードページ(Checkmk Cloud 以降)またはCheckmk カスタマーポータルからダウンロードしてください。

ダウンロードした tar アーカイブファイルから、Docker にイメージをロードします。以下の例は Checkmk Cloud の場合です。

root@linux# docker load -i check-mk-cloud-docker-2.4.0p8.tar.gz
1f35d34cf8fa: Loading layer [==================================================>]  2.048kB/2.048kB
9fcc49e3e223: Loading layer [==================================================>]  365.5MB/365.5MB
96507768f1a4: Loading layer [==================================================>]  261.2MB/261.2MB
a65c9018ee9b: Loading layer [==================================================>]   1.27GB/1.27GB
4dbb1e959fe6: Loading layer [==================================================>]  7.168kB/7.168kB
Loaded image: checkmk/check-mk-cloud:2.4.0p8

その後、上記とよく似たコマンドでコンテナを起動できます。 次の起動コマンドでは、前のコマンドの出力で表示されたLoaded image の名前を使用するように注意してください。この例では、checkmk/check-mk-cloud:2.4.0p8 です。

root@linux# docker container run -dit -p 8080:5000 -p 8000:8000 \
    --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 \
    -v monitoring:/omd/sites --name monitoring \
    -v /etc/localtime:/etc/localtime:ro --restart always \
    checkmk/check-mk-cloud:2.4.0p8
f00d10fcb16313d3539065933b90c4dec9f81745f3d7283d794160f4f9b28df1

コンテナを起動したら、Checkmk Raw のインストールで説明したように、Checkmk web インターフェイスにログインできます。

5. 更新

Docker コンテナで Checkmk を更新する方法については、「更新およびアップグレード」の記事で説明しています。

6. アンインストール

アンインストールする場合は、Docker コンテナと、コンテナの作成時に作成されたデータを削除してください。

Docker コンテナをリスト表示します。

root@linux# docker container ls -a
CONTAINER ID   IMAGE                             COMMAND                  CREATED          STATUS                    PORTS                              NAMES
9a82ddbabc6e   checkmk/check-mk-cloud:2.4.0p8   "/docker-entrypoint.…"   57 minutes ago   Up 53 minutes (healthy)   6557/tcp, 0.0.0.0:8080->5000/tcp   monitoring

コマンド出力で表示されるCONTAINER ID を、次のコマンドで使用します。

まずコンテナを停止してから削除します。

root@linux# docker container stop 9a82ddbabc6e
9a82ddbabc6e
root@linux# docker container rm 9a82ddbabc6e
9a82ddbabc6e

-v monitoring:/omd/sites オプションを使用してコンテナを作成した場合は、これで作成された Docker ボリュームも削除できます。docker volume ls でボリュームを表示し、docker volume rm <VOLUME NAME> でボリュームを削除します。

最後に、同様の方法でイメージを削除できます。docker images でイメージのリストを表示し、docker rmi <IMAGE ID> で選択したイメージを削除します。

このページでは