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. OMD - オープン・モニタリング・ディストリビューション

Checkmk 監視システムは、オープン・モニタリング・ディストリビューション(OMD)を使用しています。 Mathias Kettner によって設立された OMD は、さまざまなコンポーネントで構成される監視ソリューションの、ユーザーフレンドリーで柔軟なインストールを中心としたオープンソースプロジェクトです。 OMD という略語は、RPM/DEB パッケージのインストールで既にご存じかもしれません。

OMD ベースのインストールには、いくつかの特徴があります。

  • 複数の監視サイトを並行して実行できる

  • 異なるバージョンの監視ソフトウェアでサイトを運用できる

  • ソフトウェアをアップデートするためのインテリジェントで便利なメカニズム

  • Linux プラットフォームのインストールに関係なく、ファイルパスが統一されています

  • データソフトウェアの明確な分離

  • 非常に簡単なインストール − サードパーティのソフトウェアに依存しません

  • すべてのコンポーネントの完璧な事前設定

OMD は、omd コマンド、より正確には、監視サイトの管理に使用されるさまざまなアクション用のomd コマンドのセットを使用して、コマンドラインで管理されます。たとえば、omd create はサイトを作成するためのコマンドです。 この記事では、最も重要なomd コマンドについて説明します。

最初のコマンドはomd help で、使用可能なomd コマンドの概要を表示します。 これらのコマンドのヘルプは、コマンドの後に--help オプションを追加することで表示できます。例:omd create --helphelp の前の2つのダッシュは重要です。これがないと、omd create help によって、help という名前の最初のサイトがすでに作成されてしまいます。

2. サイトの作成

OMD の最大のメリットは、1 台のサーバーで任意の数の監視サイトを同時に管理できることです。 各サイトは、他のサイトとは独立して動作する自己完結型の監視システムです。

サイトには、作成時に指定した固有の名前が付けられます。 この名前は、同時に作成される Linux ユーザー名と同じです。 サイトの名前は、Linux のユーザー名規則に基づいています。 サイト名の最初の文字は文字で、それ以外の文字は文字、数字、およびアンダースコアを使用できます。 最大長は 16 文字です。

作成は、omd create コマンドで実行します。 このコマンドは、root ユーザーとして実行する必要があります。

root@linux# omd create 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 nagios)...
Precompiling host checks...OK
Executing post-create script "01_create-sample-config.py"...OK
Restarting Apache...OK
Created new site mysite with version 2.1.0p17.cre.

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

  The admin user for the web applications is cmkadmin with password: YzxfoFZh
  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'.

cmkadmin ユーザーを作成すると、パスワードがランダムに生成され、発行されます。

mysite という名前のサイトを作成すると、どのような処理が行われますか?

  • オペレーティングシステムのユーザーmysite およびグループmysite が作成されます。

  • 新しいホームディレクトリ/omd/sites/mysite が作成され、割り当てられます。 このディレクトリは、サイトディレクトリとも呼ばれます。

  • このホームディレクトリには、設定ファイルとサブディレクトリが格納されます。

  • 新しいサイト用の基本設定が作成されます。

注:サーバー上で「通常の」ユーザー名としてすでに割り当てられている名前を使用して、新しいサイトを作成することはできません。

2.1. ユーザー ID およびグループ ID

場合によっては、作成する新しいユーザーのユーザー ID/グループ ID を指定することも望ましいでしょう。 これは、-u および-g オプションを使用して行います。

root@linux# omd create -u 6100 -g 180 mysite

その他のオプションの概要は、omd create --help で表示できます。 最も重要なオプションは次のとおりです。

-u UID

新しいユーザーは、ユーザー IDUID で作成されます。

-g GID

新しいユーザーのグループは、グループ IDGID で作成されます。

--admin-password mypassword

新しいユーザーは、ランダムに生成されたパスワードではなく、mypasswordというパスワードで作成されます。

--reuse

OMD は、新しいユーザーがすでに存在すると想定し、作成はしません。このユーザーのホームディレクトリは、/omd/sites/ 以下に存在し、空である必要があります。

-t SIZE

新しいサイトの一時ファイルシステムは、SIZE の値で作成されます。SIZE には、M (メガバイト)、G (ギガバイト)、% (RAM の割合) の接尾辞が付きます。例:-t 4G

2.2. 外部サイトディレクトリ

デフォルトでは、新しいサイトのホームディレクトリは/omd/sites/ に作成され、デフォルトのファイルが格納されます。 ただし、この場所に外部ボリュームをマウントする場合など、空のホームディレクトリを作成することもできます。 これは、--no-init オプションを使用して行います。

root@linux# omd create --no-init mysite

このオプションは、システム Apache との統合も省略し、/omd/apache/mysite.conf を空のままにします。 その後、任意のディレクトリまたはボリュームをマウントして、セットアップを続行できます。

root@linux# omd init mysite

omd init は、省略された 2 つのステップを実行し、デフォルトファイルを追加して Apache 設定を作成します。

3. サイトユーザー

omd コマンドは、root ユーザーまたはサイトユーザーとして実行できます。root では、さらに多くの可能性があります。 たとえば、root だけがサイトを作成できます。これは、ユーザーを作成する前に、まずサイトを作成しなければならないため、当然のことと言えます。root では、既存のすべてのサイトに同時に適用されるコマンドを実行できるため、omd コマンドには、対象とするサイトの名前を含める必要があります。

新しいサイトを作成したら、その他のomd コマンドは、そのサイトユーザーとしてのみ実行してください。 サイトユーザーは、そのサイトに影響するすべての重要な操作を実行できます。

ユーザーを切り替えるには、su を使用します。

root@linux# su - mysite

su の後にマイナス記号を付けることが重要です。 これにより、ユーザーを切り替えた場合でも、通常のログイン時に行われるすべての操作が確実に実行されます。 特に、すべての環境変数が正しく設定され、/omd/sites/mysite サイトディレクトリでmysite としてセッションが開始されます。

OMD[mysite]:~$

サイトユーザーとしてログインしたら、通常、omd コマンドにサイト名を含める必要はありません。このコマンドは、ログインしているサイトのみに適用されるからです。

Checkmk サーバーに複数の Checkmk バージョンがインストールされている場合、対応する OMD バージョンもそれぞれのバージョンとともにインストールされます。 これにより、時間の経過とともにソフトウェアのバージョンが長いリストになります。omd コマンドはバージョンによって異なる場合があるため、現在使用している OMD バージョンを把握しておくと便利な場合があります。

  • サイトユーザーは、サイトに現在インストールされている Checkmk バージョンのomd コマンドを常に使用します。このバージョンは、omd version で表示できます。

  • root ユーザーとしては、サイト作成時に使用されたデフォルトバージョンのコマンドを実行します。これは通常、サーバーにインストールされている最新バージョンです。 デフォルトバージョンは、omd version で表示し、omd setversion で変更できます。

4. サイトの起動と停止

これで、サイトを開始できる状態になりました。これは、rootomd start mysite で実行できます。 ただし、サイトユーザーとしてサイトを使用することをお勧めします。

OMD[mysite]:~$ omd start
Creating temporary filesystem /omd/sites/mysite/tmp...OK
Starting agent-receiver...OK
Starting mkeventd...OK
Starting rrdcached...OK
Starting npcd...OK
Starting nagios...OK
Starting apache...OK
Starting redis...OK
Initializing Crontab...OK

当然ながら、停止はomd stop で実行します:

OMD[mysite]:~$ omd stop
Removing Crontab...OK
Stopping redis...killing 484382...OK
Stopping apache...killing 484371...OK
Stopping nagios...OK
Stopping npcd...OK
Stopping rrdcached...waiting for termination...OK
Stopping mkeventd...killing 484279...OK
Stopping agent-receiver...killing 484267...OK
Stopping 1 remaining site processes...OK

サイトの起動および停止は、サービスのコレクションの起動および停止に他なりません。 これらは、サービスの名前を指定することで個別に管理することもできます。

OMD[mysite]:~$ omd start apache
Temporary filesystem already mounted
Starting apache...OK

さまざまなサービスの名前は、~/etc/init.d ディレクトリで確認できます。 パス名の先頭に付いているチルダ(~) は、サイトユーザーのホームディレクトリ (サイトディレクトリ) を表しています。~/etc/init.d/etc/init.d は別のディレクトリです。

start およびstop のほかに、omd コマンドrestartreloadstatus もあります。 たとえば、Apache の設定を手動で変更した場合は、必ず Apache を再起動する必要があります。

OMD[mysite]:~$ omd reload apache
Reloading apache

これは、グローバルな Linux サーバーの Apache プロセスには適用されず、サイト専用の Apache プロセスにのみ適用されることにご注意ください。

すべての起動および停止後のサイトの状態の概要を把握するには、omd status を使用してください。

OMD[mysite]:~$ omd status
agent-receiver: stopped
mkeventd:       stopped
rrdcached:      stopped
npcd:           stopped
nagios:         stopped
apache:         running
redis:          stopped
crontab:        stopped
-----------------------
Overall state:  partially running

5. コンポーネントの設定

すでに述べたように、OMD は複数のソフトウェアコンポーネントを監視システムに統合しています。 その際、一部のコンポーネントはオプションであり、一部には代替品や異なる動作設定があります。 これらはすべて、omd config コマンドで簡単に設定できます。 また、対話モードとスクリプトモードもあります。

5.1. インタラクティブ設定

サイトユーザーは、次のように入力するだけで対話モードを呼び出すことができます。

OMD[mysite]:~$ omd config
Main menu of `omd config`.
omd config メニューでは、カーソルと Enter キーを使用して移動します。

サイトの実行中に設定を変更すると、OMD は、まずサイトを停止する必要があることを通知し、必要に応じてその操作を行います。

Hint when changing a setting while the site is running.
設定は、サイトが実行されていない場合にのみ変更できます。

作業が完了したら、サイトを再起動することを忘れないでください。omd config は、この操作を自動的に実行しません

5.2. スクリプトモードによる設定

対話モードが嫌いだ、あるいはスクリプトを使って作業したい場合は、コマンドラインから個々の設定を変数として設定することができます。 このためには、omd config set コマンドがあります。 次の例では、AUTOSTART 変数をoff に設定しています。

OMD[mysite]:~$ omd config set AUTOSTART off

サイトの名前を引数として追加すると、root として実行することもできます。

root@linux# omd config mysite set AUTOSTART off

すべての変数の現在の割り当ては、コマンドomd config mysite show ではroot 、サイトユーザーではomd config show と表示されます。

OMD[mysite]:~$ omd config show
ADMIN_MAIL:
AGENT_RECEIVER: on
AGENT_RECEIVER_PORT: 8005
APACHE_MODE: own
APACHE_TCP_ADDR: 127.0.0.1
APACHE_TCP_PORT: 5008
AUTOSTART: off
[...]

上記のコマンド出力は、わかりやすくするために省略されており、最初のエントリのみが表示されています。

5.3. よく使用される設定

omd config には数多くの設定があります。 最も重要なものは次のとおりです:

変数 デフォルト 意味

AUTOSTART

on

コンピュータの起動時にサイトが自動的に起動しないようにするには、これを「off 」に設定してください。これは、通常、自動的に起動すべきではないテストインストールの場合に主に有用です。

CORE

nagios (Checkmk Raw),
cmc (商業版)

監視コアの選択。商業版では、Checkmk マイクロコア (CMC) の代わりに Nagios コアを選択することができます。Checkmk Rawの監視コアはnagios のみです。

MKEVENTD

on

syslog メッセージ、SNMP トラップ、その他のイベントを処理できるイベントコンソールを有効にします。

LIVESTATUS_TCP

off

このサイトのステータスデータへの外部アクセスを許可します。これは、分散監視の設定に使用できます。この (リモート) サイトのステータスは、セントラルサイトに組み込むことができます。この設定は、セキュリティが確保されたネットワークでのみ有効にしてください。

注:これらの変数は、インタラクティブモードでも同じ名前で確認できます。

6. サイトのコピーおよび名前の変更

6.1. サイトのコピー

テストや更新の準備のために、サイトのコピーを作成すると便利な場合があります。 もちろん、/omd/sites/mysite_old ディレクトリを/omd/sites/mysite_new にコピーするだけで済みます。 しかし、これは期待どおりに機能しません。その理由は次のとおりです。

  • 多くの設定ファイルにはサイト名が含まれている

  • /omd/sites/mysite_old で始まる絶対パスが複数の場所で使用されている

  • そして、最も重要なことは、オペレーティングシステムレベルでは、サイト所有者でありデフォルトではサイトと同じ名前を持つユーザーとその関連グループが存在しなければならないことです

サイトのコピーを簡略化するために、これらすべてを考慮したomd cp コマンドがあります。 このコマンドをroot として実行し、既存のサイトの名前と新しいサイトの名前を入力してください。 例:

root@linux# omd cp mysite_old mysite_new

コピーが機能するには、次の条件が満たされている必要があります:

  • サイトが停止している

  • サイトユーザーに属するプロセスが実行されていない

この 2 つの条件により、コピー時にサイトが一致した状態であり、操作中に変更されないことが保証されます。

6.2. 構成の移行

OMD は、もともと、omd createを使用してサイトの作成時に実際に作成され、サイトの ID ($OMD_SITE) を含むファイルのみをハンドルすることができました。 これらのファイルは、次のコマンドを使用して、サイトディレクトリ~/etc で確認できます。

OMD[mysite]:~$ grep -r $OMD_SITE etc

以前は、OMD は、Checkmk サイトでの作業によって後で作成された設定ファイル(後で追加されたホストの設定など)については何もできませんでした。 純粋に技術的な観点からは、この動作は OMD の範囲に完全に一致しています。 しかし、ほとんどのユーザーは、omd cp によって、独自の監視設定を含め、引き続き生産的に使用できるまったく新しいサイトが作成されることを期待しています。

Checkmk バージョン2.1.0 以降、OMD は Checkmk 構成の最も重要なエレメントもカスタマイズできるようになりました。 なお、何も操作を行う必要はありません。以下で説明する移行はすべて自動的に行われます。

典型的な例: ホストのプロパティで、Monitored on site 属性を使用して、このホストを監視するサイトを、たとえばmysite_old のように手動で指定することができます。omd cp mysite_old mysite_new を実行すると、値はmysite_new にそれに応じて変更されます。 (以前は、この手順を実行すると、Unknown site (mysite_old) というエントリが作成されていました)。

この移行の実際の技術的な実装は、次のとおりです。 OMD はサイト ID の変更を検出し、post-rename-site -v -o mysite_new コマンドを実行します。 その後、個々の移行ステップは、いわゆるリネームアクションプラグインによって完全に自動的に処理されます。 このプラグインは、Git リポジトリの cmk/post_rename_site/plugins/actions にあります。

移行には、自動的に移行できない項目に関する通知も含まれます。

具体的な例を挙げます。 分散監視を使用しており、セントラルサイトとリモートサイトの両方の名前を変更します。

セントラルサイト: sites.py プラグインは、これがセントラルサイトであることを検出し、Setup > General > Distributed Monitoring のローカルサイトの接続設定にあるURL prefix 値などを更新します。

リモートサイト: warn_remote_site.py プラグインは、これがリモートサイトであることを認識し、それに応じて、セントラルサイトをチェックし、必要に応じて手動でカスタマイズする必要があることを示します。 これは、セントラルサイトの分散監視設定で、リモートサイトの新しい名前を、名前を変更したリモートサイトへの接続設定に入力する必要があることを意味します。もちろん、OMD はリモートコンピュータからこの操作を行うことはできません。

OMD 自体が、ターミナルに手順全体の詳細を表示します。 ここでは、セントラルサイトの名前を変更したときの、omd cp 出力からの移行メッセージの例を、成功メッセージ警告メッセージに分けて表示しています。 処理されたrename action plugins には、個別に番号が付けられています。 まず、自動的に実行された移行タスクの出力(ここでは短縮)が表示されます。

...
Executing post-cp script "01_cmk-post-rename-site"...
-|  1/6 Distributed monitoring configuration...
-|  2/6 Hosts and folders...
-|  3/6 Update core config...
...

出力の2番目の部分には、手動で設定する必要がある可能性のある設定に関するヒントが含まれています(ここでは大幅に省略されています):

...
-|  4/6 Warn about renamed remote site...
-|  5/6 Warn about new network ports...
-|  6/6 Warn about configurations to review...
...

Warn about configurations to review…​ 項目には、ビューのハードコードされたフィルタなど、移行中に通常手動で確認する必要がある個々の側面に関する一般的な注意事項が含まれています。

...
-| Parts of the site configuration cannot be migrated automatically. The following
-| parts of the configuration may have to be reviewed and adjusted manually:
-|
-| - Custom bookmarks (in users bookmark lists)
-| - Hard coded site filters in custom dashboards, views, reports
-| - Path in rrdcached journal files
-| - NagVis maps or custom NagVis backend settings
-| - Notification rule "site" conditions
-| - Event Console rule "site" conditions
-| - "site" field in "Agent updater (Linux, Windows, Solaris)" rules (CEE/CME only)
-| - Alert handler rule "site" conditions (CEE/CME only)
-|
-| Done

現在アクティブな 6 つのプラグインの概要は次のとおりです。順は上記の出力の番号に対応しています。

プラグイン 機能

sites.py

さまざまな設定ファイルでサイト ID を変更します。

hosts_and_folders.py

ホストおよびフォルダプロパティのサイト属性を変更します。

update_core_config.py

コア設定 (cmk -U) を更新します。

warn_remote_site.py

リモートサイト名を変更すると警告を表示します。

warn_changed_ports.py

複数のポートに関する問題の通知。

warn_about_not_migrated_configs.py

手動でチェックすべきエレメントに関する一般的なヒントです。

6.3. データ量の制限

サイトを使用して多数のホストを監視している場合、コピーするデータ量は非常に多くなる可能性があります。 その大部分は、ラウンドロビンデータベース(RRD)に保存されている測定値によって生成されます。 しかし、履歴イベントを含むログファイルも、データ量を増加させる要因となります。

ヒストリーが必要ない場合 (たとえば、何かをすばやくテストしたい場合など)、コピーから省略することができます。 このような場合、omd cp に以下のオプションを追加することができます。

--no-rrds

RRD を含まないサイトをコピーします。

--no-logs

ログファイルおよびその他の履歴データを含まないサイトをコピーします。

-N

両方を行います:-N は、--no-rrds --nologs の略語です。

オプションの順序は重要です:

root@linux# omd cp --no-rrds mysite_old mysite_new

6.4. サイトの名前変更

サイトの名前変更は、omd mv コマンドで実行します。 これは、サイトのコピーと同様に行われ、同じ前提条件があり、設定の移行も含まれます。 データは別のディレクトリに移動されるだけで複製はされないため、データ量を制限するオプションは使用できません。

例:

root@linux# omd mv mysite_old mysite_new

omd mv を使用してサイト名を変更すると、サイト名は変更されますが、サイトIDを含む一部のサイト属性は変更されません。 したがって、このコマンドは、分散監視において、バックアップによって複製されたサイトと、その元のバージョンを同時に運用するには適していませんomd mv を実行した後、関連するサイトの名前が変更された場合でも同様です。

6.5. その他のオプション

サイトの作成と同様に、コピーおよび名前変更を行うと、新しい Linux ユーザーが作成されます。 したがって、omd cp およびomd mv には、omd create と同じオプションの一部 (ユーザー ID およびグループ ID を指定するオプションなど) があります。 詳細については、omd cp --help およびomd mv --help コマンドを使用してください。

7. 設定ファイルの変更を表示する

サイトを作成するとomd create コマンドによって、~/etc ディレクトリに多数の定義済み設定ファイルが作成されます。 また、~/var および~/local にも、いくつかのディレクトリが作成されます。

おそらく、時間の経過とともに、多くのファイルがカスタマイズされるでしょう。 しばらくして、元の状態ではないファイルを確認したい場合は、omd diff コマンドを使用します。 このコマンドは、Checkmk のアップデート前に、変更内容がデフォルトファイルの変更と矛盾する可能性がある場合に、特に役立ちます。

引数なしで呼び出すと、現在のディレクトリ以下の変更されたすべてのファイルがリストされます。

OMD[mysite]:~$ omd diff
 * Changed content var/check_mk/wato/auth/auth.php
 ! Changed permissions var/check_mk/wato/auth/auth.php
 * Changed content etc/htpasswd
 * Changed content etc/diskspace.conf
 ! Changed permissions etc/diskspace.conf
 * Changed content etc/auth.secret
 * Changed content etc/mk-livestatus/xinetd.conf
 * Changed content etc/omd/allocated_ports
 * Changed content etc/apache/apache.conf
 * Deleted etc/apache/apache-own.conf

特定のディレクトリを指定してクエリを入力することもできます。

OMD[mysite]:~$ omd diff etc/apache
 * Changed content etc/apache/apache.conf
 * Deleted etc/apache/apache-own.conf

変更の詳細を確認したい場合は、ファイルへのパスを入力してください。

OMD[mysite]:~$ omd diff etc/apache/apache.conf
74,75c74,75
< ServerLimit 64
< MaxClients 64
---
> ServerLimit 128
> MaxClients 128

8. サイトの更新

omd update コマンドは、サイトにインストールされている監視ソフトウェアを新しいバージョンに更新するために使用します。 この操作の詳細については、「Checkmk の更新」の記事で説明しています。 ソフトウェアの更新に関連するその他の便利なomd コマンドも、例として紹介しています。

  • omd versions インストールされているすべてのソフトウェアのバージョンをリスト表示するコマンド

  • omd sites インストールされているすべてのサイトと、そのサイトにインストールされているバージョンをリスト表示します。

  • omd version サイト作成時に使用されるデフォルトバージョンを表示する

  • omd setversion デフォルトバージョンを異なるバージョンに設定する。

ちなみに、omd update は、Checkmk Raw から Checkmk Enterprise など、別のエディションへのアップグレードにも使用されます

9. サイトのバックアップと復元

9.1. バックアップの作成

Checkmk のサイト管理には、Checkmk サイトをバックアップおよび復元するためのビルトインメカニズムがあります。omd backup およびomd restore コマンドは、サイトのすべてのデータを tar アーカイブに圧縮し、復元のためにそのデータを抽出するための基本コマンドです。

注:Checkmk では、コマンドラインを使用せずに、Setup > Maintenance > Backups の GUI からバックアップおよび復元を実行することもできます。 ここでは、暗号化されたバックアップやスケジュールされたバックアップジョブも作成できます。 その方法については、「バックアップ」の記事をご覧ください。

omd backup を使用してサイトをバックアップするには、root の許可は必要ありません。 サイトユーザーでも実行できます。 作成するバックアップファイルの名前を引数として入力するだけです。

OMD[mysite]:~$ omd backup /tmp/mysite.tar.gz

注意:

  • 作成されるファイルの形式は gzip 圧縮された tar アーカイブです。したがって、ファイル拡張子として.tar.gz または.tgz を使用してください。

  • バックアップはサイトディレクトリには保存しないでください。サイトディレクトリは当然完全にバックアップされるため、その後のバックアップには、それ以前のすべてのバックアップのコピーが含まれてしまいます。

  • サイトユーザーとしてバックアップを作成した場合、サイトユーザーとそのグループのみが tar アーカイブの読み取りおよび書き込みアクセス権を取得します。

バックアップのターゲットディレクトリがサイトユーザーに対して書き込み可能でない場合は、root としてバックアップを行うこともできます。 この場合、いつものように、バックアップするサイト名を指定する追加の引数が必要です。

root@linux# omd backup mysite /var/backups/mysite.tar.gz

バックアップには、~/tmp/ にある揮発性データを除く、サイトのすべてのデータが含まれます。tar tzf コマンドを使用すると、ファイルの内容を簡単に確認できます。

OMD[mysite]:~$ tar tvzf /tmp/mysite.tar.gz  | less
lrwxrwxrwx mysite/mysite     0 2022-07-25 11:59 mysite/version -> ../../versions/2.1.0p8.cre
drwxr-xr-x mysite/mysite     0 2022-07-25 17:25 mysite/
-rw------- mysite/mysite   370 2022-07-26 17:09 mysite/.bash_history
-rw-r--r-- mysite/mysite  1091 2022-07-25 11:59 mysite/.bashrc
-rw-r--r-- mysite/mysite    63 2022-07-25 11:59 mysite/.modulebuildrc
-rw-r--r-- mysite/mysite  2066 2022-07-25 11:59 mysite/.profile
drwxr-xr-x mysite/mysite     0 2022-07-25 11:59 mysite/.version_meta/
drwxr-xr-x mysite/mysite     0 2022-07-20 11:40 mysite/.version_meta/skel/
-rw-r--r-- mysite/mysite  1091 2022-06-26 02:03 mysite/.version_meta/skel/.bashrc
-rw-r--r-- mysite/mysite    52 2022-07-20 09:02 mysite/.version_meta/skel/.modulebuildrc
-rw-r--r-- mysite/mysite  2055 2022-06-26 02:03 mysite/.version_meta/skel/.profile
drwxr-xr-x mysite/mysite     0 2022-07-20 11:40 mysite/.version_meta/skel/etc/
drwxr-xr-x mysite/mysite     0 2022-07-20 11:40 mysite/.version_meta/skel/etc/apache/
-rw-r--r-- mysite/mysite  1524 2022-06-26 02:03 mysite/.version_meta/skel/etc/apache/apache-own.conf

9.2. ヒストリーなしのバックアップ

サイトバックアップ中に移動されるデータの大部分は、測定値と履歴イベントを含むログファイルです。 これは、サイトのコピー時と同様に、バックアップ時にも当てはまります。 これらのデータが絶対に必要でない場合は、省略することでバックアップの速度を大幅に高速化し、出力ファイルのサイズを大幅に縮小することができます。

omd backup には、コピー時にomd cp と同じ、このデータを省略するオプションがあります。 次の例では、測定データとログファイルに保存されている履歴を省略してバックアップを作成しています。

OMD[mysite]:~$ omd backup -N /tmp/mysite.tar.gz

9.3. 実行中のサイトのバックアップ

実行中のサイトからバックアップを作成することもできます。 測定データの記録に使用されるラウンドロビンデータベース(RRD)の状態の一貫性を確保するため、omd backup コマンドは、ラウンドロビンキャッシュを、実行中の更新はジャーナルにのみ書き込まれ、RRD には書き込まれないモードに自動的に変更します。 ジャーナルファイルは最後にバックアップされます。これにより、バックアップ中に生成された測定データが、バックアップにできるだけ多く含まれるようになります。

9.4. 復元

バックアップの復元は、バックアップの作成と同じくらい簡単です。omd restore コマンドは、バックアップからサイトを復元します。 したがって、復元を機能させるには、同じバージョンがサーバーにインストールされている必要があります。

サイトは完全に空になり、再構築されます。omd restore を実行する前に、サイトを停止し、その後再起動する必要があります。

OMD[mysite]:~$ omd stop
OMD[mysite]:~$ omd restore /tmp/mysite.tar.gz
OMD[mysite]:~$ omd start

復元は、root ユーザーによっても実行できます。 サイトユーザーによって呼び出された場合とは異なり、サイトはバックアップから再作成されます

したがって、同じ名前のサイトが残っている場合は、復元する前にそのサイトを削除する必要があります。 これは、omd rm を使用するか、omd restore--reuse オプションを指定して実行できます。--kill を指定すると、復元を実行する前に、既存のサイトが確実に停止されます。 サイト名はバックアップに含まれているため、コマンドで指定する必要はありません。

root@linux# omd restore --reuse --kill /var/backup/mysite.tar.gz
root@linux# omd start mysite

root と指定すると、バックアップとは異なる名前でサイトを復元することもできます。 これを行うには、restore の後に、希望する名前を引数として指定します。

root@linux# omd restore mysite2 /var/backup/mysite.tar.gz
Restoring site mysite2 from /tmp/mysite.tar.gz...
 * Converted ./.modulebuildrc
 * Converted ./.profile
 * Converted etc/xinetd.conf
 * Converted etc/logrotate.conf

ここで実行される一連の変換は、前述のサイトのコピーおよび名前の変更と同じ機能を持っています。 サイト名は多数の構成ファイルに含まれているため、この手順を実行すると、そのようなサイト名はすべて自動的に新しい名前に置き換えられます。

9.5. ライブバックアップと別のサーバーへの復元

omd backup およびomd restore コマンドは、昔ながらの Unix の伝統に従って、ファイルではなく標準入力/出力でも動作します。 tar ファイルのパスの代わりに、ハイフン (-)を入力します。

こうすることで、パイプを構築し、中間ファイルを使用せずにデータを別のコンピュータに直接「ストリーミング」することができます。 バックアップのサイズが大きいほど、バックアップ先のサーバーのファイルシステムに一時的なスペースを必要としないため、この方法の利点が高まります。

次のコマンドは、SSH を使用してサイトを別のコンピュータにバックアップします。

root@linux# omd backup mysite - | ssh user@otherserver "cat > /var/backup/mysite.tar.gz"

SSH アクセスを逆にして、バックアップサーバーから Checkmk サイトに接続したい場合は、次の例のようにすることもできます。 そのためには、まずサイトユーザーとして SSH ログインを許可する必要があります。

root@otherserver# ssh mysite@checkmkserver "omd backup -" > /var/backup/mysite.tar.gz

上記の操作と、標準入力からデータを読み込むomd restore を巧みに組み合わせると、1 つのサーバーから別のサーバーに、実行中のサイト全体をコピーすることができます。 バックアップファイル用の追加のスペースは必要ありません。

root@otherserver# ssh mysite@checkmkserver "omd backup -" | omd restore -

次に、SSHアクセスを逆にして、ソースシステムからターゲットシステムへ同じ操作を行います:

root@linux# omd backup mysite - | ssh user@otherserver "omd restore -"

10. サイトを使用不能にする

OMD はサイトを無効にすることができます。 コマンドomd disable --kill mysite を、root として実行すると、次のようになります。

  1. サイトmysite が停止されます。

  2. tmpfs にアクセスしているプロセスが停止します。

  3. tmpfs がアンマウントされます。

  4. /omd/apache/mysite.conf ファイルがフラッシュされます。

  5. Apache が再起動されます。

この状態では、サイトのホームディレクトリ (ここでは/omd/sites/mysite) は、どのプロセスからも参照されなくなります。 これはホームディレクトリを別のノードに移動できるクラスタで特に実用的です

11. サイトの削除

サイトの削除は、作成と同じくらい簡単です。omd rm コマンドroot を使用します。 まず、サイトが自動的に停止されます。

root@linux# omd rm mysite
PLEASE NOTE: This action removes all configuration files
             and variable data of the site.

In detail the following steps will be done:
- Stop all processes of the site
- Unmount tmpfs of the site
- Remove tmpfs of the site from fstab
- Remove the system user <SITENAME>
- Remove the system group <SITENAME>
- Remove the site home directory
- Restart the system wide apache daemon
 (yes/NO): yes

注意:この操作により、そのサイトのすべてのデータが削除されます。

確認ダイアログが表示されないようにしたい場合や、スクリプトの一部として削除を実行したい場合は、-f オプションを使用して削除を強制することができます。

注意:ここで、-frmの前に配置する必要があります。

root@linux# omd -f rm mysite

12. 使用していないバージョンをアンインストールします。

Checkmk は複数のバージョンを同時にインストールできるため、インスタンスで実際に使用されているバージョンがすべてではない場合があります。 OMD は、cleanup コマンドを使用して、使用されていないバージョンをアンインストールできます。

root@linux# omd cleanup
1.6.0p28.cee         In use (by mysite_old). Keeping this version.
2.1.0p15.cee         Uninstalling
2.1.0p15.cme         Uninstalling
2.1.0p15.cre         In use (by mysite_raw). Keeping this version.
2.1.0p19.cme         Keeping this version, since it is the default.
2022.12.14.cee       In use (by mysite). Keeping this version.

OMD は、使用中のバージョンに加えてデフォルトのバージョンも保持します。手動で別設定を行わない限り、最後にインストールされた Checkmk のバージョン、ここでは2.1.0p19.cme がデフォルトのバージョンとなります。

13. ファイルとディレクトリ

パス 説明

/omd/sites/mysite

サイトmysite のサイトディレクトリです。

~/etc/

このディレクトリには、サイトの設定ファイルが保存されています。

このページでは