・前提
zabbixについて、前職で踏み台サーバから監視のために一度ログインしただけでUIすら覚えていないので学習する
書籍やudemyで学習したかったがめぼしいのがなかったので以下の内容を上から順にまとめる
第 2 回 Zabbix のさまざまな監視機能を試してみよう
zabbixってなに
zabbix→サービス統合システムでサーバを中心とした様々なITリソースを監視して障害を検知したりダッシュボードで可視化するOSS
※機能を一読してSNMPとかICMPの組み合わせか?と考えたがどうやらそのようだ
以下監視対象例
- サーバリソース(メモリやCPU使用率など)
- NW(機器に対して疎通が取れるか)
- アプリ(プロセスの起動)
- Webページ(Webページが表示されるか、画面遷移できるか)
- ログ(サーバやアプリにエラーが発生していないか)など
→なので監視項目の洗い出しが重要!
zabbixはサポート期間によってLTSとポイントリリースの2種類のメジャーバージョンがある→LTSが一年半周期で長いので選択が推奨される
zabbixサーバ(サーバプロセスと監視データのDBとzabbixを可視化するWebサーバで構成)とzabbix agent(クライアントでサーバ対象にインストールする必要有)でサバクラ構成
zabbixでは障害の発生条件(トリガー)を以下のように設定可能
- 閾値
- 文字列(アプリのログに[ERROR]を含む文字列が表示されたら障害と判断する)など
zabbixの障害発生時の通知(アクション)の設定は以下のように可能
- メール通知やslack等のアプリへの通知が可能
- 段階的な通知が可能(障害発生から10分おきに継続して担当者にメールするが一時間経過しても状況が変わらなければマネージャにSMS通知など)
以下zabbix用語
- ホスト…監視対象のデバイスでIPやDNSを設定
- アイテム…ホストの監視項目
- トリガー…アイテムが取得したデータに対する障害の発生条件の設定
- イベント…トリガーが閾値を跨いだ時に内部生成される障害/復旧のインシデント履歴
- アクション…イベント生成時実行される障害通知やコマンド実行の設定
他にもzabbixにはテンプレートがあり、要は構成ファイルのことでこれを適用すれば複数台のホストにも同様の監視設定が可能だし、zabbixインストール時に様々なテンプレートがデフォで用意されているのでそれを使用するのも手
以下、ネットから拾ってきたzabbixの管理画面、見たことあるようなないような…

設定の一例として監視対象のサーバのCPU使用率を監視して40%以上になったら障害と判断する設定を構築
※基本的に画面左のサイドバーの設定から選択する
①ホスト作成のために以下の赤枠部分を設定し監視対象サーバを指定(ここではホスト名とグループ名とエージェントを指定)

②続けてアイテムを作成する(サーバの使用率を取得するアイテムを作成)
※以下のキーはPKIのようなもの

③トリガー作成(CPU使用率が40%を超えたら障害と判断するトリガーを作成)

実際に障害が発生したときサイドバーの[監視データ]-[障害]の下部に警告が表示される
RSAの技術ブログから学ぶ
上で学んだようにzabbixはDBとWebを使用するので以下のソフトが動作のために必要なようだ
- Apache/Nginx
- PHP
- PostgreSQL/MySQL/ etc.
そして流れとしてはDB設定→Web設定→zabbix設定(etc/以下)の設定というテンプレを行い
サーバ側の設定を行ったらブラウザからhttp以下IPアドレスを入力する流れ
また、zabbixではホストにテンプレートを適用することをリンクと呼ぶ
[設定] → [ホスト] →「Zabbix-agent」をクリック→[テンプレート] タグを開く→[新規テンプレートをリンク] に「テストテンプレート」と入力し選択
zabbixの監視機能は多様なものがあるので必要に応じて第 2 回 Zabbix のさまざまな監視機能を試してみようから確認
障害検知時のメディアタイプの設定はメールを設定するのであれば以下の通り
[管理] → [メディアタイプ] をクリック→メディアタイプ一覧から「Email」をクリック→「SMTPサーバー」、「SMTP helo」、「送信元メールアドレス」を環境に合わせて適切に編集し、[更新] をクリック
アクションの設定方法は以下の通り
[設定] → [アクション] を選択→画面右上の [アクションの作成] をクリック→[アクション] タブで該当項目を入力