円滑なシステム運用に必要な監視ツール。
OSS(オープンソースソフトウェア)として開発された監視ツールの中で、最も歴史が古く「古豪」と称されるのが「Nagios」です。Nagiosはオープンソースの代表的な監視ツールであり、サーバやネットワーク機器の状態監視や通知に広く利用されています。
監視対象が増えてくると監視ツールを導入する企業は多いですが、効率化がかえってムダな作業が増えてしまう結果となってしまうことも。
今回は、監視ツールの中から「Nagios」を取り上げ、OSSの運用管理ツールの活用方法やデメリット、問題点の解消方法について紹介します。
監視ツールの導入を考えている方や、現在使っている監視ツールに不便さを感じている方はぜひ参考にしてください。
目次
Nigos(ナギオス)とは?
Nagios(ナギオス)は、システム及びネットワークの稼働状況を監視するソフトウェアです。
古豪だけあって利用実績や日本語の情報が豊富で、比較的情報の入手が容易です。
しかもOSSなので、基本的な機能は無料でも利用することが可能となっています。
元はLinux向けのソフトウェアでしたが、現在では他のUnix系OSでも動作するようになりました。
NagiosはWEBベースのアプリケーションであり、導入することでネットワークサービス(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)を監視することが可能になります。
「Nagios」という名称は「Nagios Ain’t Gonna Insist On Sainthood(Nagiosは聖人の地位に固執しない)」の略だとされています。
当初、Nagiosは「NetSaint」という名称で開発が行われていました(1999年にリリース、2002年にNagiosに改名)。
Nagiosのように正式名称の中にそれ自身が含まれている頭字語は「再帰的頭字語」「自己言及型頭字語」と呼ばれます。
他に有名なところではGNU(GNU is Not Unix)があります。
Nagiosの特徴
Nagiosの基本的な機能は以下のとおりです。
死活チェック…サーバにPINGを飛ばして確認する
アクティブチェック…クライアントとしてサーバにアクセスして稼働状況を監視する
「これだけ?」と思われるかもしれませんが、実際には様々なプラグインを使うことで多様なサーバ機能をチェックできるようになっており、機能面で不足することはないと言われています。
プラグインは、Nagiosのコミュニティサイトで公開されています。
Windowsや独自プロトコルを利用したサービスも監視できるだけでなく、ユーザーサイドで監視対象に合わせてプラグインを独自に開発することも可能です。
主なプラグイン記述言語
Bash
C++
Perl
Ruby
Python
PHP
C# など
ただし、プラグインでは対象を外側から監視することしかできません。
このため、Nagiosでは対象の内部にインストールして監視を行うアドオンプログラムも使用可能となっています。
より具体的には、次のような機能が使用可能です。
Nagiosの機能 機能詳細 ホストリソース監視機能 CPU負荷、ディスク使用量、システムログなどを監視 プローブ監視機能 ネットワーク経由で温度、湿度、水量など各種データを収集 通知機能 問題発生時・解決時に指定された方法(電子メール、無線、SMS、その他)で管理者に通知 イベントハンドラ機能 障害発生時に実行されるイベントハンドラを定義可能 ログファイル機能 自動でログファイルローテーションが可能
このように多彩な機能を誇るNagiosですが、従来から以下のような問題点も指摘されてきました。
インストールや初期設定に手間がかかる
設定はコマンドラインで行わなければならない
ユーザーの閲覧制御ができない
知識やスキルがないと使用が困難
情報は豊富だが、技術的な質問の直接問合せ先がない
もっとも、現在では「Nagios XI」といった商用版Nagiosが販売されるようになり、技術的なサポートが受けられるだけでなく使い勝手も格段に向上しています。
最新のNagios機能・プラグイン、連携ツールの紹介 Nagiosの商用版であるNagios XIでは、近年多くの新機能と改良が加えられています。新機能や連携ツールについて紹介します。
Nagios XIの新機能と強化点
最新リリースではNeptuneというモダンなUIテーマが導入され、ダッシュボードの見やすさが向上しました。また、VMware vSphere環境監視のための構成ウィザードが追加され、仮想環境の監視設定が容易になっています。メトリクス表示やアラート履歴を確認できるダッシュレットの強化により、過去の傾向分析やインシデント対応も効率化されています。さらに、最新のNagios XI 2024ではOpenAIの使用状況監視機能が追加されたほか、通知機能としてSlackやDiscordとの統合が公式にサポートされました。
Nagios Fusionを用いた統合監視
大規模環境では拠点ごとや部署ごとに複数のNagiosサーバを運用するケースがあります。Nagios Fusionは、そうした複数のNagios (Nagios CoreやNagios XI) のインスタンスを一元的に統合表示するためのツールです。Nagios Fusionを使うことで、各Nagiosサーバの監視ステータスを一つのダッシュボードで俯瞰でき、運用者は集中管理が可能になります。例えば本社と支社にそれぞれNagiosを配置している場合、Fusion上で全拠点のアラートやステータスを一覧できます。最新のNagios Fusion 2024ではNagios Network Analyzerとの連携強化や、ユーザ向けにダークテーマの追加、セキュリティ強化として二要素認証(2FA)のサポートが実装されています。これにより大規模環境における統合監視とセキュリティ管理がさらに向上しています。
外部ツール(Slack、JIRA、Grafana)との連携活用
Nagiosは他の運用ツールとの連携によって監視業務をさらに効率化できます。 昨今特に要望が高いのがチャットツールとの連携で、Nagiosからのアラート通知をSlackに送信することでチーム全員に即時共有する運用が一般的です。 Nagios XI 2024ではSlack通知が公式機能として追加されましたが、Nagios Coreでもカスタムスクリプトを用いてSlackのWebフックAPIに通知を飛ばす設定が可能です。また、インシデント管理システムのJIRAとの連携では、Nagiosのアラート発生時に自動でJIRAチケットを起票する仕組みを実装できます。Nagios XI向けにはJIRA連携のコンポーネントや、スクリプト経由でJIRA Service ManagementのAPIを呼び出す公式ガイドも提供されています。
さらに監視データの視覚化の面ではGrafanaとの統合が注目されています。Nagios単体では時系列の詳細なグラフやダッシュボード機能が弱いため、蓄積したパフォーマンスデータ(RRDや時系列DBへ保存したメトリクス)をGrafanaで可視化する運用がベストプラクティスです。例えばNagiosのアドオンであるPNP4NagiosやNagiosグラフデータをInfluxDBに送るNagfluxを使い、Grafanaからデータソースとして参照する構成が一般的です
Nagiosの問題点
監視業務であれば、Nagiosでも、Zabbix でも実現することが可能です。
しかし、監視対象が増えてくると、別の問題が出てくることがあります。
メール数が増大し担当者の負担が増える
例えば、Nagiosで監視業務を行い、通知を電子メールで受け取る設定にしていた場合、通知メール数が増大するに従って、指示を振り分けインシデントを管理する担当者の負担も増大します。
もともと機器ごとやサーバごとに個別の監視ツールを使い分けていた企業の担当者であれば、
ツールごとに設定作業を行う
複数ツールの画面を切り替えて異なるフォーマットのアラートメールを判別し振り分ける
といったことに苦労した経験があるかもしれません。
Nagiosのような統合監視ツールを導入すれば、こういった問題からはひとまず解放されますが、アラート量の増大 という問題は残り続けます。
ムダな作業が増大する
また、最近ではわずかなシステムの変化でも通知する監視設定を行う企業が増えています。
すると結局、担当者の負担が増大して、
結果的に手作業ミスが増加する
些細なアラートで担当者が呼び出される無駄が増加する
といった問題はなくなりません。
このような問題を解決するための強力なツールがSHERPA SUITEです。
SHERPA SUITE導入のメリット
SHERPA SUITEはシステム運用におけるコスト削減・サービス品質向上を目的に開発された運用管理ソリューションです。
を備えており、Nagiosなどの監視ツールと連携を取ることができます。
システム運用のムダとミスを減らす
SHERPA SUITEの強みはシステム運用の自動化と可視化 にあります。
SHERPA SUITEでは、様々なメール通知をルールに従って判別、情報を付加、指定箇所に通知するといった作業を自動化できます。
ユニークなIDが付与されたチケットで管理することで、担当者が替わっても素早く対応することが可能。
一連の作業はITILに準拠したインシデント管理に組み込まれ、漏れのない運用を実現することができます。
ジョブ管理機能は、定型バッチ処理や障害対応の自動化などにも対応しています。
他にも自動メール一括送信や、オプションで自動電話通知ソリューションなどを利用することも可能です。
一元管理で効率化を目指す
統合監視ツールを導入するのは、監視対象が増大したタイミングが多いと思います。
SHERPA SUITEを合わせて導入すると、最初から統一されたインターフェース で監視も含めた運用業務を一元管理することが可能になります。
ITIL準拠のツールなので、一連の作業のPCDAサイクルを回しつつ、長時間労働の削減や時短勤務を実現することもできます。
単なる業務効率化だけでなく、「働き方改革」も実現可能なのが、SHERPA SUITEを導入する魅力と言えるでしょう。
Nagiosの活用事例 Nagiosの活用例を紹介します。
金融業界やクラウドサービス企業での導入事例
Nagiosは多種多様な業界で採用されていますが、特に金融業界やクラウドサービス企業での利用が顕著です。
金融業界では、銀行や証券会社のミッションクリティカルな基幹システム監視にNagiosが用いられるケースがあります。 例えば国内のある銀行では、勘定系システムのサーバ群やネットワーク機器をNagiosで一元監視し、障害発生時にはNagiosからJIRA連携でチケットを自動起票、オンコール担当者へSMS通知といったフローを構築しています。金融分野では信頼性確保のためオンプレミス環境が中心ですが、Nagiosは自社内サーバにインストールして運用できるため、セキュリティポリシーに適合しやすい点も採用理由となっています。 また長年使われているレガシーシステムの監視にもNagiosは適しています。例えばメインフレームと周辺サーバの死活をシンプルにチェックし、結果を統合表示するだけでも運用効率は格段に向上します。
総じてNagiosは業種や環境を問わず柔軟に適用可能であり、既存資産との親和性やカスタマイズ性の高さから、国内外で多くの実績があります。
Nagiosイベントハンドラを活用した自動対応
Nagiosの強力な機能の一つにイベントハンドラ (Event Handler)があります。イベントハンドラとは、特定のホストやサービスに障害や復旧イベントが発生した際、自動的に実行されるスクリプトやプログラムのことです。これを活用すると、単に障害を検知・通知するだけでなく自動復旧処理まで組み込んだ高度な監視運用が可能です。
アラート最適化と通知エスカレーション
効果的な監視運用には、アラートの最適化と通知エスカレーションの設計が欠かせません。Nagiosは柔軟な通知機能を備えていますが、何も考えずに全アラートを全管理者に送る設定にすると、通知過多による重要アラートの見落としや運用負荷増大を招きます。 そこでまずアラート最適化のポイントとして、ファインチューニングをすべきです。
また通知エスカレーションも重要です。Nagiosではエスカレーションルールを定義することで、同じ障害でも時間経過や重要度に応じて通知先を変えることができます。 まず一次対応者グループ(システム管理者など)に障害発生を通知し、一定時間内に問題が解消されない場合やAcknowledgement(対応中の印)が付かない場合に、二次対応者(マネージャや他部署)へ通知をエスカレートする設定が有効です。 具体例として、サービスダウンを検知したら最初の15分間は担当チームのオンコールにメール通知のみ送り、30分経過しても未対応なら部門長にSMS通知、1時間経過で役員に電話連絡、といった段階的エスカレーションをNagiosで自動化します。
適切なアラートチューニングとエスカレーションにより、重要な通知が確実に適切な担当者へ届き、かつ不要な通知で疲弊しない健全な監視運用を実現できます。
監視の負荷分散・分散監視の実装方法
単一のNagiosサーバで監視対象が膨大になると、スケーラビリティや信頼性の課題が生じます。そのような場合に備えて、Nagiosの負荷分散や分散監視を実装する必要もあります。
他監視ツールとの比較情報
Nagios と Zabbix(機能比較と使い分け)
Nagiosと双璧をなすオープンソース監視ツールにZabbixがあります。両者は目的こそ共通していますが、アーキテクチャや機能に違いがあるため、特徴を押さえて使い分けることが重要です。
インターフェースと設定の違い
ZabbixはオールインワンのWebインターフェースを備え、エージェントの配布から監視項目設定、グラフ表示まですべてGUI上で完結できます。テンプレート機能や自動ディスカバリも充実しており、初期導入後すぐに詳細な監視が可能です。対してNagios (Core)はテキストベースの設定が中心で、軽量シンプルな分細かなカスタマイズ性に優れます。例えば自作スクリプトを監視に組み込む柔軟性や、プラグインの追加による機能拡張はNagiosの得意分野です。ただしその分初期構築や設定変更時の手間はZabbixに比べ多く、スピーディに環境構築したい場合はZabbixが有利です。
可観測性(メトリクス蓄積とグラフ化)
Zabbixは取得したメトリクスを内部DB(通常はMySQL/PostgreSQL)に時系列データとして保存し、履歴グラフやトレンド分析を標準で提供します。ダッシュボードでCPU使用率の推移やクロス集計グラフを作成することも容易で、運用報告資料の作成などに強みがあります。Nagiosはデフォルトでは現在状態と簡易な履歴しか保持せず、本格的なグラフ化には前述のとおり外部ツールを組み合わせる必要があります。そのため、キャパシティプランニングや傾向分析重視ならZabbix、シンプルな死活監視が中心ならNagiosといった使い分けが考えられます。
スケーラビリティ
大規模環境ではZabbixはプロキシ(Proxy)機能で冗長化・分散化を図れます。Zabbix Proxyは拠点などでデータ収集を代行し、本体サーバの負荷を軽減する仕組みです。一方Nagiosは上述のように別途Mod-Gearmanや分散設定を組む必要があり、製品自体に明確な分散機構が内包されているわけではありません。その意味で、箱から出してすぐスケールさせやすいのはZabbixです。ただNagiosも工夫次第で大規模対応は可能であり、実際にFortune 500企業で何万というチェックをNagiosで処理している事例もあります。
通知・エスカレーション
両者ともメールやSMS通知、エスカレーション機能を備えますが、ZabbixはGUI上で細かなルール設定が可能で、例えば「平日日中はメール、夜間と週末はSMS」といった条件設定も柔軟です。Nagiosでも同様のことは定義ファイルで可能ですが、テキスト編集のため煩雑さは否めません。またZabbixは通知処理において送信の再試行や確実な配信(失敗時のログ記録など)に工夫がありますが、Nagiosはスクリプト実行結果に任せる部分が多く、ロスなく通知できているかの担保が課題となることがあります
総合すると、Zabbixは統合的で使いやすく大規模向き、Nagiosは軽量でカスタマイズ自在と言えます。運用チームのスキルセットや重視するポイントによって選択が分かれるでしょう。
ただ総じてどちらのツールを利用するにせよ、結局、担当者の負担が増大するケースが多いです。
結果的に手作業ミスが増加する
些細なアラートで担当者が呼び出される無駄が増加する
といった問題はなくなりません。
このような問題を解決するためにはインシデント管理ツールが必要であり、当社が提供する「SHERPA SUITE」で問題解決が可能です。
SHERPA-IRについてはこちら
SHERPA SUITEの強み
アラートの自動化
SHERPA SUITEは、さまざまなメール通知をルールに基づいて判別し、情報を付加して指定された場所に通知します。
これにより、担当者の手作業を削減し、通知の精度と迅速性が向上します。
インシデント管理の効率化
ユニークなIDが付与されたチケットによって、担当者が交代してもスムーズに対応できます。また、ITILに準拠したインシデント管理により、漏れのない運用が実現されます。
ジョブ管理の自動化
定型バッチ処理や障害対応を自動化することで、手動作業の削減と作業の効率化が図れます。
自動メール一括送信や、オプションで自動電話通知ソリューションも利用可能です。
一元管理と統合
SHERPA SUITEを導入することで、統一されたインターフェースで監視業務を一元管理できます。
これにより、異なるツールを切り替える手間が省け、運用業務の効率が大幅に向上します。
さらに、ITIL準拠のPCDAサイクルを回しつつ、長時間労働の削減や時短勤務の実現が可能です。
SHERPA SUITEの導入により、システム運用のムダを削減し、効率的な運用が実現できます。
特に監視対象が増大した際には、SHERPA SUITEとの連携が効果的です。
まとめ
システムやサービスを効率的に運用していくには、問題が発生した際の迅速な対応や、業務のムダをなくすことが重要です。
しかし、業務の無駄を減らすつもりが、かえって担当者の負担や業務を増やしてしまうといったこともあります。
監視ツールを導入する前には、メリットだけでなくデメリットについても検討し、より良い活用方法を見つけましょう。