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. Nagios から CMC への移行

商業版では、Checkmk マイクロコア (CMC)をコアとして新しいサイトが自動的に作成されます。 サイトが古いバージョンから移行した場合は、Nagios から CMC に遡って変換することができます。 手順は非常に簡単です。

まず、Checkmk サイトを停止します。

OMD[mysite]:~$ omd stop

次に、変換します:

OMD[mysite]:~$ omd config set CORE cmc

その後、再起動を忘れないでください:

OMD[mysite]:~$ omd start

注意:コアの現在のステータス(ホストやサービスの現在の状態など)は引き継がれません。 いずれの場合も、新しい設定で各チェックが実行されると、システムのステータスは新たに決定されます。UP 、またはOK ステータスではないホストまたはサービスは、新しい通知をトリガーします。 これを望まない場合は、変換前にサイドバーのマスターコントロールスナップインを使用して通知を無効にしてください。 ただし、スケジュールされたダウンタイムとコメント、およびRRD 内の履歴パフォーマンスデータは引き継がれます。

イベントヒストリー (Nagios-Log) は、CMC によって互換性のある形式で保持されますが、場所は異なります (var/check_mk/core/history)。 ログアーカイブは、var/check_mk/core/archive にあります。 イベントヒストリー (可用性など) を引き継ぐ場合は、コマンドラインを使用して必要なファイルをコピーしてください。

OMD[mysite]:~$ cp var/nagios/nagios.log var/check_mk/core/history
OMD[mysite]:~$ mkdir -p var/check_mk/core/archive && [[ -e var/nagios/archive/ ]] && cp var/nagios/archive/ var/check_mk/core/archive

1.1. CMC から Nagios に戻す

設定が CMC と互換性がないことが判明した場合(以下のヒントを参照)、上記の手順と同様の方法で Nagios に戻すことができます:

OMD[mysite]:~$ omd config set CORE nagios

CMC から Nagios へ、スケジュールダウンタイムなどを引き継ぐことはできません。 ただし、Nagios は CMC への移行前の古い状態をインポートします。

2. CMC への移行に関するヒント

CMC をできるだけスリムで効率的に保ち、いくつかの重要なコンポーネントを最新化するため、Nagios のすべての機能が 1 対 1 で書き換えられたわけではありません。 そのため、設定の一部のエレメントを変更する必要がある場合があります。

CMC は、基本的に Nagios 設定ファイルをインポートすることはできません。 ただし、Nagios データの一部を手作業で記述した場合、またはmain.mk ファイルでextra_nagios_conf などの構文を使用した場合、これらは処理できません。 これまで web インターフェイスのセットアップを使用して作業を行ってきた場合は、変更は必要ありません。

以下のセクションでは、Nagios で手動で設定できたが、CMC では実現できない (または別の手順が必要な) すべての項目について概要を説明します。

2.1. 補助プロセス

CMC を使用すると、データの収集およびその後のチェックの方法が根本的に変わります。 そのため、CMC に切り替える場合、特に数千のホストを含むインスタンスでは、あらかじめ設定されている Checkmk チェッカーおよびフェッチャーの数をチェックして調整する必要があるでしょう。 設定の分析機能を使用すると、その必要性を最初に確認することができます。 ただし、マニュアルの「補助プロセス」の章を必ずお読みになることを強くお勧めします。

急いでいる方向けに:

  • Maximum concurrent Checkmk checkers = サーバーのプロセッサコア数

  • Maximum concurrent Checkmk fetchers = 各フェッチャーには約50 MB のメモリが必要です。必要に応じて、メモリを増設してください。

2.2. イベントハンドラ

CMC は、従来の Nagios イベントハンドラーをサポートしていません。 ただし、商業版には、この機能のための、より柔軟性の高い、いわゆるアラートハンドラーが搭載されています。 これらは、Setup > Events > Alert handlers で設定できます。

2.3. サービスの依存関係

これは現在、CMC ではサポートされていません。 サービス依存関係は Nagios で設定するのが面倒であり、ユーザーにとってあまり透明性が高くないため、このフォームで実装する予定はございません。

2.4. イベントブローカーモジュール

ライブステータスおよびパフォーマンスデータの処理は、CMC に不可欠です。 他のモジュールはロードできません。

2.5. エスカレーション

通知のエスカレーションは、コアでは行われなくなり、ルールベースの通知によって行われます。

2.6. 期間

期間については、Nagios でサポートされている例外条件の一部は使用できません。 現在、YYY-MM-DD (例:1970-12-18 )の形式のみサポートされており、february -2 のような形式はサポートされていません。 ただし、Setup > General > Time periods を使用すると、iCal 形式のカレンダーファイルをインポートすることができます。

2.7. 設定変数 legacy_checks

旧バージョンの Checkmk でアクティブチェックの設定に使用されていた設定変数legacy_checks は、新しいバージョンでは存在しません。 CMC を使用してアクティブチェックを実行することはもちろん可能ですが、フォームが多少異なります。

その理由は、legacy_checks は Nagios 設定で手動で定義されたコマンドを参照しており、その結果、CMC では使用できないためです。 その代わりに、より新しいcustom_checks を使用できます。 これらは、Setup > Services > Other servicesにあるIntegrate Nagios plugins ルールセットで管理します。ちなみに、これらは CMC を使用せずに使用することもできます。

次の例は、既存のレガシーチェックを変更する方法を示しています。

main.mk(旧形式)
# Definition of the Nagios command
extra_nagios_conf += r"""

define command {
    command_name    check-my-foo
    command_line    $USER1$/check_foo -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$
}
"""

# Create service definition
legacy_checks += [
  (( "check-my-foo!20!40", "FOO", True), [ "foohost", "othertag" ], ALL_HOSTS ),
]

…新しい形式のcustom_checks に:

main.mk (新しい形式)
custom_checks += [
  ({
      'command_name':        'check-my-foo',
      'service_description': 'FOO',
      'command_line':        'check_foo -H $HOSTADDRESS$ -w 20 -c 40',
      'has_perfdata':        True,
  },
  [ "foohost", "othertag" ],
  ALL_HOSTS )]

新しい方法も Nagios コアで機能するため、変換後も両方のコアを問題なく切り替えられます。

2.8. ホストチェックからのパフォーマンスデータ

CMC は、ホストチェックの標準としてSmart Pingを利用しています。 つまり、Nagios コアから切り替えを行った場合、

  • ホストチェックでは、最初はパフォーマンスデータは提供されません。

  • 他のチェックが行われていないホストに対して手動で作成された ping チェックは、デフォルトでパフォーマンスデータを生成します。

1 台またはすべてのホストの ping パフォーマンスデータが必要な場合は、Check hosts with PING (ICMP Echo Request) ルールセットで、目的のホストに対して ping によるアクティブチェックを追加することをお勧めします。

既存のラウンドロビンデータベース (RRD) を維持したい場合は、コアを停止した状態で、var/pnp4nagios/perfdata/<hostname> ディレクトリにある_HOST_ で始まるファイルの名前を、_HOST_* からPING* に変更してください。

あるいは、Host check command ルールセットを使用して、Smart Ping を無効にし、check_icmp で通常どおり内部で動作する従来の ping に置き換えることもできます。 この場合、RRD の名前を変更する必要はありませんが、Smart Ping の利点は利用できなくなります。

このページでは