目的
内部ネットワークからInternet(Webサイト)への接続性をZabbixのWeb監視機能を用いて簡易的な監視を実現させ、グラフによる可視化を行う。
多様なルートからInternet接続性の監視を行うことによりProxyサーバの正常性や通信経路、直接インターネット接続可否などの外形監視を行う。
■サイト接続性を可視化した結果
いろいろと分析は判断材料となるのでいい感じに動いてくれてる。
・不通状態が発生したタイミングで異常のある経路と正常な経路が判断可能だった。
->インターネットの出口での問題ではなく内部の特定ルート or システム異常のためだと雰囲気で判断できるので、切り分けの際に役立つかも。
->影響のありそうな範囲や使用ユーザを絞り込める。
・不定期にレスポンスが遅くなるタイミングがある経路があることが分かった。
->とりあえず、他ADを使用したルートも監視対象にすることにより、サーバへの負荷や性能分析ができる。
※改善必要:
・Webモニタリングのサンプルが少ないためサイト障害がネットワーク障害、DNS障害なのかは切り分けできない。
・グラフが見にくいので名前の付け方や色とか多々カスタマイズが必要だった。
・アラート機能をつけて異常時や不安定時の通知は必要。(条件は運用後に適宜修正)
構成
環境
Zabbix / Zabbix 5.0.2
Proxy1 / IP;172.16.200.61
Squid Cache: Version 4.4
Proxy2 / IP:172.16.200.62
Squid Cache: Version 3.5.20
AD / Windows Server 2016
domain : my.home
(NTLM認証ユーザ) User : test01 . pass : Passw0rd
設定概要
ZabbixでWebモニタリングを使用するには、Webシナリオの定義を行い、シナリオには1つ以上の「ステップ」で構成されます。
シナリオから収集される情報には次のタイプが含まれ、各取得したデータをグラフで表示されま。
- 平均ダウンロード速度
- エラーが発生したステップの数
- エラーメッセージ
- レスポンスコード
- レスポンスタイム
内容はグラフ表示となっているが、
・シナリオを作り込むことで多様な監視ができる。
・トリガー設定を行うことで異常時に通知することが可能となる。
・Webhookも使うことでチャット機能やCIツールとの連携もできるかも。
参考
Zabbixドキュメント(6 WEBシナリオ)
Zabbixドキュメント(9. WEBモニタリング)
https://www.zabbix.com/documentation/current/manual/web_monitoring
実施方法
シナリオ作成の準備
ホスト作成
[設定] > [ホスト] のホスト画面から右上にある[ホストの作成]を選択します。
構成画面に移動するので必要なパラメータを入力し、下の「追加」からホスト追加を行います。
ホスト名:WebResponsecheck
表示名:WebResponsecheck
グループ:SiteMonitor ※defaultで作られているグループ
インターフェース:(初期値)
applicationの登録
作成したホストの「アプリケーション」をクリックします。
画面の右上にある[アプリケーションの作成]ボタンをクリックします。
[ホストアプリケーション]画面で、名前を入力して新しいアプリケーションを作成します。
アプリケーション作成が完了する。
Webシナリオ作成
Webシナリオ作成
ホストの「Web」をクリックするか、ホスト画面の「Webシナリオ」タブをクリックします。
画面の右上にある[Webシナリオの作成]ボタンをクリックします。
シナリオ作成
構成画面に移動するので必要なパラメータを入力し、下の「追加」からホスト追加を行います。
名前:(任意)
アプリケーション:上記で作成したアプリケーションを選択
監視間隔:1m ※ 1分間隔 ( m : 分 , s :秒)
試行回数:1
エージェント:(任意) IEなどブラウザの設定は可能。
HTTPプロキシ:(必要に応じて設定する)
アクセスログ確認時に監視用ログを除外する必要がある場合はzabbixや任意の文字列で指定するのが無難。(エージェントによるアクセスコントロールを行っている場合は該当するエージェントの選択や指定が必要)
※プロキシ指定時の設定方法① 認証無
※プロキシ指定時の設定方法② ユーザ認証がある場合
ステップ作成
シナリオの入力が終わると「ステップ」のタブに移動し、「追加」をクリックする。
構成画面に移動するので必要なパラメータを入力し、下の「追加」からステップの追加を行います。
名前:(任意)
URL:対象サイトのURLを記入
リダイレクトをたどる:チェックを入れる
取得モード:ボティとヘッダー
タイムアウト : 5s
要求ステータスコード:200
ステップ作成後に、「追加」をクリックしてWebシナリオの設定を完了します。
確認
設定後のWebシナリオを確認
取得データ確認
[監視data] > [最新データ] を選択しデータ取得ができているのかを確認します。
データが取得できているなら、グラフ作成/スクリーンを行います。
※インターネット接続パターンごとのでグラフを作成してスクリーンから確認したグラフ
ex)取得できなかった場合の表示
取得できないことが正常な場合、値が取得できたがFailが0となったタイミングをtriggerにして検知させる必要がある。
取得データは、取得できていたときの値が表示されるため取得できていなくても値が表示される。※最新のチェック時刻を確認する必要がある。
グラフでの表示
※深夜帯の一時的な接続不良時のグラフ(プロバイダーが何かしてた?)
※グラフから接続が出来なくなる前に不安定な状態が発生後に接続不可となり、朝方に接続可能なり復旧していることが分かる。
[改訂3版]Zabbix統合監視実践入門 ──障害通知、傾向分析、可視化による省力運用 (Software Design plus)
- 作者:寺島 広大
- 発売日: 2019/07/10
- メディア: 単行本(ソフトカバー)
[改訂2版]Zabbix統合監視徹底活用──複雑化・大規模化するインフラの一元管理 (Software Design plusシリーズ)
- 作者:池田 大輔
- 発売日: 2019/02/27
- メディア: 単行本(ソフトカバー)