-
サーバ構築のデージーネットTOP
-
OSS情報
-
OSS紹介
-
Zabbix〜ログ監視も可能なOSSの監視ツール〜
Zabbix〜ログ監視も可能なOSSの監視ツール〜
Zabbixとは、サーバやネットワーク、アプリケーションに至るまで、統合的にシステムを監視するオープンソースソフトウェアです。Zabbixはシステム監視に必要な機能を網羅していることから、監視サーバとして非常に知名度が高く、世界中で導入事例のある人気のソフトウェアです。その上、オープンソースで公開されているためライセンス費用などはかからず、コストを抑えて監視サーバを構築することができます。この記事では、Zabbixの主な特徴、基本的な使い方などについて紹介します。
- +
目次
Zabbixとは
Zabbixとは、サーバ、ネットワーク、アプリケーションを集中監視するための統合監視ソフトウェアです。Zabbix SIA社が開発を行いました。Zabbixはオープンソースソフトウェアであるため、誰でもインストールし導入することができます。
Zabbix利用画面
Zabbixは、統合監視に必要な監視、障害検知、通知機能を備え、多数のプラットフォームに対応しています。そのため、Zabbixを導入することでシステム全体を監視することができます。また、ほとんどのLinux環境で利用可能で、RedHat Enterprise LinuxやCentOS、Ubuntuなど、様々なOSからパッケージをダウンロードすることができます。こうしたメリットから、Zabbixは監視ツールとして非常に名前が知られているソフトウェアで、日本国内でも幅広い業界の企業で採用されています。
Zabbixの特徴
Zabbixには以下の特徴があります。
SNMP監視・Zabbixエージェントによる監視をサポートしている
Zabbixは、ネットワーク機器などがサポートするSNMPを使った監視と、独自のZabbixエージェントを利用する監視の両方をサポートしています。Zabbixエージェントを使用しない監視では、Zabbixの監視対象ホストとのping疎通、稼動しているLinuxプロセスやWindowsサービスの状態などを監視することができます。一方、Zabbixエージェントを用いた監視では、CPU・メモリの使用率やスワップが発生していないかを監視することが可能です。
「Zabbixの基本的な監視機能」ページへ
Webインターフェースから設定できる
Zabbixには、Webの管理画面が付属しており、Webアプリケーションとして動作します。このWeb画面を用いることでZabbixの設定変更を視覚的に行えるため、設定が容易になり、管理の負担軽減につながります。また、監視対象サーバや監視項目をグループで管理することもできます。言語設定を変更すれば日本語表示も可能です。
収集データはMySQLに保存
Zabbixでは、データをMySQLに保管します。データベースに保存したZabbixの収集データからグラフを作成し、リソース使用状況の傾向分析や障害分析に役立てることが可能です。
自由に拡張ができる
スクリプトを作成してアプリケーションに対するZabbixによる監視を独自に拡張できたり、障害検知時にもZabbixエージェントにスクリプトを実行させたりできます。
冗長化や大規模なシステムへの対応も可能
HAクラスタの技術と組み合わせて、Zabbixの監視が停止しないようにすることもできます。また、Zabbix Proxyを利用すれば大規模なシステムの監視を行うこともできます。
「Zabbixの応用システム構成」ページへ
高品質で安定している
Zabbixは高品質で安定したソフトウェアです。そのため導入にあたっては、あまり使われていない機能を利用する場合を除き、普段の利用において大きな問題が発生することはほとんどありません。また、Zabbixコミュニティから様々なLinuxディストリビューション用のRPMが公開されているため、インストールもさほど難しくありません。もしサポートが必要な場合には、Zabbix LLC社およびZabbix LLCパートナーが提供するサポートサービスを利用することができます。
ZabbixとCacti
Zabbixと同じく、ネットワークやサーバの状態を監視するOSSにCactiというソフトウェアがあります。Cactiは、ネットワークやサーバの状態を取得しグラフ化することができます。Zabbixと同様、監視対象へSNMPや専用のエージェントを導入して、定期的に監視対象へアクセスし、情報を取得し監視を行います。ZabbixもCactiもウェブインターフェースを備えていて、監視サーバとしてよく利用されています。
デージーネットでは、ZabbixとCactiを用途に応じて提案しています。以下ではそれぞれのポイントをまとめました。
Zabbix
Zabbixは統合監視に必要な機能を備えていて、システム全体をZabbixひとつで監視することが可能です。特に、マップの作成、閾値監視、障害通知の機能が重要なケースでは、Zabbixをおすすめしています。
Cacti
Cactiは、グラフ生成ツールとして有名なMRTGの代替ツールです。MRTGから移行する場合や、リソース監視やグラフの作成機能を重要視する場合にCactiをおすすめしています。また、Zabbixに比べ利用の難易度が低いという特徴もあります。
なお、以下の記事では、ZabbixやCactiの他にも、いくつかの監視サーバソフトウェアを紹介し比較をしています。OSSの監視サーバの導入を検討中の方向けに選定ポイントも解説しています。
「OSSのおすすめ監視サーバ・監視ツール比較21選」へ
バージョンアップで追加された機能
Zabbixのバージョンアップで追加された機能は以下の通りです。
- +
Zabbix 4.0で追加された機能(リリース日:2018/10/1)
- ★
Zabbix3.0から4.0までに追加された機能は以下です。
- ダッシュボードの改良
作成した複数のダッシュボードの切り替え表示が可能になり、さらに表示の仕方を自由に変えることが出来るので、視覚的に見やすくなりました。
- グラフの形式が増加
- 「キオスクモード」の追加
ダッシュボードにキオスクモードが追加され、メニューやダッシュボードの選択を非表示ができるようになりました。それにより、グラフウィジェットのみの表示が可能になりました。
- テンプレートの追加
IBM、Dell、HP、Cisco UCS、およびSupermicro Atenハードウェアを監視するための新しいテンプレートが追加されました。
- 自動登録機能の強化
ホストのメタデータが変更された場合に自動更新が行われるようになりました。
- 問題の一覧のコンパクトビューが可能
- 日付設定をdatepickerのカレンダーで選択可能
- 検索時の時間指定方法・フィルタリング方法が改善
- [check now]ボタンが追加され、メトリクスの即時取得に対応
- HTTP/HTTPSによるデータポーリングを行うためのアイテムが追加
- ローレベルディスカバリ機能でのマクロによる設定に対応
- タグ情報によるメンテナンスの制御が可能
- HTTP認証によるSSO機能が追加
- MySQL8.0のサポート
- 「問題の重要度」がトリガー依存ではなくなり、変更できる
- トリガー・イベントや監視の値などをリアルタイムにエクスポートできる
- サーバ・プロキシ間の通信の圧縮をサポート
- +
Zabbix 5.0で追加された機能(リリース日:2020/5/11)
- ★
Zabbix4.0から5.0までに追加された機能は以下です。
- メインメニューの改良
メインメニューのレイアウトがサイドバーの垂直スタイルに変更になり、画面遷移や画面スペースを効率的に使用できるようになりました。
- テンプレートの追加
Nginx、Apache、RabbitMQ、MySQL/MariaDB、PostgreSQL、HAProxy、Redis及び、Elasticsearch、ClickHouse、Memcached、Docker、IPMIを使用したサーバーを監視するための新しいテンプレートが追加されました。
- Zabbix agent2の追加
既存のZabbixエージェントをGo言語で書き直したZabbix agent 2と呼ばれるエージェントが実装されました。これにより、TCPコネクション数の削減や、アクティブチェックの並列性の改善などが行われています。
- Zabbixエージェント2にプラグインを追加
Zabbixエージェント2に、Docker、Memcached、MySQL、Redisのプラグインが追加されました。
- Webhook連携の対応メディアが追加
Discord、Jira、Mattermost、MS Teams、Opsgenie、PagerDuty、Pushover、Redmine、ServiceNow、SIGNL4、Slack、Telegram、Zammad、Zendeskなどが新たなメディアタイプとして追加されました。
- Prometheusエージェント追加
ZabbixでPrometheusのデータを扱うことができるようになりました。
- Kerberos認証対応
Kerberos認証を使用したWEB監視およびHTTPエージェントのサポートが追加されました。
- 設定中のアイテムに対するテスト機能を追加
WEB画面からアイテムの設定中にアイテムのテストが実施できるようになりました。
- PHP7.4の対応
- Elasticsearchバージョン7をサポート
- SAML認証を追加
自動登録に正規表現マッチングを導入
- IE11のサポートを削除
Zabbix5.0では、IE11のサポートが終了しました。
- +
Zabbix 6.0で追加された機能(リリース日:2022/2/14)
- ★
Zabbix5.0から6.0までに追加された主な機能は以下です。
- Zabbixサーバの高可用性(HA)クラスタリングが可能
Zabbixサーバ自身の機能で、HAクラスタを構築することが可能となりました。これまでは、Pacemakerやcorosync等のクラスタリングソフトウェアを利用して冗長化するのが一般的でしたが、これらを利用せずにZabbixサーバの可用性を確保することができます。
- サービス監視の機能拡張
サービス、サービスアクション、SLA、SLAレポートの4つのセクションからなる、サービス監視のためのメニューが新たに追加されました。
- 新しいマクロの導入
計算アイテムやトリガー条件式、マクロの書式が新しく更新され、統一されたフォーマットで式を記述できるようになりました。
- Prometheusメトリクスの一括処理
Prometheusメトリクスの検索性能を向上のため、保存前処理キューに依存項目の一括処理が導入されました。
- 関数の追加・更新
Prometheusヒストグラム用関数、単調変化、変更回数などにおいて、トリガーや計算アイテムで利用可能な関数が追加・更新されました。
- アイテムキーの追加・更新
いくつかのアイテムキーが追加・更新されました。また、アイテムキーの選択時、対応するデータ型が自動で選択されるようになりました。
- Webインターフェースの変更
ZabbixのWebインターフェースにおいて、地理マップウィジェット、最新データセクションのサブフィルター、監視データからのホスト定義作成などの機能が追加されました。
- +
Zabbix 7.0で追加された機能(リリース日:2024/6/4)
- ★
Zabbix6.0から7.0までに追加された主な機能は以下です。
- 監視情報の取得を並列実行
これまでのポーラー(監視情報の取得プロセス)では、同時に1つしか監視情報を取得できず、ネットワーク応答の待機に時間がかかっていました。新しいポーラーでは、agent/http/snmpの3種に分割され、それぞれが独立して動作するようになったため、パフォーマンスの向上につながります。
- 複雑なwebサイトを監視するアイテムの追加
JavaScirptを解釈して、ブラウザを使って複雑なWebサイトやWebアプリケーションを監視できるようになりました。なお、エンドポイントとしてSelenium ServerまたはWebDriverが必要です。また、本機能はまだ実験的な機能となっています。
- Zabbixプロキシの負荷分散の実装
Zabbixにプロキシグループを導入することで、プロキシの負荷分散を実装することができます。
- 検出されなくなったリソースの自動無効化
低レベルの検出により検出されなくなったリソースは、自動的に無効化することができるようになりました。リソースは、「すぐに無効化」「指定した期間後に無効化」「無効化しない」などルールを設定することが可能です。
- 可視化ウィジェットの追加
ゲージや円グラフ、ハニカムなど、いくつかのウィジェットが新たに追加されました。
- レポート機能の安定化
特定のダッシュボードを定期的にPDFレポートとして送信する機能が、実験的ではなく、安定的に使えるようになりました。
- ネットワーク検出の同時実行
これまで、各ネットワーク検出のルールは1つの検出プロセスでしか処理することができませんでしたが、新バージョンからはサービスチェック間の同時実行が可能となりました。これによりパフォーマンスの向上が期待できます。
- コネクタ機能が実験的ではなく安定機能に
監視アイテムのデータをストリーミングするコネクタ機能が、実験的ではなく、安定機能となりました。また、Zabbixサーバ用のApache kafkaコネクタが利用可能になりました。
- 多要素認証の実装
時間ベースのワンタイムパスワード(TOTP)などを利用した多要素認証が可能となりました。これにより、ユーザ名とパスワードのみによるサインインよりも、さらにセキュリティを強化することができます。
- 最低限必要となるPHPバージョンを引き上げ
必要な最小PHPバージョンが 7.4.0 から 8.0.0 に引き上げられました。
Zabbixの基本的な使い方(監視設定の基本的な手順)
Zabbixへの監視対象ホストの登録や監視の設定は、GUIから簡単に行うことができます。ここでは、Zabbix agentをインストールした監視対象を監視するための大まかな手順について説明します。
- ホストの追加
監視対象となるホストを追加します。Zabbixのメニューから、「設定」 → 「ホスト」を選択します。
ホストの一覧画面が表示されるので、「ホストの作成」をクリックします。次のようなホストの登録画面が表示されます。
ホストの情報を入力し、「追加」をクリックします。ホストの一覧画面に戻ります。
ホストの追加が成功し、Zabbix agentとの通信が確立されると以下のようにZBXのアイコンが緑色に点灯します。
- 監視項目の追加
ホストの一覧から、アイテムの欄のリンクをクリックします。アイテムの一覧画面が表示されます。
「アイテムの作成」をクリックすると、次のような画面が表示されます。
アイテムの情報を入力し「追加」を押すと、監視項目が追加されます。
Zabbixと他システムとの連携
Zabbixと他のシステムを連携することで、以下のような使い方が可能です。
Alertmanagerとの連携
Zabbix4.4以降から、アクションに設定可能なメディアタイプにWebhookが追加されました。ZabbixのメディアタイプWebhookを使って、アラートを管理するAlertmanagerと連携することで、システム管理者は障害対応のアラート管理を効率よく行うことができます。また、ZabbixとAlertmanagerを組み合わせることで、同じ内容のアラートを一定期間抑制するなどの運用が可能になります。
「Alertmanagerとの連携」へ
ntfyとの連携
PCやスマートフォンにプッシュ通知が送れるntfyと連携させることで、Zabbixの監視のアラートをプッシュ通知でお知らせすることが可能になります。デスクトップ画面やスマホ画面に通知が来るので、e-mailで運用している場合に比べ、担当者がすぐに通知に気が付くことができます。ntfyは、スマートフォンアプリも存在するため、プッシュ通知専用のアプリ開発が必要なく簡単に導入することが可能になります。
「アプリのプッシュ通知をPCやスマートフォンに送れるOSS〜ntfy〜」へ
デージーネットのZabbixに対する取り組み
デージーネットは、zabbixの構築、サポートを行っているベンダーです。次のようなサービスを提供します。
- Zabbixを使った監視のコンサルティング
- Zabbixを使った監視サーバの設計
- Zabbix監視サーバの構築
- Zabbix監視サーバの冗長化
- Zabbix監視の設定
- Zabbix監視サーバ導入後の支援
- Zabbix監視テンプレートの作成
- ZabbixのAPIを利用した監視や通知の設定
なお、デージーネットでは、Zabbix LLC社およびそのパートナーとは異なるサポートサービスを提供しています。デージーネットでサーバを構築したお客様には、導入後支援サービスとして、Open Smart Assistanceを提供しています。これは、ソフトウェア単体のサポートではなく、Linuxなどを含むシステム全体に対するサポートです。
Open Smart Assistanceでは、ソフトウェアにバグがあった際に、回避方法の調査、コミュニティへの連絡による改善促進といったサポートを受けることができます。もちろん、Zabbix LLC社の提供するサポートとの併用も可能です。
また、Open Smart Assistanceのクーポンサービスにより、Zabbixの新たな監視対象を追加する作業などの運用業務についてもサポートしています。
「Open Smart Assistance」ページへ
デモのお申込み
もっと使い方が知りたい方へ
Zabbixの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。Zabbixのデモをご希望の方は、下記よりお申込みいただけます。
OSS情報
- Alertmanagerとの連携
- ここでは、ZabbixのメディアタイプWebhookを使って、アラートを管理するAlertmanagerとの連携について紹介します。
関連情報の一覧
システムの運用管理において、システムの状態を定常的に管理し、不具合を少しでも早く発見するためには、監視サーバが欠かせません。デージーネットでは、障害発生を未然に防ぐこと、障害が発生した場合にすばやく検知し、復旧を行い、原因解決を行うことで、システムを安心して利用することができるようになると考えています。
監視システムのリプレースでZabbixを導入しました。独自開発の連携プログラムを組み合わせ、Zabbixが検知した障害が携帯電話へ音声で通知されるようにしました。また、設定は日本語対応のウェブインターフェースから行う事ができます。
運用管理のために、ネットワーク機器の負荷や利用状況を可視化して管理できるよう、Cactiを利用した監視サーバを提案しました。既にお客様がCactiを使っていたため、同様に運用できるようにCactiを利用しました。さらに、Cactiのsyslogプラグインを導入するとログ管理が容易になることから、syslogサーバとCactiを同じシステムに組み込むことにしました。
オープンソースの監視ソフトウェアCactiを使って、監視システムを構築しました。1500台以上のサーバに対して監視を行い、閾値監視、障害時のメール通知などを実現しました。
Zabbix Proxyは、Zabbixサーバの代わりに監視対象から監視データを収集し、Zabbixサーバに情報を送信する機能です。この資料では、インストール方法や設定方法について調査しまとめています。
サーバを効率的に管理するのに欠かせない監視サーバですが、様々なソフトウェアがリリースされています。ここでは、OSSの監視サーバの選定ポイントを紹介し、いくつかの監視サーバソフトウェアの比較をしてみます。
Cactiとは、ネットワーク監視、グラフ生成のソフトウェアです。CactiはraXnetにより開発され、オープンソースソフトウェアとして公開されています。Cactiをインストールし導入することで、サーバやネットワーク機器のネットワークトラフィック、CPU使用率、空きメモリ量、ディスク使用率などを監視し、グラフ化することができます。
Icinga2は、Nagiosという監視ツールから派生して開発されたシステム監視のためのオープンソースソフトウェアです。Icinga2では、WEBインターフェースだけでなくコマンドラインでも監視の設定を行うことができ、大量の監視も行うことができます。Icinga2のWEBインターフェースはデージーネットで日本語対応を行っています。
監視システムの導入は、システムを正常に維持するために有効な手段となります。アラート機能は重要な役割を担っており、システム管理者に無駄なく、効率よく障害対応できるためのアラート管理の仕組みが必要になります。ここでは、オープンソースソフトウェアのアラート管理システムAlertmanagerを紹介します。
PrometheusもLinuxやWindowsで利用できるオープンソースの監視システムのひとつです。監視対象の数が多いシステムや動的に監視対象が変化するシステムに対応できる監視ソフトウェアとして注目されています。ここでは、Prometheusの特徴について紹介します。
ntfyは、オープンソースソフトウェアのプッシュ通知アプリです。ntfyを使うことで、プッシュ通知を実装していないサービスにも簡単にプッシュ通知を配信することができます。
システム監視に関する様々な情報をご覧になれます。
Zabbixに関する様々な情報をご覧になれます。