運用監視の仕事でZabbixを使って監視をしている。けれども、Zabbixがそもそも何なのかわからない。具体的に何ができるソフトウェアなんだろう?
こんなお悩みに答えていきます。
☑本記事の内容
・Zabbixとは何か?
・Zabbixで出来ることとは?
・Zabbixの学習方法3点
・Zabbixを学習するメリット2点
☑本記事の信頼性
・IT業界歴約9年(インフラエンジニア)
・6年程運用監視保守業務に従事
6年と長い間運用に携わっていたこともあり、監視アラートの対応を何度も経験しております。
実際に運用の現場でZabbixでアラート対応をしても、中身まではわからないですよね。
僕もZabbixだけではなく監視全般の知識がありませんでした。
しかし、個人でAzure上にZabbix環境の構築を行った結果、監視の仕組みについて理解できるようになりました。
今回は監視ツールの一つの「Zabbix」という製品に焦点を当てて解説していきます。
インフラエンジニアをやっている人であれば覚えていて損はない知識です。
それでは、前置きはこんな感じにして解説していきます!
Zabbixとは何か?
Zabbixとは、「オープンソースの総合監視ソフトウェア」のことです。
オープンソースとは、「ソースコードを無償で公開し、誰でも自由に改良・再配布ができるようにしたソフトウェアのこと」になります。
ポイント
・個人や法人の誰でもインストールして利用することができる監視ソフトウェア
・多くの企業で使用されている
・WEBブラウザ操作/柔軟なカスタマイズが可能
僕も自己学習でAzure上にZabbix環境を構築した経験があります。
Zabbixでできることとは?
Zabbixで一般的にできることの具体例はこちらになります。
①エージェント監視
②エージェントレス監視
③SNMP監視
※IPMI監視やODBC監視等にも対応しております。今回はこちらの3つの監視について紹介します。
Zabbix以外の監視ツールの場合も同様の知識が必要になります。
そのため、覚えておいて損はないです。
では、記事にて掘り下げていきます。
①エージェント監視
エージェント監視は、「Zabbixエージェント」というソフトウェアを監視対象サーバーにインストールして監視する方法です。
図で表すとこのような形になります。
①Zabbixマネージャから監視項目の情報をZabbixエージェントに対して要求する。
②Zabbixエージェントは、監視対象サーバの情報を取得する。
③Zabbixエージェントは、取得した情報をZabbixマネージャに送信する。
このように、「Zabbixエージェント」はZabbixマネージャから求められた情報を集めるために必要なソフトウェアになります。
監視できること(具体例)
・CPU使用率(ロードアベレージ)
・メモリ使用率
・ディスク使用率
・ログ監視
・サービス監視
このように、監視対象サーバー内のCPUやメモリ等の情報を監視する際に使用されるのが「エージェント監視」になります。
②エージェントレス監視
エージェントレス監視とは、「監視対象サーバーにエージェントのインストールを必要としない監視」のことです。
図で表すとこのような形になります。
①Zabbixマネージャーから監視実行
②監視対象サーバがZabbixマネージャーへレスポンスを返す
このようにエージェントを仲介しなくても、監視対象サーバーを監視できます。
監視できること(具体例)
・死活監視
・WEBアクセス監視
・ポート監視
・telnet/ssh監視
エージェントレスのため、ログやCPU使用率の監視等のサーバー内部情報を取得する監視についてはできません。
死活監視のようなサーバー自体が生きているか監視をするとき等に、こちらの「エージェントレス監視」を使用します。
③SNMP監視
SNMP監視とは、「監視対象にSNMPエージェントをインストールした機器/SNMP機能のある機器の監視」です。
図で表すとこのような形になります。
・ポーリング
・トラップ
こちらの監視方法「ポーリング」「トラップ」については、下記記事にて解説しております。
こちらは、主にZabbixエージェントをインストールすることができない機器に使用する監視方法になります。
参考
・スイッチ
・ルーター
・UPS
Zabbixの公式ドキュメントにSNMP監視について記述があります。
監視できること(具体例)
・CPU使用率
・メモリ使用率
・スワップ領域監視
・ディスク使用率/使用量
・スイッチのインタフェース
基本的にZabbixエージェントにて監視できることは監視可能です。
SNMP監視はZabbixエージェントが導入できない機器に対して実施することが多いです。
Zabbixを学習する方法3点
Zabbixを学習する方法についてはこちらになります。
①実際に環境を構築する
②技術本を読む
③トレーニングに申し込む
それでは、解説していきたいと思います。
①実際に環境を構築する
実際にZabbix環境を構築してみることが覚える上での一番の近道です。
理由は、手を動かした方が体系的に覚えられるからです。
座学で勉強するよりググりながら手を動かした方が面白いです。
過去に自分もAzure環境でZabbix環境の構築を実施したことがあります。
以前にこのようなツイートをしました。
こちらのツイートにある図の構成をAzure環境に構築しました。
「構築ために勉強しようにも何をすればいいかわからない?」
このような方は先程のツイートにも記載しましたが、監視環境の構築をトライしてみるのは有りです。
・SNMPマネージャー
・SNMPエージェントこの仕組みを知るためには、構築してみるのが一番早いです。 pic.twitter.com/D86886ilby
— さっとん@SaaSを扱う (@satton6987) April 22, 2020
ざっくりと僕が実施した内容について説明します。
①Azure上に仮想ネットワークを構築
②仮想マシン作成(CentOS)
③下記のように構築
・Zabbixマネージャー×1
・監視対象サーバー×2
④構築後に下記を確認
・ZabbixマネージャーのWEB画面が表示されること
・監視対象サーバーを落とした際にアラートが検知されること
※独学のため運用面は考慮できていないです。
このように手を動かして構築した場合、自然と必要な知識を身に着けることができます。
構築した内容をQiita等にアップすると完璧です。
②技術本を読む
技術本を読んで勉強することも有りだと思います。
理由としては、専門の人が執筆後に出版社で事実確認後に出版しているケースが多いからです。
インターネットに転がっている情報以上に信憑性があります。
構築するのみであればインターネット上の情報のみで問題ありません。
しかし、細かい用語や仕様を覚えたい場合は、専門の書籍を購入するという手も有りです。
例えば、書籍はこのような物があります。
Zabbix Serverの構築の基礎(3系): Zabbix Serverのインストールから基本的な設定まで全てを網羅
内容については、こちらになります。
・Zabbixの概要
・Zabbixのセットアップ
・監視対象サーバの設定
・それぞれの監視設定
※「Kindle Unlimited」対象の書籍になります。
僕自身も今この書籍を読んで勉強しています。
Zabbix3系のセットアップコマンドや監視設定等が記載されています。
改訂3版]Zabbix統合監視実践入門 ―障害通知,傾向分析,可視化による省力運用
・Zabbixとは?
・Zabbixのインストール
・ZabbixのWEBインタフェースの操作
・それぞれの監視設定
最初に紹介した書籍よりも深く記載されていると思います。
「技術評論社」という1969年設立の歴史のある企業から出版されている書籍のため、信憑性はあると思います。
すいません、この書籍は読めていないです。
機会があれば購入して読んでみたいと思います。
③トレーニングに申し込む
Zabbix公式で製品のトレーニングコースに参加できるようです。
このようなトレーニングに出席してスピーディーに学習する方法もあります。
デメリットとしては、値段が1万以上と高いです。
しかし、投資として出席することも有りだと思います。
研修で学んだ内容をQiita等にアップすると完璧かなと思います。
Zabbixの知識を持っていることを証明することができます。
Zabbixを学習するメリット2点
Zabbixを学習するメリットはこちらになります。
①監視の仕組みを学ぶことができる
②監視以外の点についても学ぶことができる
僕自身も実際に環境構築した経験があります。
そこで学んだことは構築の仕事でも活きています。
では、解説していきたいと思います。
①監視の仕組みを学ぶことができる
監視の仕組みを学ぶことができます。
「Zabbix」以外の製品についても基本的に監視の概念は同じです。
例えば、こちらの概念については他の監視ソフトウェアも共通しています。
参考
・SNMP監視(ポーリング/トラップ)
・エージェントレス監視
監視を考えないインフラの現場はありません。
そのため、監視の仕組みを知っておいて損はないです。
②監視以外の点についても学ぶことができる
これは実際に手を動かして環境構築した場合の話になります。
実際に手を動かして環境構築した場合、このようなことを学習できます。
参考
・ホスト名の付け方
・IPアドレス設定
・パッケージ導入方法
・DNS設定/NTP設定
・ログの確認方法
などなど
Zabbixマネージャ自体はLinuxに構築されていることが多いです。
(WindowsServerでZabbixマネージャを構築する例は聞いたことがないです。)
そのため、Linuxコマンドと一緒に基盤構築に必要な情報を学習することができます。
まとめ : Zabbixはオープンソースの監視ソフトウェア
今回は、Zabbixの概要やZabbixで出来ること等を、ご紹介してきました。
オープンソースのソフトウェアのため、AzureやAWS等にCentOS等のLinux仮想マシンを構築してすぐに試すことができます。
学習しているとわからないことが多くて検索する機会が多いと思います。
現場でも同様に検索して調べる機会が非常に多いため、検索力も同時につけていきましょう。
別記事にて実際のZabbix環境構築についてアウトプットしていきたいと思います。
今回は、以上です。
別の記事