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. Azure 用の Checkmk へようこそ

Checkmk を長年にわたってご利用のお客様も、Microsoft Azure Marketplace で既製のイメージが利用可能になったことで Checkmk を初めてご利用になるお客様も、この記事では、準備済みの VM イメージをニーズに合った監視に設定するために必要なすべてのリソースをご覧いただけます。

Checkmk を初めてご利用になる方は、まずビギナーズガイドをお読みになることをお勧めいたします。 あらかじめ設定された VM イメージを使用すると、インストール中の多くの作業が省略できますが、サイトなどの基本的な概念についてある程度の知識があると、セットアッププロセスがスムーズに進みます。

1.1. 基本

Azure ユーザーの方は、Marketplaceで入手できる既存の Ubuntu イメージにCheckmk を追加して、「クラウドでの監視」を設定することができます。 Checkmk2.2.0 以降、当社はさらに一歩進んで、必要な依存関係をすべて含む Ubuntu 22.04(Jammy Jellyfish) ベースのプリインストールイメージを提供しています。 このようなシナリオでは、Checkmk Cloud (セルフホスト)のみが使用されます。 これは、最初のサイトを設定すると、30 日間の「トライアル」ライセンス状態となり、制限はありません。 試用期間が終了しても、サブスクリプションを契約しなくても、Checkmk は 1 つのサイトとして、最大 750 のサービスを監視し続けることができます。 より多くのサービスを監視する必要がある場合、またはより多くのサイトが必要な場合は、ライセンスキーが必要になります。

一般的に、セットアップは、たとえばドッカーイメージよりも少し複雑です。結局のところ、提供されるイメージはさまざまなデプロイシナリオに対応している必要があるからです。

  • さまざまな規模のサーバーに1 つのサイトを設定する場合

  • 分散監視におけるセントラルサイト

  • 分散監視におけるリモートサイト

  • 本番サイトと、ホストでテストを実行するためのサイトからなる混合運用

このため、Azure イメージには、実行可能なサイト、電子メール、ファイアウォール設定は含まれていません。

この記事では、セットアップのすべての手順をご説明します。 追加の背景情報が必要な場合は、ユーザーガイドの詳細記事へのリンクを掲載しています。

2. 準備

RAM、プロセッサ、仮想ハードドライブの寸法決定と同様に、バックアップの保存場所についても検討する必要があります。 Checkmk は Azure のオブジェクトストアをネイティブでサポートしていますが、バックアップはファイルシステムパスにも保存できるため、SMB または WebDAV マウントへのバックアップ、あるいはrsync による定期的な転送も可能です。

2.1. SSH キーの作成

Azureは現在 ED25519 または ECDSA キーをサポートしていないため、仮想マシンに初めてログインする際に RSA キーペアを作成し、その公開キーをVM 作成時にアップロードする必要があります。 あるいは、Azure にキーペアの作成を任せることもできます。 その場合は、注文プロセス中に秘密キーをダウンロードすることを忘れないでください。

2.2. 必要なポートの決定

ホストもプッシュモードで Checkmk サイトにデータを送信する、単一のサイトセットアップの Checkmk 構成では、以下の Checkmk サーバーポートにアクセスできる必要があります。

  • 監視対象のホストから:ポート 80/443 (HTTP/HTTPS、エージェント登録時) およびポート 8000 (エージェントレシーバー、常時)。

  • ブラウザおよび REST API による管理の場合:ポート 80/443 (HTTP/HTTPS)

これらのポートの共有は、Inbound port rules で事前定義されています。 最高のセキュリティを確保するには、[Networking ] タブでアクセスをさらに制限してください。

分散監視を設定する場合や、ライブステータスインターフェイスを介してステータス照会を行う場合などは、使用されるすべてのポートの概要をご確認ください。

2.3. マーケットプレイスでのイメージの予約

監視するサービスの数の決定には、以下の VM インスタンスをお勧めします。 インスタンスをご注文の際は、burstable オプションを無効にしてください。

タイプ CPU コア RAM (GB) SSD (GB) Checkmk サービス

B4MS

4

16

32

12,000

B8MS

8

32

64

30,000

B12MS

12

48

96

60,000

このような寸法決定の計算の基礎は、スペシャル エージェントおよびアクティブチェックによるサービスの約 15%、およびプッシュモードでエージェントを介して配信される通常のホストあたり 25 以上のサービスです。 特定の状況では、純粋な外形監視(データは主にスペシャルエージェントによって配信される)では、はるかに多くのサービスが可能になります。 プルモードでエージェントを使用する場合、指定したサービスの数は、一貫した最適化によってのみ達成できる場合があります。

ハードディスク容量の寸法は、一般的な Windows および Linux サーバー環境の経験に基づいています。 大量のメトリックを生成するサービスが多い場合は、より多くのストレージ容量が必要になる場合があります。

2.4. バックアップストレージの予約

トラフィックコストが有利であるため、Azure Blob Storage の使用をお勧めします。 必要なストレージ容量の計算については、RRD データ形式に関する注意事項をお読みください。 フルバックアップを計算する大まかなルールとして、ラウンドロビンデータベースは10 日後に最大容量の 3 分の 1 強に達します。 つまり、この期間経過後は、予約したバックアップストレージのサイズを見直すことが望ましいです。

3. セットアップ

3.1. 仮想マシンへのログイン

AWS/Azure イメージでは、root ログインは使用不能になっています。 その代わりに、パスワードの入力を求められずに任意のコマンドでsudo を実行する許可を持つユーザーubuntu が使用されます。 仮想マシンへのログイン用に別のキーペアを作成した場合は、-i パラメータで、その秘密鍵のパスを指定する必要があります。 もちろん、IP アドレスは、リモートロケーションから VM にアクセスできる IP アドレスにカスタマイズする必要があります。

user@host:~$ ssh -i /path/to/id_file.priv ubuntu@192.0.2.123

これで、ubuntu ユーザープロンプトが表示されます。 実際のプロンプトには、VM の作成時に指定したホスト名、または IP アドレスがホスト名として含まれます。 この記事では、以降、ホスト名cloud を使用します。

ubuntu@cloud:~$

3.2. サイトの設定

Checkmk サイトには一意の名前が必要であり、識別しやすい名前にする必要があります。 このマニュアルの他の部分と同様、ここではサイト名としてmysite を使用します。 サイト管理者cmkadmin のパスワードは、この例ではt0p53cr3t に設定されています。

サイトの作成は、Checkmk 管理ツール omdを使用して行います。 Checkmk の最新バージョンは常にプリインストールされています。

ubuntu@cloud:~$ sudo omd create --admin-password t0p53cr3t mysite
Adding /opt/omd/sites/mysite/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/mysite/tmp...OK
Updating core configuration...
Generating configuration for core (type cmc)...

Starting full compilation for all hosts Creating global helper config...OK
 Creating cmc protobuf configuration...OK
Executing post-create script "01_create-sample-config.py"...OK
Restarting Apache...OK
Created new site mysite with version 2.4.0p8.cce.

  The site can be started with omd start mysite.
  The default web UI is available at http://cloud/mysite/

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

次に、新しく作成したサイトを開始します。

ubuntu@cloud:~$ sudo omd start mysite

上記のコマンド出力の URL (http://cloud/mysite) には、AWS または Azure VM で内部的に使用されるホスト名が含まれています。 通常、この URL は外部から解決されないため、使用は限定的です。 通常、最初は、ご自身の DNS サーバーに保存されている IP アドレスまたはホスト名を使用してアクセスします。

3.3. 証明書の保存

システム Apache が HTTPS ポート 443 で実際にリスンするには、有効な証明書が必要です。 この目的のために、仮想マシンが最初に起動されると、自己署名されたSnakeoil Inc.証明書が生成されます。 これらの証明書は、証明書チェーン全体を簡単に確認できる、ご自身の証明書にできるだけ早く置き換えることを強くお勧めします。

そうすることで、Apache の設定は Ubuntu の標準に厳密に従うことになり、変更した証明書のパスは/etc/apache2/sites-enabled/000-default.conf ファイルに入力する必要があります。

3.4. 電子メールシステムの設定

Checkmk の通知用パスは多数あり、変更される場合があるため、デフォルトの電子メールシステムはあらかじめ定義されていません。

電子メールシステムを使用しない Checkmk

SMTP 経由で HTML 電子メールの配信を追跡可能にするだけの場合、またはMicrosoft TeamsSlack などのプラットフォーム用の通知プラグインを使用する場合、ローカル電子メールシステムを完全に省略することも可能です。

ただし、この設定では一括通知は使用できませんのでご注意ください。

リレー専用またはフルメール転送エージェント (MTA)

原則として、柔軟性の高い電子メールシステムを設定することをお勧めします。 小規模な環境では、リレーのみの MTA Nullmailerが有効であることが実証されています。

予期せぬイベントによって数百通の電子メールが発生する可能性のある大規模なインストールでは、Postfix などのフル機能の MTA をインストールすることをお勧めします。

3.5. 監視にホストを追加する

プルモードのローカルホスト

ほとんどの場合、Checkmk サーバー自体が、監視に最初に追加するホストになります。 そのためには、まず Checkmk サーバーに Linux エージェントをインストールする必要があります。 このエージェントは、プルモードでサーバーと通信します。 Web インターフェースからエージェントパッケージをダウンロードし、scp 経由で転送するのが面倒な場合は、デフォルト設定(「Vanilla」)でファイルシステムから直接エージェントをインストールすることができます。

ubuntu@cloud:~$ sudo apt install $(sudo find /opt/omd/versions/ -name 'check-mk-agent_*.deb' | tail -n1)

インストール直後、Checkmk エージェントは、暗号化されていないレガシープルモードでポート 6556 をリッスンします。 したがって、不正な第三者がエージェントの出力にアクセスできないように、速やかに登録を行ってください。

ubuntu@cloud:~$ sudo cmk-agent-ctl register --hostname localhost --server localhost --site mysite --user cmkadmin

プッシュモードのホスト

監視対象のホストがファイアウォール内にあり、Checkmk サーバーから直接アクセスできない場合、プッシュモードが最適な通信パスとなることがよくあります。 プッシュモードは、監視エージェントセクションのホストのプロパティで、Checkmk agent connection mode オプションを使用して選択できます。 あるいは、プッシュモードを、自動登録用の事前設定済みエージェントパッケージと組み合わせて使用することで、さらに利便性を高めることもできます。

3.6. Checkmk の更新

ダウンロードページで定期的にアップデートを確認し、そこに表示されているwget コマンドを使用して、アップデートされたパッケージをダウンロードしてください。

omd は、同じサーバー上で、それぞれ異なるバージョンの Checkmk を複数のサイトに対して実行することができるため、アップデートのインストールは2 段階で行われます。

新しい Checkmk バージョンのインストールとサイトの更新

最初のステップは、パッケージをインストールすることです。以下の例では、2.2.0p2 バージョンをインストールします。

ubuntu@cloud:~$ sudo apt install ./check-mk-cloud-2.2.0p2_0.jammy_amd64.deb

次のステップは、サイトを更新することです。

ubuntu@cloud:~$ sudo omd stop mysite
ubuntu@cloud:~$ sudo omd update mysite
ubuntu@cloud:~$ sudo omd start mysite

不要になったパッケージの削除

サーバーで複数のサイト(たとえば、本番用と拡張機能のテスト用)を実行している場合は、それらすべてが更新されていることを確認してください。

ubuntu@cloud:~$ omd sites
SITE         VERSION       COMMENTS
mysite       2.2.0p2.cce   default version
mytestsite   2.2.0p2.cce   default version

Ubuntu パッケージ管理を使用して、使用されなくなった Checkmk バージョンをアンインストールできます。

ubuntu@cloud:~$ sudo apt purge check-mk-cloud-2.2.0p1

4. 後処理

4.1. バックアップの設定

Checkmk には、Setup > Maintenance > Backups > Backup targets で設定できる便利なバックアップ機能がありますAdd backup target で、保存場所を追加します。 ここでは、データ転送が高速で安価なため、Destination としてAzure Blob Storage を選択することをお勧めします。

認証情報に加えて、アーカイブがオブジェクトストアにコピーされる前に一時的に保存されるフォルダパスも指定する必要があります。 これは、/tmp に指定できます。 Azure VM が/mnt に揮発性(一時)ドライブを提供している場合は、ここにキャッシュとしてディレクトリを作成することもできます。

ubuntu@cloud:~$ sudo mkdir -p /mnt/backup/mysite

サイトユーザーがこのディレクトリに書き込むことができるようにするには、そのユーザーにディレクトリを転送する必要があります。

ubuntu@cloud:~$ sudo chown mysite:mysite /mnt/backup/mysite

復元の手順

バックアップの復元は、その作成に使用した Checkmk と同じバージョンで実行する必要があります。 バックアップを使用して、別のタイプの仮想マシン、別のクラウドプロバイダ、またはオンプレミスインストールからクラウドへ(またはその逆)に移動する場合は、最終的なバックアップと移行の前に、必ず Checkmk を利用可能な最高のパッチレベルにアップグレードしてください。

バックアップの復元には、以下の点が適用されます。

  1. ターゲットシステムに、バックアップの作成に使用した Checkmk のバージョンとまったく同じバージョンをインストールしてください。

  2. omd create で、ソースシステムと同じサイト名を使用する監視サイトを作成してください。

  3. バックアップの保存先を指定し、バックアップキーをアップロードします。

  4. 実際の復元を実行してください。

5. Azure の監視

Checkmk は、Azure イメージとしての可用性だけでなく、Azure インフラストラクチャの包括的な監視も提供します。 Checkmk が Azure プロジェクトを初めて導入する場合や、Azure プロジェクトが唯一の場合でも、仮想マシンのパフォーマンス、バックアップ保管場所の状態、発生するコストのレベルを監視する価値は十分にあります。

このページでは