前書き

システム管理者であれば、インフラストラクチャとサービスの現在の状態を知っている必要があります。 ディスクに障害が発生していることを遅すぎることに気付くか、ユーザーにサービスのダウンタイムを通知するのではなく、ユーザーに通知するよりも悪いことはありません。

そこから監視が始まります。 サーバーのハードウェア、稼働時間、サービスの状態を追跡し、何か問題が発生したときにアラートを生成するソフトウェアは、多くの頭痛の種を節約できます。 非常に基本的なシナリオでは、監視システムは、サービスがダウンした場合に警告します。 より堅牢な方法では、メモリ使用量の増加やTCP接続の異常な量など、疑わしい兆候が発生した直後に通知が届きます。

無料と商用の両方で、複雑さの程度と機能セットが異なるさまざまな監視ソリューションを利用できます。 多くの場合、これらのツールのインストール、構成、および管理は難しく、時間がかかります。 今日は、セットアップが簡単なソリューションに焦点を当てます。

  • Open Monitoring Distribution (OMD)は、データを収集、監視、およびグラフ化するためのアドオンとともに Nagios を含む自己完結型のバンドルです。 * Check_MK Multisite *がバンドルされています。これは、 Nagios *の欠点の多くに対処する包括的なツールです。 多くのLinuxディストリビューションに対して、管理と構成を簡単にするWebインターフェイス、使いやすいダッシュボード、堅牢な通知システム、およびインストールが簡単な監視エージェントを提供します。 * Check_MK Multisite *がなければ、タスクごとに異なるビューを使用する必要があり、構成ファイルを操作することなくすべての設定を構成することはできません。

  • Open_Distribution Check_MK *で使用すると、誰でも簡単にアクセスでき、独自の監視システムをセットアップできます。 このテキストでは、2つのドロップレットを監視するために必要なツールをインストールおよび構成する方法を示します。 前提条件は次のとおりです。

  • * Ubuntu 14.04 *のドロップレット

  • * CentOS 7 *を含む1つのドロップレット

  • ドロップレットへのルートアクセス

この記事全体を通して、コマンドラインの基本的な知識があることを前提としていますが、このチュートリアルに従うための前提条件はありません。

UbuntuドロップレットでのOMDインスタンスのセットアップ

  • OMD のインストールを開始するには、_root_権限を持つ Ubuntu 14.04 ドロップレットが動作する必要があります。 以下のすべての手順は、追加のソフトウェアなしでクリーンな Ubuntu 14.04 *ドロップレットを使用して書かれています。 たとえば、すでに実行されているWebサーバーを使用して、Dropletに監視を追加することもできます。

新しいソフトウェアをインストールする前に、システムパッケージを最新バージョンに更新することをお勧めします。 そのためには、次を実行します:

apt-get update
apt-get upgrade
  • OMD プロジェクトは、プロジェクトWebサイトで Ubuntu *のすぐに使用できるパッケージを提供します。

パッケージを閲覧するには、http://files.omdistro.org/releases/debian_ubuntu/ [パッケージ一覧サイト]にアクセスできます。 このテキストを書いている時点での最新バージョンである* Ubuntu 14.04 x64 *の場合、正しいパッケージは `+ omd-1.20.trusty.amd64.deb +`です。

パッケージをダウンロードするには、次を実行します。

wget http://files.omdistro.org/releases/debian_ubuntu/omd-1.20.trusty.amd64.deb

ファイルは非常に大きいため、ダウンロードには時間がかかる場合があります。 ダウンロードが完了すると、次のようなメッセージが表示されます。

100%[=================================================================>] 78,969,558  24.6MB/s   in 3.1s

2014-08-30 06:23:21 (24.6 MB/s) - "omd-1.20.trusty.amd64.deb" saved [78969558/78969558]

新しくダウンロードしたパッケージをインストールするには、次を入力します。

dpkg -i omd-1.20.trusty.amd64.deb
  • OMD *パッケージには複数の依存関係があるため、これは最初の試行で失敗します。 それはいいです。 パッケージをインストールしようとすると、エラーメッセージが表示されます。

[email protected]:~# dpkg -i omd-1.20.trusty.amd64.deb
Selecting previously unselected package omd-1.20.
(Reading database ... 86590 files and directories currently installed.)
Preparing to unpack omd-1.20.trusty.amd64.deb ...
Unpacking omd-1.20 (0.trusty) ...
dpkg: dependency problems prevent configuration of omd-1.20:
omd-1.20 depends on libsnmp-python; however:
 Package libsnmp-python is not installed.
omd-1.20 depends on dialog; however:
 Package dialog is not installed.
omd-1.20 depends on fping; however:
 Package fping is not installed.
omd-1.20 depends on graphviz; however:
 Package graphviz is not installed.
omd-1.20 depends on libapache2-mod-fcgid; however:
 Package libapache2-mod-fcgid is not installed.
omd-1.20 depends on libapache2-mod-proxy-html; however:
 Package libapache2-mod-proxy-html is not installed.
omd-1.20 depends on apache2-mpm-prefork; however:
 Package apache2-mpm-prefork is not installed.
omd-1.20 depends on apache2-utils; however:
 Package apache2-utils is not installed.
omd-1.20 depends on libboost-program-options1.54.0; however:
 Package libboost-program-options1.54.0 is not installed.
omd-1.20 depends on libboost-system1.54.0; however:
 Package libboost-system1.54.0 is not installed.
omd-1.20 depends on libdbi1; howeve
dpkg: error processing package omd-1.20 (--install):
dependency problems - leaving unconfigured
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
omd-1.20

その失敗したインストールにより、不足している依存関係がパッケージマネージャーに自動的に通知されるため、手動インストールに頼らずに問題を簡単に解決できます。

欠落している依存関係を解決するには、次を実行する必要があります。

apt-get -f install

`+ apt-get `は、 ` apache2 `や ` mysql +`を含む多くの新しいパッケージをインストールしたいことがわかります。 * OMD *はWebアクセス可能なユーザーインターフェイスを使用しており、そのデータの一部を_MySQL_データベースに格納しているため、これは予期されています。

このコマンドを実行してください。

apt-get -f install

これで、インストールが正常に完了するはずです。

Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
 apache2 apache2-bin apache2-data (...)
0 upgraded, 147 newly installed, 0 to remove and 3 not upgraded.
1 not fully installed or removed.
Need to get 53.9 MB of archives.
After this operation, 275 MB of additional disk space will be used.
Do you want to continue? [Y/n]

すべての依存関係のインストールに同意した後(* y *を押します)、_ MySQL_データベースの_root_パスワードをセットアップするように求められます。

image:https://assets.digitalocean.com/articles/OpenMonitoring/1.jpg [MySQLルートパスワード]

セキュリティ上の理由から、他では使用されない強力なパスワードを使用することをお勧めします。 このパスワードは* OMD セットアップ中には必要ありませんが、このパスワードを使用して OMD *データベースを含むすべてのデータベースにアクセスできます。

パスワードを入力すると、プロンプトは表示されずにインストールが続行されます。 事前にインストールしようとした* OMD *パッケージも、プロセス中に自動的にインストールされます。 インストールが完了すると、次のように `+ omd +`コマンドにアクセスできるようになります。

omd

出力:

Usage (called as root):

omd help                        Show general help
(...)

General Options:
-V <version>                    set specific version, useful in combination with update/create
omd COMMAND -h, --help          show available options of COMMAND

`+ omd +`コマンドは、サーバー上の* OMD インスタンスを管理するために使用されるメインコマンドです。 すべての監視サービスを一度に開始および停止するために使用され、最初の OMD *インスタンスを作成するために使用します。

次に、最初の* OMD *インスタンスを作成する必要があります。 ほとんどの場合、最初のインスタンスはサーバー上の唯一のインスタンスであり、それがここでの方法です。

  • OMD *インスタンスを作成する前に、インスタンスを識別する名前を選択する必要があります。 構成中にさらに使用されますが、監視サイトにアクセスできるWebアドレスも定義します。 簡単にするために、テキスト全体で「+ monitoring +」を使用します。 インスタンスを作成するには、次を入力します。

omd create monitoring

`+ omd +`ツールはすべてを自動的に設定します。 コマンド出力は次のようになります。

Adding /omd/sites/monitoring/tmp to /etc/fstab.
Restarting Apache...AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
OK
Creating temporary filesystem /omd/sites/monitoring/tmp...OK
Created new site monitoring with version 1.20.

 The site can be started with omd start monitoring.
 The default web UI is available at http://omdmaster/monitoring/
 The admin user for the web applications is omdadmin with password omd.
 Please do a su - monitoring for administration of this site.

インスタンスは作成されましたが、まだ開始する必要があります。 インスタンスを開始するには、次を入力します。

omd start monitoring

必要なすべてのツールとサービスがすぐに開始されます。 最後に、次のようにすべてのサービスが正常に開始されたことを確認する必要があります。

Starting rrdcached...OK
Starting npcd...OK
Starting nagios...OK
Starting dedicated Apache for site monitoring...OK
Initializing Crontab...OK

インスタンスが起動して実行されたので、Webブラウザ経由でアクセスできます。

  • OMD *インスタンスにアクセスするには、Webブラウザーでリンク[http:// yourdropletip / monitoring /]を開いてください。 パスワードの入力を求められます。 デフォルトは、ユーザー名に「+ omdadmin 」、パスワードに「 omd +」です。これらのデフォルトは後で変更します。

ログインすると、次のようなWebページが表示されます。

image:https://assets.digitalocean.com/articles/OpenMonitoring/2.jpg [OMDデフォルトのホームページ]

これはデフォルトの* OMD * Webページであり、インストールされているすべてのツールとアプリケーションにアクセスできます。 ただし、使用するのは* Check_MK Multisite ツールのみです。 これは素晴らしいツールです。 OMD とそのツールのほぼすべての側面を構成するユーザーフレンドリーな方法を提供するだけでなく、グラフ、アラート、設定を1つのダッシュボードに収集します。 これ以降、 Check_MK Multisite を単に Check_MK *と呼びます。

  • Check_MK *画面が開き、デフォルトでダッシュボードが表示されます。このダッシュボードには、すべてのサービスとサーバーのステータスがリストで表示され、地球に似た実用的なグラフが使用されます。 インストール直後は空ですが、すぐにサービスとシステムのステータスを表示するようにします。

image:https://assets.digitalocean.com/articles/OpenMonitoring/3.jpg [ブランクチェック_MKダッシュボード]

管理パスワードの変更

デフォルトの `+ omdadmin / omd +`ユーザー名とパスワードは覚えやすいですが、特にすべての* OMD *インストールでデフォルトで提供されるため、まったく安全ではありません。 幸い、変更は非常に簡単です。

最初に、左側の_WATO Configuration_メニューから* Users ペインを開きます。 リストには、現在 OMD *サイトにアクセスしているすべてのユーザーが表示され、デフォルトでは `+ omdadmin +`のみがリストされます。

画像:https://assets.digitalocean.com/articles/OpenMonitoring/4.jpg [OMD]

`+ omdadmin +`ユーザーの横にある鉛筆アイコンをクリックして、パスワードなどの詳細を変更します。

image:https://assets.digitalocean.com/articles/OpenMonitoring/5.jpg [image]

パスワードを更新し、管理者のメールアドレスを追加して、必要な変更を加えます。

変更を保存するとすぐに、新しい資格情報を使用して再度ログインするよう求められます。 ここで*新しいパスワード*を使用します。

image:https://assets.digitalocean.com/articles/OpenMonitoring/6.jpg [image]

次に、変更を構成ファイルに保存する必要があります。 これは、オレンジ色のボタン* 1変更*で示されます。このボタンは、* Check_MK *の構成に変更を加えて、保存およびアクティブ化する必要があることを示しています。 これは、ユーザーの資格情報を編集した後だけでなく、監視システムの構成を変更するたびに発生します。 保留中の変更を保存して有効にするには、このボタンをクリックして、リストされた変更を有効にすることに同意する必要があります。

image:https://assets.digitalocean.com/articles/OpenMonitoring/7.jpg [image] + image:https://assets.digitalocean.com/articles/OpenMonitoring/8.jpg [image] + image:https: //assets.digitalocean.com/articles/OpenMonitoring/9.jpg[image]

変更を有効にすると、新しいユーザーのデータが構成ファイルに書き込まれ、システムのすべてのコンポーネントで使用されます。 * Check_MK *は、個々の監視システムコンポーネントに自動的に通知し、必要に応じてそれらを再読み込みし、必要なすべての構成ファイルを管理します。

最初のホストの監視

  • OMD *でインストールされたコンポーネントは、監視情報の収集、保存、表示を担当します。 情報自体は提供しません。

実際のデータを収集するには、* Check_MK 用に特別に設計されたツールである Check_MK Agent *を使用し、重要なシステムコンポーネントをすべて一度に監視できます。

エージェントのインストール

最初に監視するホストは、* OMD *ドロップレット自体です。

監視を開始するには、まず* Check_MK Agent *をインストールする必要があります。 * Ubuntu *を含むすべての主要なディストリビューションのパッケージは、http://mathias-kettner.de/check_mk_download.html [Check_MKプロジェクトサイト]で入手できます。 * Ubuntu 14.04 *ドロップレットに必要なパッケージをダウンロードするには、次のように入力します。

wget http://mathias-kettner.de/download/check-mk-agent_1.2.4p5-2_all.deb

ダウンロード後、次を使用してパッケージをインストールします。

dpkg -i check-mk-agent_1.2.4p5-2_all.deb

すべての依存関係がすでに満たされているはずなので、今回はインストールが失敗することはありません。 次を実行することにより、エージェントが正常にインストールされたことを確認できます。

check_mk_agent

このコマンドは非常に長いテキストを出力する必要がありますが、これは意味不明であるように見えますが、システムに関するすべての重要な情報を1か所に収集します。 * Check_MK *が監視データの収集に使用するのは、このコマンドからの出力です。

監視データへのアクセスを制限する

デフォルトでは、「+ check_mk_agent 」からのデータは「 xinetd 」を使用して提供されます。これは、特定のネットワークポートにアクセスするとデータを出力するメカニズムです。 つまり、telnetを使用してインターネット上の他のコンピューターからポート6556(* Check_MK *のデフォルトポート)に ` check_mk_agent +`にアクセスできます。 以下がその証拠です(ローカルコンピューターまたは別のリモートホストからこれらのコマンドを実行し、以下のIPアドレスをドロップレットのIPアドレスに置き換えます)。

[[email protected] ~]$ telnet  6556

出力:

Trying 178.62.42.115...
Connected to 178.62.42.115.
Escape character is '^]'.
<<<check_mk>>>
Version: 1.2.4p5
AgentOS: linux
PluginsDirectory: /usr/lib/check_mk_agent/plugins
LocalDirectory: /usr/lib/check_mk_agent/local
SpoolDirectory: /etc/check_mk/spool
AgentDirectory: /etc/check_mk
(...)

サーバーに関する重要な情報をインターネットに興味がある人に公開することは、良いセキュリティポリシーではありません。 * OMD *を実行し、監視下にあるホストのみがデータにアクセスできるようにする必要があります。これにより、監視システムはデータを収集できますが、他のユーザーは収集できません。

エージェントデータへのアクセスを制限するには、 `+ / etc / xinetd.d / check_mk +`の設定ファイルを編集する必要があります。 タイプ:

nano /etc/xinetd.d/check_mk

このセクションを見つけます。

# configure the IP address(es) of your Nagios server here:
#only_from      = 127.0.0.1 10.0.20.1 10.0.20.2

`+ only_from +`設定は、特定のIPアドレスへのアクセスを制限する役割を果たします。 現在、* OMD *がオンになっているのと同じドロップレットの監視に取り組んでいるので、localhostのみが接続できるようにすることは問題ありません。 構成設定のコメントを外して更新し、次のようにします。

# configure the IP address(es) of your Nagios server here:
only_from      = 127.0.0.1

ファイルを保存して終了します。

変更を行うには、 `+ xinetd +`サービスを再起動する必要があります。 そのためには、次を実行する必要があります。

service xinetd restart

これで、エージェントは起動して実行され、ローカル接続のみを受け入れるように制限されました。 これをテストするには、リモートの場所から再度 `+ telnet +`コマンドを試してください:

telnet  6556

これで、* Check_MK *を使用して、そのホストの監視を構成できます。

Check_MKでのホストの構成

監視する新しいホストを追加するには、左側の_WATO Administration_メニューの* Hosts メニューに移動し、 Create new host *をクリックする必要があります。 ホストに関する情報を要求されます。

image:https://assets.digitalocean.com/articles/OpenMonitoring/10.jpg [image]

ホスト名*は、監視に使用されるおなじみの名前です。 完全修飾ドメイン名でもかまいませんが、必須ではありません。 この例では、 OMD インスタンス自体の名前と同じように、ホストに_monitoring_という名前を付けます。 _monitoring_はIPアドレスに解決できないため、ドロップレットのIPアドレスも提供する必要があります。 localhostを監視しているため、IPは単に 127.0.0.1 *になります。 ボックスをチェックして、IP設定を有効にします。

デフォルトのエージェントタイプはすでに_Check_MK agent_に設定されていますが、これで問題ありません。 _networking segment_設定は、リモートネットワーク上のホストを示すために使用されます。これは、誤動作の兆候ではない、より高い予想遅延によって特徴付けられます。 ローカルホストであるため、デフォルト設定でも問題ありません。

ホストを保存し、監視するサービスを設定するには、[保存してサービスに移動]ボタンをクリックします。

image:https://assets.digitalocean.com/articles/OpenMonitoring/11.jpg [image]

  • Check_MK *は自動インベントリを実行します。 つまり、エージェントからの出力を収集して解読し、監視できるサービスの種類を把握します。 CPU負荷、メモリ使用量、ディスクの空き容量など、監視に使用できるすべてのサービスがリストに表示されます。 利用可能なチェックを保存するには、[手動チェック設定を保存]ボタンをクリックする必要があります。 これにより、ホストが追加された使用可能なホストのリストを含む画面にリダイレクトされます。

image:https://assets.digitalocean.com/articles/OpenMonitoring/12.jpg [image]

ユーザーのパスワードを変更する場合と同様に、変更を完全に反映するには、変更を保存してアクティブにする必要があります。 * 2変更*ボタンを押して、変更を受け入れる必要があります。 その後、ホスト監視が稼働します。

監視データの使用

次に、左側の[ダッシュボード/メイン概要]メニュー項目を使用してメインダッシュボードを見てみましょう。

image:https://assets.digitalocean.com/articles/OpenMonitoring/13.jpg [image]

地球圏は完全に緑色になり、テーブルには1人のホストが問題なく稼働していると表示されます。 (左側のメニューを使用して)*ホスト/すべてのホスト*ビューで、単一のホストで構成される完全なホストリストを確認できます。

image:https://assets.digitalocean.com/articles/OpenMonitoring/14.jpg [image]

ここで、健全な状態にあるサービスの数(緑色で表示)、失敗しているサービスの数、およびまだチェックが保留されているサービスの数を確認します。 ホスト名をクリックすると、すべてのサービスのリストとその完全なステータスおよび* Perf-O-Meters が表示されます。 * Perf-O-Meter *は、 Check_MK *が正常と見なすものと比較した単一サービスのパフォーマンスを示します。

image:https://assets.digitalocean.com/articles/OpenMonitoring/15.jpg [image]

グラフに表示できるデータを返すすべてのサービスには、名前の横にグラフアイコンがあります。 このアイコンを使用して、サービスに関連付けられたグラフにアクセスできます。 ホストの監視は新鮮なので、グラフにはほとんど何もありませんが、しばらくすると、グラフはサービスのパフォーマンスが時間とともにどのように変化するかについての貴重な情報を提供します。

image:https://assets.digitalocean.com/articles/OpenMonitoring/16.jpg [image]

サービスのいずれかが失敗または回復すると、ダッシュボードに情報が表示されます。 失敗したサービスについては、赤いエラーが表示され、問題は地球グラフにも表示されます。

image:https://assets.digitalocean.com/articles/OpenMonitoring/17.jpg [image]

回復後、すべてが正常に動作していると緑色で表示されますが、右側のイベントログには過去の障害に関する情報が含まれます。

image:https://assets.digitalocean.com/articles/OpenMonitoring/18.jpg [image]

2番目のCentOSホストの監視

複数のホストがある場合、監視は非常に役立ちます。 2番目のドロップレットを* OMD インスタンスに追加し、 CentOS 7.0 x64 *を実行します。

エージェントのインストール

  • Ubuntu * Dropletと同様に、監視データを収集するには* Check_MK Agent *のインストールが必要です。 今回は、http://mathias-kettner.de/check_mk_download.html [Check_MKプロジェクトサイト]の `+ rpm +`パッケージが必要になります。 * CentOS *ドロップレットに必要なパッケージをダウンロードするには、次のように入力します。

wget http://mathias-kettner.de/download/check_mk-agent-1.2.4p5-1.noarch.rpm

ダウンロード後、次を使用してパッケージをインストールします。

yum install check_mk-agent-1.2.4p5-1.noarch.rpm
  • CentOS *では、 `+ xinetd `はデフォルトではインストールされないため、 ` yum `は依存関係のインストールを要求します。 同意すると、パッケージがインストールされます。 前と同じように、 ` check_mk_agent +`を実行することでエージェントが正常に動作していることを確認できます-出力は最初のドロップレットからの出力と同様になります。

アクセス制限

今回はローカルホストを監視しませんので、 `+ xinetd +`は* OMD *のドロップレットがデータを収集できるようにしなければなりません。 それを可能にするには、設定ファイルの編集を開始します:

nano /etc/xinetd.d/check_mk

と交換

   # configure the IP address(es) of your Nagios server here:
   #only_from      = 127.0.0.1 10.0.20.1 10.0.20.2

with

   # configure the IP address(es) of your Nagios server here:
   only_from      =

ファイルを保存して終了します。 次を使用して `+ xinetd +`サービスを再起動します。

service xinetd restart

これで、* Check_MK *を構成して、CentOS 7ホストを監視できます。

Check_MKでの新しいホストの構成

  • Check_MK にホストを追加するには、前と同じように Hosts メニューを使用します。 今回はホストに「+ centos +」という名前を付け、そのIPアドレスを設定し、ホストが別のネットワーク上にあるため、 WAN(高遅延)を選択します。 チェックボックスを使用して、IPおよびネットワーク設定を有効にします。 これをスキップしてローカルのままにした場合、 Check_MK *は、ホストがダウンしていることをすぐに警告します。これは、ホストがインターネット上で可能なよりもはるかに速くエージェントクエリに応答することを期待するためです。

image:https://assets.digitalocean.com/articles/OpenMonitoring/19.jpg [image]

[保存してサービスに移動]をクリックすると、* CentOS *ドロップレットで監視可能なサービスが表示されます。 このリストは、最初のホストのリストと非常に似ています。 今回は、*手動チェック構成を保存*し、左上隅のオレンジ色のボタンを使用して変更を有効にする必要もあります。

変更を有効にした後、[すべてのホスト]ページに移動して、ホストが監視されていることを確認できます。 2つのホスト、「+ monitoring 」と「 centos +」が表示されるはずです。

image:https://assets.digitalocean.com/articles/OpenMonitoring/20.jpg [image]

サービスの失敗と復旧のアラートは、両方のホストのメインダッシュボードに引き続き表示されます。

ホストを追加する

  • Check_MK で監視するために複数のホストを追加することができます。 サーバーのパフォーマンス以外に上限はありません。サーバーのパフォーマンスは、何百もの話をするまで問題になりません。 手順は他のホストと同じです。 `+ deb `および ` rpm +`パッケージの Check_MK エージェントは、 Ubuntu および CentOS *だけでなく、他のLinuxディストリビューションでも動作します。

まとめと参考資料

  • Open Monitoring Distribution は、 Check_MK *に基づいた監視システムの簡単なセットアップを可能にします。これは、すべてのハードワークを、構成オプションと機能で満たされた使いやすいWebインターフェイスにまとめます。 これらのツールを使用すると、複数のホストを監視し、問題の電子メール通知を設定し、より多くのサービスの追加チェックを設定し、アクセシビリティとパフォーマンスを監視することができます。

Check_MKのドキュメントは英語で提供されており、Check_MKユーザーおよび管理者向けの包括的なリソースです。