企業のITインフラやさまざまなITサービスを実現するうえで「サーバ」は欠かせない存在で、企業が求めるIT人材として知っておきたい必須知識の1つでもあります。

本連載では、「サーバとはいったいどのようなものか?」に始まり、利用方法や種類などの基礎的な知識とともに、セキュリティ対策や仮想化、サーバレスなど効率的にサーバを利用・管理するうえでのポイントといった、情報システム担当者の実務に役立つ話題を紹介していきます。

連載第10回は、キンドリルジャパンの伴 俊秀さんに、サーバの管理・監視にあたって押さえておきたい、サーバの構成要素や運用・保守業務の流れと監視サービス選定のポイントを解説してもらいます。

サーバの管理・監視に必要な構成要素とは?

サーバの管理・監視とは、サーバがユーザーに対して提供するサービスの正常性を維持するために、サーバを構成する要素(コンポーネント)を保守し、出力されるログデータなどを監視し、異常の無いことを確認する活動です。

最初にサーバの管理と監視に欠かせないコンポーネントを押さえておきましょう。オンプレミスで稼働する一般的なサーバのコンポーネントは、「アプリケーション/サービス」「ミドルウェア」「OS/仮想化ハイパーバイザ」「ハードウェア」の4つに分けられます。

  • サーバの構成要素

    サーバの構成要素

アプリケーション/サービスは、IT管理者がユーザーに対して提供するサーバ機能です。WebサーバならHTMLドキュメントなどのコンテンツを提供するHTTPサービス、ファイルサーバなら「SMB(Server Message Block)」や「NFS(Network File System)」などのファイル共有サービスを指します。

ミドルウェアは、アプリケーションとの区別が難しい場合もありますが、ユーザーに直接サービスを提供せずITシステムを構成するために必要となるOSを含まないソフトウェアの総称です。Javaプログラムなどの実行エンジン、データベース管理ソフトウェア、運用監視用のエージェントソフトウェアなどが該当します。

OS/仮想化ハイパーバイザは、いわゆるWindowsやLinuxなどが該当します。サーバのハードウェアを効率的に利用・管理することを目的としたソフトウェアです。

ハードウェアは、物理的に存在するCPUや電源ボタンなどを指しますが、OS機能に依存せずにそれらのハードウェアを制御するための「ファームウェア」と呼ばれるソフトウェアを含みます。

商用サーバには「BMC(Baseboard Management Controller)」というハードウェアが搭載されています。BMCが搭載されていることで、IT管理者はネットワークを経由し、「遠隔地からサーバの電源を投入、シャットダウン」、「遠隔地からファームウェアを更新、OSインストール」、「ハードウェア故障などの障害をネットワーク経由で、電子メールやSNMPトラップなどに通知」などを行うことができます。

なお、同じコンピュータであるパソコン、スマートフォンには搭載されません。そのため、パソコンを利用して自前でサーバに構築した場合には、BMCは搭載されていません。

サーバメーカーによって、BMCに相当するコンポーネントの名称は異なります。HPE ProLiantサーバであれば「iLO」、Dell PowerEdgeサーバは「iDRAC」、Lenovo ThinkServerは「TSM」、Cisco UCSサーバは「CIMC」が該当します。

ITシステム全体を管理・監視する場合には、ネットワークやストレージ機器も監視対象に含まれます。ITシステムをクラウド上に構築する場合は、ミドルウェアから下のコンポーネントなど、一部の管理責任をクラウドベンダーに委任することもできます。

サーバ管理はどう行う?

サーバの監視はシステムを安定稼働させるための運用・保守業務の一部となります。運用には「ログ管理」や「ジョブ管理」など複数項目があり、保守では更新の適用やシステム構成の変更などを行います。

  • システムの運用保守における代表的な運用項目

    システムの運用保守における代表的な運用項目

IT運用現場でどんなことが起こっているのか、イメージしやすいようリアルなトラブル例をあげ、保守運用の流れを紹介します。

  1. 休日夜間に「サーバA」がメモリ故障により停止
  2. 監視システムがこれを検知し、監視オペレーターにアラートを通知
  3. 監視オペレーターはアラート内容を確認し、運用担当SEに連絡
  4. 運用担当SEは、「サーバA」と同じ役割を持つ「サーバB」が稼働し、システム全体としてはサービスが提供できており、業務影響が発生していないことを確認。さらに、ファイルサーバに保管されている「サーバA」のログを確認し、メモリ故障が原因であると特定。ハードウェアベンダーにメモリ交換を依頼
  5. 数日後、ハードウェアのベンダー担当者がメモリ交換を実施。運用担当SEは、「サーバA」が正しく起動したことを確認して対応を完了

この例では、運用項目の監視、ログ管理、障害対応、起動停止が連携し、実施されています。トラブルによってサーバがストップし、サービスが止まることがないよう、日々の運用保守活動がシステムの安定稼働を支えているのです。

障害により業務影響が一度発生してしまうと、サービスそのもの、ひいてはサービスを提供する企業に、信用失墜や金銭的損失が起こる可能性があります。そのため障害の未然防止が求められます。具体的な未然防止策として、信頼性の高いハードウェアにする、ハードウェア障害が起きても停止しにくいソフトウェア、およびアプリケーションにするなどの対策があります。

最近起こった大規模障害を検証すると、ハードウェアやアプリケーションの更新時に発生していることが多いようです。これは、変更前のテスト実施が不十分で、テスト項目に考慮漏れがあったことなどが原因と考えられます。

これらを改善するのが「変更管理」の活動です。変更前に十分な調査に基づいた検証を行うことで、変更起因の障害を未然防止することを目的としています。

効率的な管理・監視のために外部サービスを利用

システムの運用保守は、自動化できるところはなるべく自動化するべきです。自動化で対応の迅速化と効率化を実現し、人依存によるミス発生や品質のばらつきを防止できるからです。

ジョブ管理や監視は早くから自動化されてきました。特に監視は、最近ではネットワーク・ハードウェア・ソフトウェアからアプリケーションまで一元的に監視可能な統合監視ソフトウェアを利用できます。アプリケーション内部の動きをリアルタイムで解析し、パフォーマンス低下の起因となっている特定のプログラム・コードまで指摘してくれる、APM(Application Performance Management)領域のソフトウェアも多くなっています。

さらに、機械学習を利用し、人手ではできないスピードと量のアノマリー検知、影響範囲分析、根本原因分析、推奨アクションなどの分析作業を行うAIOps(Artificial Intelligence for IT Operations)領域のソフトウェアも登場しています。これらのソフトウェアを適切に利用することで、運用保守の迅速化・効率化をさらに推進することができます。

  • システムの監視ソフトウェアの利用イメージ

    システムの監視ソフトウェアの利用イメージ

一方で、監視システムを自社で構築・運用するには一定のスキルが必要です。例えば、監視サーバはLinux上に構築することが多いですが、監視ソフトウェア以外にMySQLやApacheといった複数のコンポーネントで構成され、それらをあつかうためのソフトウェアスキルが必要になります。冗長構成を取る場合には、PacemakerやCorosyncといった冗長化用コンポーネントの利用が必要で、それらのソフトウェアスキルが必要となります。

広範囲のソフトウェアスキルが必要となるため、こうした監視システムの構築・運用は外部の監視サービスに任せることもひとつの方法です。その結果、監視機能のそのものの利用にフォーカスしやすくなります。

監視サービスは、基本的な監視機能を低価格で提供するものから、APMやRUM(Real User Monitoring:ユーザー操作の監視)、Synthetic Monitoring(グローバルに配置された監視用サイトから自社サイトへのアクセスを監視)、さらにAIOps機能まで選択できる高機能なSaaSまでさまざまなものがあります。監視および可視化機能の豊富さと価格が比例していることが多いですが、自社の監視要件に合う適切なサービスを選択するべきでしょう。

なお、監視サービスの選定にあたっては以下の点の確認が必要です。

  • 自社システムへの対応可否
    監視対象サーバのOSなどがサポート対象になっているか
  • Agent導入の有無
    監視対象サーバへAgentを導入することにより詳細な監視が可能になるが、業務ソフトウェアへの影響を考慮する必要があるか
  • 機密データの保護
    個人情報などが監視サービス側に保管されない仕組みがあるか

場合によっては、監視や障害対応の運用自体を外部に委託することも検討すべきでしょう。24時間/365日の障害対応のために、監視オペレーターや運用担当SEを自社に抱えておくのは、コストだけでなく、ローテーションやモラル維持、スキルの継承といったさまざまな運用負荷を伴います。

また、監視に関わるユーザー対応にも運用負荷がかかります。例えば、監視対象サーバ追加にともなう監視設定や、システム変更作業などにともなう監視抑止(一定期間のアラート通知停止)があります。そのため、自社の運用要件に合致するのであれば、監視や障害対応を中心とした運用業務を提供するMSP(Managed Service Provider)の利用も検討するべきです。