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. AMI として Checkmk へようこそ
Checkmk を長年にわたってご利用のお客様も、Amazon Web Services (AWS) マーケットプレイスで既製のイメージが利用可能になったことで Checkmk を初めてご利用になるお客様も、この記事では、準備済みのAmazon Machine Image (AMI)をお客様のニーズに適した監視システムに設定するために必要なすべてのリソースをご紹介しています。
Checkmk を初めてご利用になる方は、事前にビギナーズガイドをお読みになることをお勧めいたします。 あらかじめ設定された VM イメージを使用すると、インストール中の多くの作業が省略できますが、サイトなどの基本的な概念についてある程度の知識があると、セットアッププロセスがスムーズに進みます。
Checkmk 2.4.0 を含む既製のイメージは、リリース後数週間以内に Marketplace で入手可能になります。 もちろん、これらのイメージは Checkmk 2.3.0 で使用し、インストール後にすぐに2.4.0 にアップデートすることもできます。 イメージが利用可能になり次第、この記事を更新いたします。 |
1.1. 基本
AWS ユーザーの方は、これまで、マーケットプレイスで入手可能な既存の Ubuntu イメージにCheckmk を追加して、「クラウドでの監視」を設定することができました。 Checkmk2.2.0 は、これをさらに一歩進め、必要な依存関係がすべて含まれた Ubuntu 22.04(Jammy Jellyfish) ベースのプリインストールイメージを提供しています。 ここでは、Checkmk Cloud (セルフホスト)のみが使用されます。 これは、最初のサイトを設定すると、30 日間の「トライアル」ライセンス状態で、制限なく使用できます。 トライアル期間が終了しても、サブスクリプションを契約しなくても、Checkmk は 1 つのサイトとして、最大 750 のサービスを監視し続けることができます。 より多くのサービスを監視する必要がある場合、またはより多くのサイトが必要な場合は、ライセンスキーが必要になります。
一般的に、セットアップは、たとえばドッカーイメージよりも少し複雑です。結局のところ、提供されるイメージはさまざまなデプロイシナリオに対応している必要があるからです。
さまざまな規模のサーバーに1 つのサイトを設定
分散監視におけるセントラルサイト
分散監視におけるリモートサイト
本番サイトと、ホスト上でテストを実行するためのサイトからなる混合運用
このため、AM イメージには、実行可能なサイト、電子メール、ファイアウォール設定は含まれていません。
この記事では、セットアップのすべてをご説明します。 追加の背景情報が必要な場合は、ユーザーガイドの詳細記事へのリンクを掲載しています。
2. 準備
RAM、プロセッサ、仮想ハードドライブの寸法決定と同様に、バックアップの保存場所についても検討する必要があります。
Checkmk は Amazon のオブジェクトストアをネイティブでサポートしていますが、バックアップはファイルシステムのパスにも保存できるため、SMB または WebDAV マウントへのバックアップ、あるいはrsync による定期的な転送も可能です。
2.1. SSH キーの作成
AWS は現在、ED25519 および RSA 形式のキーをサポートしています。 仮想マシンに初めてログインする際に、ED25519 キーペアを作成し、VM 作成時にその公開キーをアップロードします。 または、AWS にキーペアの作成を依頼することもできます。 この場合、セキュリティ上の理由から、作成後すぐに秘密キーを保存することを忘れないでください。
2.2. 必要なポートの決定
ホストもプッシュモードで Checkmk サイトにデータを送信する、単一のサイトセットアップの Checkmk 構成では、以下の Checkmk サーバーポートにアクセスできる必要があります。
監視対象のホストから:ポート 80/443(HTTP/HTTPS、エージェント登録時)およびポート 8000(エージェントレシーバー、常時)。
ブラウザおよび REST API による管理の場合:ポート 80/443 (HTTP/HTTPS)
これらのポートの共有は、Standard Security Groups で事前定義されています。 セキュリティを最大限に高めるため、実際に必要な IP アドレスの範囲にアクセスをさらに制限することをお勧めします。
分散監視を設定する場合、またはライブステータスインターフェイスを介してステータス照会を行う場合などには、使用されるすべてのポートの概要をご確認ください。
2.3. マーケットプレイスでのイメージの予約
以下の VM インスタンスは、監視するサービスの数の決定に関する推奨事項です。
| タイプ | CPU コア | RAM (GB) | Checkmk サービス |
|---|---|---|---|
|
4 |
8 |
12,000 |
|
8 |
16 |
30,000 |
|
16 |
32 |
60,000 |
このような寸法計算の基礎は、スペシャル エージェントおよびアクティブチェックによるサービスの約 15 %、およびプッシュモードでエージェントを介して配信される通常のホストあたり 25 以上のサービスです。 特定の状況では、純粋な外形監視(データは主にスペシャルエージェントによって配信される)では、はるかに多くのサービスが可能になります。 プルモードでエージェントを使用する場合、指定したサービスの数は、一貫した最適化によってのみ達成できる場合があります。
ハードディスク容量の寸法は、一般的な Windows および Linux サーバー環境の経験に基づいています。 大量のメトリックを生成するサービスが多い場合は、より多くのストレージ容量が必要になる場合があります。
2.4. バックアップストレージの予約
トラフィックコストが安価であるため、AWS S3 バケットの使用をお勧めします。 必要なストレージ容量の計算については、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 TeamsやSlack などのプラットフォームの通知プラグインを使用する場合、ローカル電子メールシステムを完全に省略することも可能です。
ただし、この設定では一括通知は使用できません。
リレー専用またはフルメール転送エージェント (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 versionUbuntu パッケージ管理を使用して、使用されなくなった Checkmk バージョンをアンインストールすることができます。
ubuntu@cloud:~$ sudo apt purge check-mk-cloud-2.2.0p14. 後処理
4.1. バックアップの設定
Checkmk には、Setup > Maintenance > Backups > Backup targets で設定できる便利なバックアップ機能があります。Add backup target で、保存場所を追加します。 ここでは、データ転送が高速で安価なAWS S3 bucket をDestination として選択することをお勧めします。
認証情報に加えて、アーカイブがオブジェクトストアにコピーされる前に一時的に保存されるフォルダパスも指定する必要があります。
これは、/tmp に指定できます。
AWS インスタンスが揮発性(一時的)ドライブを提供している場合は、これをマウントしてキャッシュとして使用できます。
復元の手順
バックアップの復元は、必ずそのバックアップの作成に使用した Checkmk と同じバージョンで行う必要があります。 バックアップを使用して、別のタイプの仮想マシン、別のクラウドプロバイダ、またはオンプレミスインストールからクラウドへ(またはその逆)に移行する場合は、最終的なバックアップと移行の前に、必ず Checkmk を利用可能な最高のパッチレベルにアップグレードしてください。
バックアップの復元には、以下の点が適用されます。
ターゲットシステムに、バックアップの作成に使用した Checkmk のバージョンとまったく同じバージョンをインストールしてください。
omd createで、ソースシステムと同じサイト名を使用する監視サイトを作成してください。バックアップの保存先を指定し、バックアップキーをアップロードします。
実際の復元を実行してください。
5. AWS の監視
Checkmk は、AMI として可用性を提供するだけでなく、AWS インフラストラクチャの包括的な監視も提供します。 Checkmk が最初の、あるいは唯一の AWS プロジェクトである場合でも、サイトのパフォーマンス、バックアップバケットの状態、発生するコストのレベルを監視する価値は十分にあります。
