序章

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

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

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

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

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

  • Ubuntu14.04を含む1つのドロップレット
  • CentOS7を備えた1つのドロップレット
  • ドロップレットへのrootアクセス

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

UbuntuドロップレットでのOMDインスタンスの設定

OMD のインストールを開始するには、root権限を持つ有効なUbuntu14.04ドロップレットが必要です。 以下のすべての手順は、追加のソフトウェアを使用せずに、クリーンな Ubuntu14.04ドロップレットを使用して作成されています。 たとえば、Webサーバーがすでに実行されているドロップレットに監視を追加することもできます。

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

apt-get update 
apt-get upgrade

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

パッケージを閲覧するには、パッケージリストサイトにアクセスしてください。 このテキストを書いている時点での最新バージョンであるUbuntu14.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 パッケージには複数の依存関係があるため、これは最初の試行で失敗します。 それはいいです。 パッケージをインストールしようとすると、次のエラーメッセージが表示されます。

root@omdmaster:~# 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-getapache2mysqlを含む多くの新しいパッケージをインストールしたいと考えていることがわかります。 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パスワードを設定するように求められます。

MySQL root password

セキュリティ上の理由から、他では使用されていない強力なパスワードを使用することをお勧めします。 このパスワードは、 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:// your_droplet_ip / monitoring/を開いてください。 パスワードの入力を求められます。 デフォルトは、ユーザー名がomdadmin、パスワードがomdで、これらのデフォルトは後で変更します。

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

OMD default home page

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

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

Blank Check_MK dashboard

管理者パスワードの変更

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

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

OMD

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

パスワードを更新し、管理者の電子メールを追加し、その他の必要な変更を加えます。

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

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



変更をアクティブ化すると、新しいユーザーのデータが構成ファイルに書き込まれ、システムのすべてのコンポーネントで使用されます。 Check_MK は、個々の監視システムコンポーネントへの通知、必要に応じた再ロード、および必要なすべての構成ファイルの管理を自動的に処理します。

最初のホストの監視

OMD とともにインストールされるコンポーネントは、監視情報の収集、保存、および表示を担当します。 それらは情報自体を提供しません。

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

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

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

監視を開始するには、最初にCheck_MKエージェントをインストールする必要があります。 Ubuntu を含むすべての主要なディストリビューションのパッケージは、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を使用して提供されます。これは、特定のネットワークポートにアクセスするとデータを出力するメカニズムです。 これは、インターネット上の他のコンピュータからポート6556( Check_MK のデフォルトポート)にtelnetを使用して、check_mk_agentにアクセスできることを意味します。 証明は次のとおりです(ローカルコンピューターまたは別のリモートホストからこれらのコマンドを実行し、以下のIPアドレスをDropletのIPアドレスに置き換えます)。

[root@otherhost ~]$ telnet 12.34.56.78 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 がオンになっているのと同じドロップレットの監視に取り組んでいるため、ローカルホストのみに接続を許可しても問題ありません。 コメントを外して、構成設定を次のように更新します。

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

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

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

service xinetd restart

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

telnet 12.34.56.78 6556

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

Check_MKでのホストの構成

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

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

デフォルトのエージェントタイプはすでにCheck_MKエージェントに設定されていますが、これで問題ありません。 ネットワークセグメント設定は、リモートネットワーク上のホストを示すために使用されます。これは、誤動作の兆候ではない、予想される待ち時間が長いことを特徴としています。 ローカルホストであるため、デフォルト設定でも問題ありません。

ホストを保存し、監視するサービスを構成するには、[ 保存してサービスに移動ボタン。

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

ユーザーパスワードの変更と同様に、変更が完全に考慮される前に、変更を保存してアクティブ化する必要があります。 2変更ボタンを押して、変更を受け入れる必要があります。 その後、ホストモニタリングが稼働します。

モニタリングデータの操作

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

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

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

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

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

リカバリ後、すべてが正常に機能していることを示す緑色で表示されますが、右側のイベントログには過去の障害に関する情報が含まれています。

2番目のCentOSホストの監視

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

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

Ubuntu ドロップレットと同様に、監視データを収集するには Check_MKAgentをインストールする必要があります。 今回は、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

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

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

service xinetd restart

これで、CentOS7ホストを監視するためのCheck_MKの構成に進むことができます。

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

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

クリック保存してサービスに移動 、で監視できるサービスが表示されます CentOS 滴。 リストは最初のホストのものと非常に似ています。 今回は、手動チェック構成の保存を行い、左上隅のオレンジ色のボタンを使用して変更をアクティブ化する必要があります。

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

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

ホストの追加

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

まとめと参考資料

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

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