Zabbix最新情報2022
OSC 2022 Online/Fall

2022年10月28日
日本Zabbixユーザー会 田中敦自己紹介• 名前： 田中 敦（たなか あつし）
• 所属： 日本Zabbixユーザー会 副代表• 主な活動：• コミュニティサイト(https://www.zabbix.jp/)でのQ&A• ZabbixのWebインターフェースやドキュメントの翻訳• 雑誌やWebサイトへの寄稿
2

アジェンダ• Zabbix Summit 2022から• Zabbixのバージョンの遷移• Zabbixのバージョンアップ
• Zabbix 6.4での変更点• Zabbixの日本語ドキュメント• 今後のZabbixイベント• 最後に3

Zabbixとは4

Zabbixとは• オープンソースの統合運用監視ツールの1つ• 多くの監視方法に対応している••••

独自エージェントの利用
SNMP、IPMIなどのプロトコルの利用
SSHやTelnetなどの対話的なアクセスの利用
LinuxやUNIX系OS、Windowsなど各種OS用の独自エージェントあり• 障害検知時と復旧時に、メール送信やWebフック、スクリプト実行などを使用して通知や自動処理をさせることが可能• Webブラウザを使用して、監視の設定や、収集してきた値のグラフ表示など視覚化可能5

Zabbix Summit 2022から

6

Zabbix Summit 2022
• Zabbixの開発元であるZabbix社の本社があるラトビアという国で全世界向けに年1回開催されるZabbixのイベント• 2022年10月7日～8日にオンラインではなく、オフラインでのイベントとして開催された（YouTubeでの同時配信あり）• 今年で全世界向けイベントとしては10回目
7Zabbix Summit 2022の主なトピック• これまでのZabbixとこれからのZabbix• Zabbix標準機能の活用• Zabbixに用意されている拡張機能• VMware監視のための改善• MySQLを監視するときのメトリクスの見方• 他のプロダクトと組み合わせることによる拡張性• Zabbix内で使用する名前や階層を意識した設定方法の提案• Zabbixのセキュリティ対策に対する取り組み• 各国でのZabbixの普及
8特に気になったもの• 今後、Zabbixに実装される予定の機能• Zabbix 6.4で予定• Zabbixプロキシのアップグレード手順の簡素化• 監視設定反映の短時間化• LDAPやSAMLで認証したときにアカウント自動作成

後で詳細を説明• Zabbix 7.0以降で予定••••

複数のZabbixサーバーを1つの画面で管理（他のツールからの情報収集も考慮）
クラウドやk8sの監視と視覚化

セキュリティやコンプライアンスに関する監視
新しいウィジェットフレームワークの構築

9

Zabbix Summit 2022の詳細• 各発表の資料やビデオが公開されているので、詳細は、サイトに公開されている情報をご確認ください• Zabbix Summit 2022 Agenda• https://www.zabbix.com/events/zabbix_summit_2022#agenda

10

Zabbixのバージョンの遷移

11

使用しているバージョンの振り返り• Zabbix Summitで今後のZabbixの方向性の情報が紹介されたが、将来的にバージョンアップするとして、現時点で自分たちが使用しているバージョンを振り返ってみる

12

大きな変化があったバージョン＝ Zabbix 3.0 ＝＝ Zabbix 4.0 ＝＝ Zabbix 2.0 ＝
VMware監視機能の追加
ダッシュボード機能の追加
ローレベルディスカバリの実装
IPMI監視機能の追加
新しいグラフウィジェットの追加
キャッシュを活用した処理パフォーマンスの向上
監視間隔のカスタマイズ機能が追加 グラフの表示範囲時間帯の指定方法を刷新
ヒストリ情報のタイムスタンプがナノセカンドに対応
ボタンクリックによるアイテムの値取得処理実行＝ Web監視の設定をテンプレート化
Zabbix 6.0 ＝
ログ監視設定時の古いログを読み飛ばすオプション
ローレベルディスカバリで複数のフィルタリング設定
アイテムの保存前処理機能の追加
Zabbix独自の高可用性機能の追加追加が可能
依存アイテムの機能追加
ZabbixプロキシからのWeb監視 地理マップウィジェットの追加
アドホックグラフ表示機能の追加
タグを活用したイベントの相関関係の設定追加＝Zabbix 5.0 ＝
アイテムのタイプとしてスクリプトを追加
JMX監視の追加
Zabbixのコンポーネント間の暗号化に対応
Zabbixエージェント2が追加
トリガーイベントの手動クローズ機能追加
トリガー条件式や計算式の文法を見直し
メール送信機能でSMTP Authに対応
Zabbixエージェント2のプラグインで様々なミドルウェ＝ Zabbix 6.2タグを活用した権限設定を可能に＝
条件式等で使用できる関数を一部変更
AWS EC2、Azureなどの監視機能やテンプレートを追加
アを監視
MySQL 8.0に対応
スクリーンからダッシュボードへの移行発生した障害を一時的にペンディング可能
保存前処理でJavaScriptを使用可 ダッシュボードの複数ページ対応とスライドショーへの対応
Web監視のエクスポートとインポートに対応
アクティブチェックのみ使用時のホストの状態把握
保存前処理も含むアイテムの値取得テスト機能追加
ユーザーの役割による使用できる機能のコントロールを可能に
Zabbix上のアカウントのパスワードのハッシュ方式を複雑化
Prometheusとの連携機能追加 定期レポート機能の追加
テンプレート用のグループをホスト用のグループと分離 13
TimescaleDBのサポート追加
ユーザーごとにWebインターフェースのタイムゾーンを変更可
VMwareの監視機能の拡充
メディア設定のテスト機能追加
IoT関連の監視機能追加
対応するPHPがバージョン7.4.0以上
通知機能としてWebhookを使用したものに対応
監査ログの拡充

Zabbixのサポートバージョン• Zabbixの過去のバージョンも含めてサポート期限は以下のようになっている
バージョン

種別

リリース日

フルサポート終了

リミテッドサポート終了

6.2

ポイント

2022/07/05

2023/01/31

2023/02/28

6.0

LTS

2022/02/08

2025/02/28

2027/02/28

5.4

ポイント

2021/05/17

2022/02/28

2022/03/31

5.2

ポイント

2020/10/27

2021/04/30

2021/06/30

5.0

LTS

2020/05/12

2023/05/31

2025/05/31

4.0

LTS

2018/10/01

2021/10/31

2023/10/31※LTSであれば、有償の延長サポートがある14

Zabbixのバージョンアップ

15

バージョンアップ方法の選択
監視設定や過去の取得デー
タをすべて引き継ぎたい

Yes

No

監視設定だけ引き継ぎたい

No

Yes

新しいバージョンのZabbixサーバーの機能を使用して、データベース上にあるすべてのデータの自動アップグレード処理を行う
旧環境から設定だけのデータのダンプを取得し、そのデータを新環境用のデータベースにインポート後、新しいバージョンのZabbixサーバーの機能を使用して、データベースの自動アップグレード処理を行う
Zabbixの新規インストール
16データを引き継ぐ場合の基本的な手順• 既存の設定や情報を引き継いでバージョンアップをする場合は、以下のような手順となる
1. バックアップの取得
2. ソフトウェアのバージョンアップ
3. Zabbixサーバー（zabbix_server）の起動
4. Webインターフェースへのアクセス

Zabbix 2.0よりも新しいバージョンでは、データベースのバージョンアップ処理に手動でスクリプトは実行しない
Zabbixサーバー起動時に自動でデータベース内の情報を確認し、バージョンアップ処理を実行する

17

過去の設定を引き継ぐ場合の考慮すべき点• Zabbixを稼働させるためのシステム要件が異なるため、旧環境のOSやミドルウェアのバージョンアップが必要となる場合があり、同じサーバー上でバージョンアップできない場合がある• 別のサーバー上に構築する場合、旧環境からデータを移行するには、旧環境のデータを一時的に保存するデータ領域のサイズと、データの転送やインポートなどに時間がかかる場合がある• サポートされない機能や設定方法が存在するため、移行後に手動で変更しなければならないものが発生する場合がある

18

バージョンアップを始める前に• 基本的には、Zabbixサーバーを起動したときに、自動的にデータベース内に保存されている情報のバージョン情報を確認して、自動的に、必要なテーブルの変更を行う自動アップグレード処理が実行される• ただし、以下の課題があることに注意• 古いZabbixのバージョンだと、MySQL 8.0では使用できない• バージョンによって自動で最適な状態にまで自動的に変換されないものがある
19

MySQL 8.0を使用する際の注意点• MySQL 8.0を使用するのであれば、Zabbix 4.0以降のバージョンであることが必要• Zabbix 4.0よりも前のバージョンのZabbix用データベースのダンプをMySQL 8.0にリストアしようとすると、予約語の衝突によってリストアできない• Zabbix 4.0よりも前のバージョンからMySQL 8.0を使用したZabbix 6.0にバージョンアップするのであれば、MySQL 5.xのデータベースを使用して、Zabbix 4.0用のデータベースに一度バージョンアップしてから、そのデータベースからダンプしたデータをMySQL 8.0の環境にリストアすることが必要となる
20

自動ではアップグレードされないもの• 浮動小数のデータ型の変更• Zabbix 5.0で、浮動小数の情報を保存するためのデータベースのカラムのデータ型が変更された• 文字コードの変更• MySQLやMariaDBの場合、Zabbix 6.0では、文字コードがutf8mb4、照合順序がutf8mb4_binが推奨されている• 主キーの設定• Zabbix 6.0以降新規インストール時には各テーブルに主キーが設定されているが、過去のバージョンからアップグレードしたときには設定されていないテーブルがある21データベース要件の再確認• Zabbix 6.0以降では特に、データベースのバージョンに関するチェックが厳しくなっているので、サポートされているバージョンのDBMSを使用することが必要
DBMS

サポートされているバージョン

MySQL / Percona

8.0.x

MariaDB

10.5.00 – 10.8.x

Oracle19c – 21c

PostgreSQL

13.0 – 15.x

TimescaleDB

2.0.1 – 2.7※Zabbix 6.0で2022/10/21現在

22

バージョンアップ例• 一例として、Zabbix 4.0の環境からZabbix 6.0の環境へバージョンアップを行う• ミドルウェアの変更を含めると複雑になってしまうので、ここでは、Zabbixに関する部分だけに絞って手順を説明するために、AlmaLinux 8上でPHP 7.4とMySQL 8.0を使用した環境とする

23

バージョンアップ手順（１）• Zabbix 4.0の環境を以下のOSとミドルウェアで構築する• OS： AlmaLinux 8.6• Webサーバー： Apache HTTP Server 2.4.37 （httpd-2.4.37-47）• PHP： PHP 7.4.19 （php-common-7.4.19-4）• DBMS： MySQL 8.0.26 （mysql-server-8.0.26-1）• データベース上の文字コード： utf8 （=utf8mb3）• その他： SELinuxはdisabled24

バージョンアップ手順（２）• Zabbix 6.0にバージョンアップするため以下の手順でバージョンアップを行う
1. Zabbix用のリポジトリを6.0用に更新する
2. リポジトリのキャッシュ情報を削除してからパッケージのアップグレードを行う
3. Zabbixサーバーを起動してログを確認し、データベースのアップグレード処理の終了を待つ

4. Webサーバーとphp-fpmを起動してWebインターフェースからアクセスして確認する
25

バージョンアップ手順（３）• 実行例# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm# dnf clean all# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-web-japanese zabbix-sql-scripts zabbix-agent• データベースのバージョンアップログ（zabbix_server.log）
2112:20221027:201859.764 current database version (mandatory/optional): 04000000/04000006
2112:20221027:201859.764 required mandatory version: 06000000
2112:20221027:201859.764 optional patches were found2112:20221027:201859.764 starting automatic database upgrade2112:20221027:201859.781 completed 0% of database upgrade2112:20221027:201859.842 completed 1% of database upgrade.....
2112:20221027:201913.944 completed 99% of database upgrade2112:20221027:201913.974 completed 100% of database upgrade2112:20221027:201913.974 database upgrade fully completed
2112:20221027:201913.976 database could be upgraded to use primary keys in history tables
2112:20221027:201913.979 database is not upgraded to use double precision values

26バージョンアップ手順（４）• ダッシュボードの「システム情報」の下の方に「データベースのヒストリテーブルのアップグレード：いいえ」と表示されている場合は、自動でアップグレードされない項目のうち浮動小数のデータ保存用のカラムのデータ型が新しい形式に変更されていない• 以下のようにしてSQL文を実行$ mysql -uzabbix -p zabbix < /usr/share/zabbix-sql-scripts/mysql/double.sql• Webインターフェースの設定ファイル（/etc/zabbix/web/zabbix.conf.php）に以下の設定を追記する$DB['DOUBLE_IEEE754']= true;27バージョンアップ手順（５）• 文字コード変更とプライマリキー設定に関しては、マニュアル参照• 文字コード変更：• https://www.zabbix.com/documentation/6.0/en/manual/appendix/install/db_charset_coll• https://www.zabbix.com/documentation/6.0/jp/manual/appendix/install/db_charset_coll• プライマリキーの設定追加• https://www.zabbix.com/documentation/6.0/en/manual/appendix/install/db_primary_keys• https://www.zabbix.com/documentation/6.0/jp/manual/appendix/install/db_primary_keys• 日本語のマニュアルは、まだ精査していないので、おかしいと思ったら英語のページを参照すること28バージョンアップ方法の工夫例• 通常のバージョンアップでは、主にデータベースのアップグレード処理に時間がかかるため、停止時間なしでアップグレードすることは不可能• どの程度の時間がかかるかは、データベース上に保存されている履歴情報の量と、各バージョンでの変更内容に依存し、テーブルのカラム追加や変更が行われる場合は、特に多くの時間を必要とする• 新しいZabbixサーバーを別途構築し、Zabbixエージェント側に、旧サーバーと新サーバーの両方から監視できるよう設定を追加して並行運用を行う• 新サーバーでの運用に問題がなくなったら旧サーバーを停止するということで、監視の空白期間をなくす

29

並行運用バージョンアップ
イメージ図
Zabbix 4.0
プロキシ
Zabbix 4.0
サーバー

２．Zabbix 6.0をの環境を追加して監視
監視対象側は両方から監視される
Zabbix 6.0
プロキシ

Zabbix 6.0
サーバー

１．Zabbix 4.0を使用して監視３．安定して監視できることが確認できたら古いZabbix 4.0の環境を削除

監視対象にZabbixエージェントを使用している場合は、Zabbixサーバーが6.0に移行したらZabbixエージェントも6.0にバージョンアップ可能
30

新規構築のメリット/デメリット• メリット• Zabbixの新機能を活用できる• 例えば、標準で用意されている監視用テンプレートに、LLD（ローレベルディスカバリ）などを活用した監視設定が行われているため、新規にホストを追加したときに、ネットワークのポートやマウントされているディスクなどの監視設定を自動化できる• デメリット• 過去のデータを引き継げない• 監視設定し直しが必要
31

Zabbix 6.4での変更点
まもなくリリースされる6.432

現時点での公開状況• 現在（2022/10/28）リリースされているのは、Zabbix 6.4.0beta2というバージョン• Betaというバージョンなので、基本的な機能としては追加が終了していて、細かな調整が行われて、今後RC（リリース候補）版が公開され、致命的な不具合が修正されて正式リリースとなる予定• 次ページ以降で現時点で確認できている主な機能を紹介
33

メニュー構成の変更• Webインターフェースのメニュー構成が変更
Zabbix 6.0

Zabbix 6.4beta1●ホストやアイテムの設定は「データ収集」へ●アクション関連の設定は「通知」へ

34

Zabbixプロキシアップグレード手順簡素化• 具体的には、Zabbixサーバーが前のバージョンのZabbixプロキシをサポートする• これができることによって、以前は、Zabbixのバージョンアップ時に、ZabbixサーバーとZabbixプロキシを同時にバージョンアップすることが必要であったのが、Zabbixサーバーだけ先にバージョンアップして、後から1台づつZabbixプロキシのバージョンアップを行うという対応ができる
35

プロキシのアップグレード例
Zabbix 6.0の環境

Zabbix 6.4の環境

Zabbix 6.0
プロキシ

Zabbix 6.0
サーバー

Zabbix 6.4
6.0
プロキシ

Zabbix 6.4
サーバー

Zabbix 6.0
プロキシ

6.0
Zabbix 6.4
プロキシ

段階的に各プロキシのバージョンアップ作業をすることができる

36

プロキシのアップグレード（途中経過）

37

Zabbixの日本語ドキュメント

38Zabbixの日本語情報• Zabbixの公式ドキュメントで日本語化されていたのは、Zabbix 2.2まで• それ以降のバージョンの日本語版の作成をコミュニティの協力によって進めないかと提案し続けていた• Zabbix 6.0のドキュメントから、コミュニティから参加して翻訳作業に参加できるようになった39

現在の翻訳状況• Zabbix 6.0のドキュメント翻訳進捗率は、日本語が98%と首位

40

今後のZabbix関連イベント

41

Zabbix Conference Japan 2022
• 日本国内最大のZabbix関連イベント• 2022/11/14~15 東京ポートシティ竹芝 ポートホール+オンラインでのハイブリッド開催• 今年、日本国内のサポートサービスを提供しているZabbix Japanが設立されて10周年• 日本語でのZabbixの情報が収集できる• 日本国内での導入実績や活用方法を知ることができる• 詳細はイベントのサイトへ• https://www.zabbix.com/jp/events/conference_japan_202242最後に43

まとめ• Zabbixは、継続的に改善が行われており、より多くの監視や管理ができるようになっていて、障害検知時に通知するだけではなくチケット管理との連携などまでできる• 例：AWSやAzure、k8sなどの監視のための機能追加とテンプレートの追加が行われている• 例：Emailだけではなく、SlackやDiscode、Jira、OTRS、Redmineなどとの連携用の設定が用意されている• 今後の改善によって、操作性の向上や機能追加による適用領域の拡大が期待できる44

ご清聴いただきありがとうございました。
本資料内で利用させて頂いた各プロダクト名やサービス名など
は、各社もしくは各団体の商標または登録商標です。

45