この記事では、IT企業での30年以上の経験を持つインフラエンジニアで一生技術屋を目指す筆者の実際の経験と検証をもとに、5つの監視ツールでログ監視を始めるまでにどのくらいの時間が必要かという検証結果を紹介します。それぞれのツールの特徴と、どんな場合にどのツールが向いているのかという考察、最後に無料かつ10分でログ監視を始める手順も紹介していますので参考にしてみてください。
目次
- 概要編
- Nagios
- Zabbix
- Prometheus
- CloudWatch
- Site24x7
- 構築編
- 設定編
- 運用編
- ログ監視を始めるまでの所要時間編
- まとめ(5ツール比較表)
概要編
一般的に監視ツールと呼ばれるものは現在非常に多く提供されていますが、今回はその中からポピュラーなもの、将来的にユーザーの拡大が見込まれるものを中心にご紹介します。まずはそれぞれのツールごとに、その特徴の概要を見てみましょう。
Nagios
まず最初にご紹介するのはOSS(オープンソースソフトウェア)のNagios(Nagios Core)です。読み方はナギオスです。
日本ではまだまだユーザーは多くはないのですが、海外ではポピュラーなツールのひとつです。ユーザーのコミュニティによって公開されている大量のアドオンによって、様々な種類の機能拡張が可能です。
ただ、このツールには今回紹介する他のツールが標準的に提供しているような監視設定を行うGUIがありません。そのような機能は有料版であるNagios XI, Nagios Fusion, Nagios Log Serverなどで提供されています。よって、ユーザーはほとんどの場合、サーバー上の設定ファイルをテキストエディタで編集することによって設定をおこなうことになります。
Zabbix
監視ツールの世界では、現在最もユーザーが多いといわれ、どのような規模の環境でも使用されているツールがOSSのZabbixです。読み方はザビックスです。
歴史もあり、機能拡張も頻繁に行われているので機能面でも申し分なく、全ての機能が完全に無料で提供されていることも人気が高い理由のひとつです。国内のユーザーも多く、コミュニテイの規模も大きいので何かあった時に情報が得やすいというのも利点です。
一方、監視用のサーバーを立ち上げるのにスキルと時間が必要なことや機能拡張を繰り返してきたためサーバーの構成が複雑になってきているので、監視サーバーの運用自体にも人員が必要であるため、ある程度の規模の体制が必要となります。
Prometheus
次に紹介するのは、比較的新しいツールで、世界的に見れば現時点で最も将来性のあるツールだと注目されているOSSのPrometheusです。読み方はプロメテウスです。
Zabbix等の伝統的な監視ツールと違って、成り立ちからクラウドネイティブを意識しているのが特徴です。Dockerのコンテナとして稼働させることも容易なように作られています。実際の設定にはNagiosのように設定ファイルの編集作業は必要になりますが、構成がシンプルなので何をやるべきかが明確です。他のツールの多くでは必須となっている管理用DBも必要ありません。シンプルなPULLベースのツールなので、他のツールに比べて取得可能な監視対象の数も多数になります。また、柔軟で高機能のデータのクエリや視覚化も可能です。
CloudWatch
言うまでもなく、CloudWatchはAWSで提供されているSaaSのAWS専用監視サービスです。読み方はクラウドウォッチです。
監視のためのサーバーが必要無い分短時間で立ち上げることができます。EC2等のAWSのサービスを使用しているユーザーにとっては最も親和性が高く、様々なAWSサービスと連携した多彩な機能を提供しています。ログ監視をする場合は、CloudWatch Logという機能を使用できます。
前述の3つのツールと異なる点のひとつが完全に無料ではないということです。特にカスタムメトリクスと呼ばれる標準でない監視項目を監視する場合、監視頻度や項目の数等で従量課金されるので注意が必要です。
Site24x7
最後に紹介するのがIT大国インド生まれのSaaS型監視ツールSite24x7です。読み方はサイトトゥエンティフォーセブンです。
Site24x7もCloudWatchと同じように監視サーバーの構築や運用は必要無く、すぐに開始することができます。また、設定のかなりの部分がデフォルト設定で有効化されるように自動化されているため、細かい設計をする必要もありません。試用期間後は機能は限定されますが無料で継続使用することも可能です。
各ツールの概要の一部を表でまとめると以下となります。
Nagios | Zabbix | Prometheus | CloudWatch | Site24x7 | |
---|---|---|---|---|---|
タイプ | オンプレ | オンプレ | オンプレ | SaaS | SaaS |
ライセンス費用 | 無料 | 無料 | 無料 | 無料/有料 | 無料/有料 |
※ 2020年12月7日現在
ここからは、ご紹介した各ツールにおいて、キーとなるフェーズでどのような作業が必要になるかをご紹介しながら、どのような特徴があるかを記述します。
構築編
構築時の作業を考える上で、最も大きな要因は「監視のためのサーバーを立てる必要があるか」と「監視のためのサーバーの構成や必要条件の複雑さ」の2点です。
監視のためのサーバーを立てる必要があるのは、Nagios、 Zabbix、Prometheusです。これらのツールを選択する場合は、まず物理サーバーあるいは仮想サーバー、クラウド上のサーバー等を用意し、監視機能のインストールを行う必要があります。サーバーの準備にはある程度のリソース(CPU、メモリ、ストレージ等の大きさ)の見積もりも必要になりますが、これは準備段階では容易ではありませんので、これらの増減が簡単に行える仮想サーバー(クラウド含む)での構築をお勧めします。
インストールに関してはほとんどの場合はソースからのコンパイルになりますが、コンパイルには前提となる条件がある場合も多く、それなりに経験を積んだエンジニアが行う必要があり、簡単ではありません。環境の複雑さという面では、WebサーバーとDBサーバーが必要となるZabbixが最も複雑となり、それによって必要となる手順も多くなります。Nagios、Prometheusに関してはDBサーバーは必要ないのでその構築に関わる工数は必要なくなります。
ClousWatch、Site24x7に関しては監視サーバーの構築は必要ないので、これらの作業はありません。このフェーズで必要なのは使用開始のためのサインアップのみということになります。
以上のように、構築フェーズにおいてできるだけ工数を抑えるという要件がある場合には監視サーバーの不要なツールを選択する必要がありますが、運用フェーズを睨んでの人員の確保が可能な場合、また機能面等の他の要因が重視されるような場合はあえて、構築に工数がかかるツールを選択する意味もあります。
各ツールの構築について、表でまとめると以下となります。
Nagios | Zabbix | Prometheus | CloudWatch | Site24x7 | |
---|---|---|---|---|---|
監視サーバー | 要 | 要 | 要 | 不要 | 不要 |
監視サーバー用のDBサーバー | 不要 | 要 | 不要 | 不要 | 不要 |
※ 2020年12月7日現在
設定編
次に、設定時に行う必要がある作業からそれぞれツールの特徴をみていきたいと思います。設定において重要となる要因は「設定の前提となるエージェントのインストールにかかる工数」と「設定時のインターフェース」の2点です。
まず、監視対象サーバーへのエージェントのインストールについて、今回取り上げたすべてのツールでエージェントのインストールが必要になります。NagiosおよびPrometheusに関しては、本体のインストールと同様に適切なタイプやバージョンを選択した上で、ソースからのコンパイルを行うことになります。Zabbixに関してはレポジトリも比較的整備されているので、環境にあったバイナリのインストールで行う場合が多いです。CloudWatchとSite24x7に関してはエージェントのインストールも手順化及び自動化されているので、コマンドの実行だけで行うことができます。
次に、設定の方法について、主に、WebインターフェースのGUIによって行う場合と、テキストファイルの編集によって行う場合に分けられます。さらに、設定値のデフォルトが提供されているか、設定に際して設定値等の細かい知識が必要かどうかということも重要な要因です。今回対象としてるツールの中ではWebインターフェースによって設定が可能なのはCloudWatchとSite24x7です。それ以外はほぼテキストファイルの編集が必要です。設定のデフォルトがある程度用意されているのはZabbix、CloudWatch、Site24x7で、それ以外に関しては何を監視したいのか、どういう基準で監視したいのかを基本的には一から指定する必要があります。ある程度の設定で値等の知識が無いと作業が行えないと言えるのはNagios、Prometheusです。
以上のように、設定のフェーズにおいても工数や人員をかけたくないという場合には、Webインターフェースが提供されていて、ある程度のデフォルトもあり、知識も必要がないツールが適していますが、設定がブラックボックスで行われることによる運用フェーズでの問題判別等の複雑さを考慮するとそれらの容易性が裏目に出ることもありますので注意が必要です。
各ツールの設定について、表でまとめると以下となります。
Nagios | Zabbix | Prometheus | CloudWatch | Site24x7 | |
---|---|---|---|---|---|
エージェントのインストールにコンパイル作業 | 要 | 不要 | 要 | 不要 | 不要 |
設定にWebインターフェースを提供 | 無し | 有り | 無し | 有り | 有り |
設定時のテキストファイルの編集 | 要 | 要 | 要 | 不要 | 不要 |
デフォルト設定で監視項目の有効化 | 不可能 | 可能 | 不可能 | 可能 | 可能 |
※ 2020年12月7日現在
運用編
ここでは、構築、設定も終了し、運用フェーズに入った段階での各ツールそれぞれで必要な作業や体制等からみた特徴を紹介します。ここで考慮すべき要因は「運用においてどのくらいの工数が必要か」と「運用においてどの程度の経験のあるエンジニアが必要か」の2点です。
まず、工数について、やはり専用の監視サーバーを構築したものに関しては多くなるのは当然です。サーバーの物理的管理、OS環境の管理、セキュリティやネットワークの設定等のメンテナンスも必要で、それらに関する問題管理、変更管理、構成管理等のいわゆるITIL業務が必要になってきます。それらに必要な工数はサーバーの数、規模、複雑さによって変わってきます。つまり環境が複雑でDBサーバーも必要となるZabbixが最も大きくなると思われますが、監視サーバーの構築を行ったNagios、Prometheusもそれなりに工数が必要になります。監視サーバーの管理が必要ないCloudWatchとSite24x7mに関しては、必要なのは監視設定に関する工数のみになります。
次に、必要なエンジニアの経験について、前述の要因と同様に監視サーバーの運用が必要となるNagios、Zabbix、Prometheusの各環境においてはサーバー運用経験のあるエンジニアが必要になりますが、すでに確保されている場合も多く、その場合は否定的な要因にはならないかもしれません。CloudWatch、Site24x7に関してはサーバー運用経験は必要なく、それぞれの環境に関してある程度の教育や自己学習を行ったエンジニアならば対応可能だと思われます。ただし、サーバーを管理しないということは逆に言えばサーバー上での動きが全く見えないということであり、その辺りはユーザーにとってブラックボックスとなります。結果としては何か問題があったときに問題判別の手段が限定されるとか、結局は自分たちで解決が不可能になるといったことも発生し得ます。
各ツールの運用について、表でまとめると以下となります。
Nagios | Zabbix | Prometheus | CloudWatch | Site24x7 | |
---|---|---|---|---|---|
サーバー運用の要員 | 要 | 要 | 要 | 不要 | 不要 |
※ 2020年12月7日現在
ログ監視を始めるまでの所要時間編
今まで紹介してきた内容を数値化したデータとして、それぞれのフェーズでの所要時間をまとめました。検証は、以下のような環境をベースとし、所要時間を以下のように定義しています。
検証環境
- 監視サーバー(Zabbix、Nagios、Prometheusの場合):AWS上のRed Hat Enterprise Linux 8.0
- 監視対象サーバー:AWS上のRed Hat Enterprise Linux 8.0(監視サーバー自身)
- 監視対象サーバー数:1
- ログ監視トリガー数:1
- 通知手段:メール
所要時間の定義
初めて構築する際は、マニュアルや多くの関連情報を検索しながら多くのトライ&エラーが必要となり、その時間には個人差が生じます。そのため、当検証では、各ツールで一度時間をかけながらログ監視を始めるまでの手順を実現し、その手順を把握した上で、再度一定の作業スピードでつまずくことなく同じ手順を実施、その2回目の手順にかかったおおよその時間を確認しました。
なお、ここに示す所要時間は今回の特定の検証環境における時間です。すべての環境で同じ結果を保証するものではありません。あくまでも参考情報としてご参照ください。
Nagios 合計90分
内訳
- 構築(30分)
- エージェントのインストール(20分)
- 設定 (30分)
- 通知設定(10分)
Zabbix 合計110分
内訳
- 構築(40分)
- エージェントインストール(20分)
- ログ監視設定(30分)
- 通知設定(20分)
Prometheus 合計90分
内訳
- 構築(30分)
- エージェントのインストール(30分)
- 設定(20分)
- 通知設定(10分)
CloudWatch 合計50分
内訳
- エージェントインストール(20分)
- ログ監視に必要な各種設定(20分)
- 通知設定(10分)
Site24x7 合計10分
内訳
- サインアップ(2分)
- エージェントインストール(4分)
- ログ監視設定(4分)
- 通知設定(0分)
Nagios | Zabbix | Prometheus | CloudWatch | Site24x7 | |
---|---|---|---|---|---|
ログ監視を始めるまでの所要時間 | 90分 | 110分 | 90分 | 50分 | 10分 |
※ 2020年12月7日現在
※ 本記事に示す検証方法の場合
まとめ(5ツール比較表)
この記事では、5つの監視ツールを使用してログ監視を行う場合のそれぞれのツールの特徴を各フェーズの作業をベースに明確にしてきました。
これらのツールのどれを使えば一番良いのかということに関しては、ユーザーが求めている要件によって変わってきます。考慮すべき内容に関しては各章の最後に記述してきましたが、ここで改めて感覚的ではない客観的な事実を表にまとめておきますので、ご参照ください。
※1 | Nagios | Zabbix | Prometheus | CloudWatch | Site24x7 |
---|---|---|---|---|---|
タイプ | オンプレ | オンプレ | オンプレ | SaaS | SaaS |
ライセンス費用 | 無料 | 無料 | 無料 | 無料/有料 | 無料/有料 |
監視サーバー | 要 | 要 | 要 | 不要 | 不要 |
監視サーバー用のDBサーバー | 不要 | 要 | 不要 | 不要 | 不要 |
エージェントのインストールにコンパイル作業 | 要 | 不要 | 要 | 不要 | 不要 |
設定にWebインターフェースを提供 | 無し | 有り | 無し | 有り | 有り |
設定時のテキストファイルの編集 | 要 | 要 | 要 | 不要 | 不要 |
デフォルト設定で監視項目の有効化 | 不可能 | 可能 | 不可能 | 可能 | 可能 |
サーバー運用の要員 | 要 | 要 | 要 | 不要 | 不要 |
ログ監視を始めるまでの所要時間 ※2 | 90分 | 110分 | 90分 | 50分 | 10分 |
※1 2020年12月7日現在
※2 本記事に示す検証方法の場合
ここで最も重要なのは、結局は使ってみないと分からないということです。これはどのようなツールにおいても同様です。ただ、全てのツールを試用するというのは現実的に不可能なので、ある程度対象を絞り込むための情報として、今回の記事をご活用ください。ここまで記述してきた内容をご参考の上、絞り込んでいただき、改めてそれらのツールを試用されてから、どのツールが本来の自分の目的に合うかを詳細に検討してみてください。
プランと価格の詳細はこちら:
https://www.site24x7.jp/pricing.html
フリープランのサインアップはこちら:
https://www.site24x7.jp/signup.html?pack=1&l=ja
ログ監視機能の詳細と10分で始める手順:
Windowsイベントログ監視
Linuxログ(Syslog)監視
免責事項:ここに記載されているすべての著作権、商標、商号は、元の所有者の所有物です。このWebページに含まれる情報は、一般的な情報提供のみを目的としており、そのような情報は、正確性、信頼性、または完全性について調査、監視、または確認されていません。 当社は、ここに含まれる情報への依存に起因する誤り、または損失に対する責任を明示的に否認します。