Zabbix 7.0 新機能検証 (ブラウザモニタリング編)

こんにちは、SCSK株式会社の小寺崇仁です。

先日Zabbixの7.0がリリースされました。
今回は「ブラウザモニタリング」について検証していきます。

ブラウザモニタリングとは

ブラウザモニタリングとは、アイテムのタイプ「ブラウザ」というZabbix7.0の新機能になります。ブラウザを使用したWebサイトの操作をZabbixで再現して監視を行う機能になります。

Webシナリオ監視と類似した機能になりますが、違いは以下となります。

監視タイプ 概要 設定難易度
ブラウザモニタリング Seleniumを使用したスクレイピング 優しい
Webシナリオ HTTPリクエスト、レスポンスを自作したスクレイピング 激ムズ

環境準備

ブラウザモニタリングを使用するには、Zabbix7.0とは別に、「WebDriverサーバ」を構築する必要があります。

「WebDriverサーバ」を構築する方法としては以下の2パターンあります。

  1. SeleniumのDockerイメージを使用する
  2. SeleniumのStandaloneサーバを起動する

ZabbixサーバにDockerを入れたくなかったので、私は2で検証をしました。

Dockerを使用する

検証はしておりませんが、次のURLに構築手順が記載してあります。

Standaloneを使用する

次の流れで、Selenium Standalone サーバを構築します。

  1. Javaをインストールします。
  2. Seleniumの公式HPから「Selenium Server (Grid)」をダウンロードします。
  3. Selenium Standalone サーバを起動します。
  4. Zabbixサーバのconfを編集します。

私が構築した際のコマンドは以下となります。

1.Java インストール
# dnf install java-21-openjdk

2.Seleniumダウンロード
# wget https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.21.0/selenium-server-4.21.0.jar

3.Selenium起動
※「--selenium-manager true」をオプションを付けることで各ブラウザのドライバーを自動ダウンロードできます。
# java -jar selenium-server-4.21.0.jar standalone --selenium-manager true

4.Zabbixサーバのconf編集
# vi /etc/zabbix/zabbix_server.conf 
WebDriverURL=http://localhost:4444
StartBrowserPollers=1

※以下のバージョンで検証した際にエラーとなりました。そのため、Firefoxのドライバーを使用して回避しました。
Selenium-server:4.21.0、ChromeDriver:126.0.6478.126

アイテムの作成

サンプルでZabbixの管理画面にログインをして、キューの画面を監視したいと思います。
標準テンプレートで全体のキューの数しかわからないので、個別で監視を入れたいと思います。

項目 設定値 備考
アイテム名 キュー監視  
タイプ ブラウザ  
キー 任意  
データ型 テキスト  
スクリプト 次に記載  
var browser = new Browser(Browser.firefoxOptions());

browser.navigate("http://localhost/zabbix/");
browser.findElement('css selector','#name').sendKeys("Admin");
browser.findElement('css selector','#password').sendKeys("zabbix");
browser.findElement('css selector','#enter').click();
browser.navigate("http://localhost/zabbix/zabbix.php?action=queue.overview");
return browser.findElement('xpath','/html/body/div/main').getText();

※Chromドライバーを使用するとエラーになったため、Firefoxを使用しています。
※最後に「getText」で文字列を取得していますが、「getScreenshot」で画像(バイナリデータ)の保存もできます。画像データの表示については別途検証する予定です。
※スクリプトを作成する際に以下のマニュアルが参考になります。

監視データ(取得値)

このような形でキューの画面の内容をテキスト保存できます。

総括

ブラウザモニタリングでSeleniumが使用できるようになり、監視設定がとても簡単になったと思います。
(Webシナリオ監視では、リクエストを自作する必要があったため、hiddenにトークンが仕込まれていたり、jQueryでお洒落なつくりをしていた場合、発狂していました。)

今後はブラウザモニタリングが主流になっていくと思いますので、ぜひご活用ください。

最後に

弊社ではZabbix関連サービスを展開しています。以下ページもご参照ください。

SCSK Plus サポート for Zabbix

★YouTubeに、SCSK Zabbixチャンネルを開設しました!★

★X(旧Twitter)に、SCSK Zabbixアカウントを開設しました!★

著者について

Zabbixの構築をメインに担当しています。
■資格
 Zabbix認定プロフェッショナル
 AWS Certified Solutions Architect - Professional
 Google Certified Professional - Cloud Architect
 LPIC 303,304 ORACLE MASTER Gold DBA 11g
 CCNA Oracle Certified Java Programmer, Silver SE 7

小寺崇仁をフォローする
クラウドに強いによるエンジニアブログです。
SCSKは専門性と豊富な実績を活かしたクラウドサービス USiZE(ユーサイズ)を提供しています。
USiZEサービスサイトでは、お客様のDX推進をワンストップで支援するサービスの詳細や導入事例を紹介しています。
Zabbixソリューションプロダクト運用・監視
シェアする
タイトルとURLをコピーしました