Zabbix 6.0 新機能解説
SRA OSS, Inc. 日本支社
OSS 事業本部 基盤技術グループ
赤松 俊弘

whoami 赤松 俊弘（Toshihiro Akamatsu）
 SRA OSS, Inc. 日本支社
OSS 事業本部 基盤技術グループ
 Zabbix 認定プロフェッショナル

職務 PostgreSQL 以外の OSS 全般の技術サポート、構築 主に Zabbix を担当© 2022 SRA OSS, Inc. Japan2

アジェンダ
1. Zabbix 6.0 新機能解説
1. Zabbix 6.0 について
2. Zabbix 6.0 の新機能

2. Zabbix 6.0 へのアップグレード時の注意点

3. Zabbix 6.2 新機能紹介© 2022 SRA OSS, Inc. Japan3

Zabbix 6.0 新機能解説© 2022 SRA OSS, Inc. Japan

4

Zabbix 6.0• 2022/02/15 リリース• 長期サポート（LTS）バージョン• フルサポート 3 年、リミテッドサポート 2 年
2025/02

6.0 LTS

2027/02

リミテッドサポート

フルサポート2023/05

5.0 LTS

2025/05

リミテッドサポート

フルサポート2023/10

4.0 LTS

リミテッドサポート© 2022 SRA OSS, Inc. Japan5

Zabbix 6.0 対応データベース
DBMS
MySQL/Percona
MariaDB
PostgreSQL
TimescaleDB
OracleSQLiteバージョン
8.0.X
10.5.00 ～ 10.6.X
13.0 ～ 14.X
2.0.1 ～ 2.3
19.c ～ 21.c
3.3.5 ～ 3.34.X© 2022 SRA OSS, Inc. Japan

6

Zabbix 6.0 の新機能
ビジネスサービス監視Zabbix server のHA クラスタ

アノマリー検知とベースライン監視

Kubernetes 監視

新規ウィジェット

ETC その他の新機能© 2022 SRA OSS, Inc. Japan7

ビジネスサービス監視© 2022 SRA OSS, Inc. Japan8

Zabbix のサービス監視とは• 監視対象のインフラをハイレベル（ビジネスレベル）で把握
IT サービスの可用性
IT インフラの構造

IT サービスの SLA
IT インフラの弱点特定© 2022 SRA OSS, Inc. Japan

サービス

9

サービス監視のアーキテクチャ
ホスト A で障害サービス A で障害サービス A© 2022 SRA OSS, Inc. Japanサービス B

10

サービスの階層化
ビジネスサービス

内部サービス

SFA

外部サービス

RPA

Web サイト© 2022 SRA OSS, Inc. JapanEC サイト11

サービス監視の機能更新• ビジネスレベルでのサービス監視を実現• タグによる障害の紐づけ• 柔軟なステータス計算および伝播• サービスのステータス変化によるアラート通知• 根本原因の表示• サービスへの権限付与© 2022 SRA OSS, Inc. Japan12

タグによる障害の紐づけ• サービスへの障害の紐づけがトリガーからタグに変更• サービスと障害の関係が 1:1 から 1:N に• 冗長化されているサービスなど複雑な構成に対応可© 2022 SRA OSS, Inc. Japan13

柔軟なステータス計算および伝播（1）• 子サービスのステータスから親サービスへのステータスを計算する方法
ステータス計算ルール

説明

子サービスで最も重要

子サービスの障害のうち最も高い深刻度を親サービスのステータスとするすべての子が障害であったときに最も重要ステータスを正常に設定

すべての子サービスが障害であった
場合に、その障害のうち最も高い深刻度を親サービスのステータスとするステータスは計算せず常に正常© 2022 SRA OSS, Inc. Japan

警告
ビジネス
サービス

警告
内部サービス

警告
SFA

情報
RPA

外部サービスWeb サイトEC サイト14

柔軟なステータス計算および伝播（2）• さらに柔軟なステータス計算のための追加ルール• ルールに当てはまる場合に親に伝播する深刻度も合わせて指定
追加のルール少なくとも N 個の子サービスの状態がステータス以上
ビジネス
サービス

少なくとも N% の子サービスの状態がステータス以上
N 個未満の子サービスのステータスがステータス以下
子サービスの N% 未満のステータスがステータス以下
ステータスがステータス以上の子サービスの重みが少なくとも W

内部サービス

警告

外部サービスステータスがステータス以上の子サービスの重みが少なくとも N%
ステータスがステータス以下の子サービスの重みが W 未満

SFA

RPAWeb サイト

EC サイトステータスがステータス以下の子サービスの重みが N% 未満© 2022 SRA OSS, Inc. Japan15

柔軟なステータス計算および伝播（3）• ステータス伝播時のルールも詳細に設定可能
情報

ステータス伝播ルール

説明

そのまま

子サービスのステータスをそのまま伝播深刻度を増やす深刻度を 1 ～ 5 増やして伝播深刻度を減らす

深刻度を 1 ～ 5 減らして伝播

このサービスを無視

ステータスを伝播しない

固定ステータス

常に同じステータスを伝播© 2022 SRA OSS, Inc. Japan

ビジネスサービス

警告
内部サービス

警告
SFA

外部サービス

RPA

Web サイトEC サイト16

サービスのステータス変化によるアラート通知• トリガーによる障害と同様にサービスのステータス変化時にもアクションによる通知が可能© 2022 SRA OSS, Inc. Japan17

根本原因の表示• サービスのステータスに影響を与えている障害のリストを「根本原因」列に表示

根本原因に表示される障害は {SERVICE.ROOTCAUSE} マクロで取得可能© 2022 SRA OSS, Inc. Japan18

サービスへの権限付与• ユーザロール単位でサービスへの Read-Write 権限が付与可能• 個々のサービス、またはタグによる指定が可能• サービスのマルチテナント対応© 2022 SRA OSS, Inc. Japan19

Zabbix server の HA クラスタ

© 2022 SRA OSS, Inc. Japan20

Zabbix server の HA クラスタ
• Active/Standby• 1 つの DB を共有• マイナーバージョン間での互換性あり© 2022 SRA OSS, Inc. Japan21

HA クラスタの仕組み• ha manager プロセスがクラスタを制御• アクティブ状態の Zabbix server では、全ての子プロセスが起動• スタンバイ状態の Zabbix server では、ha manager のみが起動• ha manager は DB にハートビートを送信
ActivepollerStandbyha manager

ha manager

history syncer…

housekeeper© 2022 SRA OSS, Inc. Japan22

ha manager プロセス
• 自ノードの情報を DB に登録・更新
zabbix=# select * from ha_node;
ha_nodeid|
name|address| port | lastaccess | status |ha_sessionid------------- -------------+------------------+-----------------+-------+------------+--------+--------------------------ckvupwi8n0001rwnxvdlwfv0s | Zabbix server #3 | 133.137.175.151 | 10051 | 1636696278 |0 | ckvvx4pae0000f9nxezi9hczg
ckvupsmeq0001egpvksl6c5ih | Zabbix server #2 | 133.137.175.28 | 10051 | 1636710640 |1 | ckvupys780000temnjy04t2pb
ckvupihk70001z8mkpw5cg0u3 | Zabbix server #1 | 133.137.175.61 | 10051 | 1646708964 |3 | cl08vj7000000r6mkoj1ie0k3• 他ノードの状況を監視• Active ノードがいない or 一定時間ハートビートが確認できない⇒ 自ノードを Active としてフェイルオーバ© 2022 SRA OSS, Inc. Japan23

スプリットブレイン• 各 Zabbix server ノードは DB のみと通信• DB との接続が切れた場合には Standby に自動切替
Active ⇒ Standby

Standby ⇒ Active

基本的にスプリットブレインが発生する心配なし© 2022 SRA OSS, Inc. Japan24

アノマリー検知とベースライン監視© 2022 SRA OSS, Inc. Japan25

アノマリー検知とベースライン監視
アノマリー検知
過去のデータと比べて大きく異なる値を検知

ベースライン監視
過去のデータの周期性から外れたデータを検知© 2022 SRA OSS, Inc. Japan26

アノマリー検知
STL 分解で元データをトレンド、周期変動、残差に分解し異常値を検知
元データ

トレンド

周期変動

© 2022 SRA OSS, Inc. Japan

残差27

アノマリー検知のトリガー関数• trendstl(/host/key,eval period:time shift,detection period,season,<deviations>,<devalg>,<s_window>)• 全体のデータのうち異常値の数の割合を0～1の間の値で返す
パラメータ

説明/host/key

ホストおよびアイテム

eval period

STL 分解に利用するデータの期間

detection period

アノマリー（異常値）の検知対象期間

season

周期の期間

deviations

異常値とする偏差値（デフォルト：3）

devalg

偏差アルゴリズム（デフォルト：mad）

s_windowloess ウィンドウのスパン（デフォルト：10 * 評価期間中のエントリ数 + 1）
© 2022 SRA OSS, Inc. Japan28

ベースライン監視• 過去のデータの指定期間の繰り返しから得られる値を監視に利用• トレンドデータから計算• 期間: 1日、周期: 4週間の場合• 現在が火曜日の場合、4 週間の月曜日のデータを元に前日の月曜日を評価
評価ポイント

評価に利用

昨日 現在

4 週間前

3 週間前

2 週間前

© 2022 SRA OSS, Inc. Japan

1 週間前

今週
29

ベースライン監視のトリガー関数• baselinedev(/host/key,data period:time shift,season_unit,num_seasons)• 周期の中の指定した期間の標準偏差を返す• baselinewma(/host/key,data period:time shift,season_unit,num_seasons)• 周期の中の指定した期間の加重移動平均値を返す
パラメータ

説明/host/key

ホストおよびアイテム

data period

データ期間season_unit

周期単位

num_seasons周期数© 2022 SRA OSS, Inc. Japan30

Kubernetes 監視© 2022 SRA OSS, Inc. Japan31

Kubernetes 監視• ノードと Pod の自動検出と監視• ノードや Pod に関する情報をエージェントレスで収集• ノードホストから詳細な情報を取得可能• 以下のテンプレートが追加• Kubernetes nodes by HTTP
• Kubernetes cluster state by HTTP
• Kubernetes API server by HTTP
• Kubernetes Controller manager by HTTP
• Kubernetes Scheduler by HTTP
• Kubernetes kubelet by HTTP
© 2022 SRA OSS, Inc. Japan32

Kubernetes 監視の概要図
Kubernetes クラスタ
コントロールプレーンノード
Zabbix Agentkubelet

Zabbix Agentkubelet
Zabbix Proxykube-statemetrics

kubescheduler
kube-apiserver© 2022 SRA OSS, Inc. Japan

kube-controlmanager

33

Kubernetes 監視導入ツール• Kubernetes 監視をフルに活用するためには
Zabbix proxy と Zabbix agent を Kubernetes クラスタに導入する必要あり• そのためのツールである Zabbix Helm Chart を提供• https://git.zabbix.com/projects/ZT/repos/kuberneteshelm/browse?at=refs%2Fheads%2Frelease%2F6.0• 要件• Kubernetes cluster 1.18 以上• Helm 3.0 以上• Zabbix server 6.0 以上• kube-state-metrics 2.13.2 以上© 2022 SRA OSS, Inc. Japan34

新規ウィジェット© 2022 SRA OSS, Inc. Japan35

地理マップウィジェット
• 地図に監視対象の場所を表示• 発生している障害によって色分け• インベントリで緯度、経度の設定が必要© 2022 SRA OSS, Inc. Japan36

アイテムの値ウィジェット
• 単一のアイテムの現在値を表示• 表示スタイル、アイコンも変更可能© 2022 SRA OSS, Inc. Japan37

上位ホストウィジェット
• ユーザがカスタマイズ可能なデータ概要テーブルを表示• 特定アイテムの TOP N やバーゲージ表示が可能© 2022 SRA OSS, Inc. Japan38

その他の新機能© 2022 SRA OSS, Inc. Japan39

データベースのバージョンチェック機能• Zabbix server/proxy 起動時 DB のバージョンをチェック• 対応バージョン外なら起動しない
zabbix_server.log

Unable to start Zabbix server due to unsupported PostgreSQL databaseserver version (10.17)

Must be at least (13.0)
Use of supported database version is highly recommended.
Override by setting AllowUnsupportedDBVersions=1 in Zabbix server
configuration file at your own risk.
© 2022 SRA OSS, Inc. Japan40

新規追加されたアイテムキー• agent.hostmetadata：エージェントのホストメタデータ• kernel.openfiles：現在開いているファイルディスクリプタ数• net.tcp.socket.count[]：パラメータに一致する TCP ソケット数• net.udp.socket.count[]：パラメータに一致する UDP ソケット数• vfs.dir.get[]：JSON 形式のディレクトリ情報• vfs.file.get[]：JSON 形式のファイル情報• vfs.file.owner[]：ファイルの所有者情報• vfs.file.permissions[]：ファイルのパーミッション© 2022 SRA OSS, Inc. Japan

詳細はAppendix II へ41

更新されたアイテムキー• vfs.file.cksum[]：第 2 パラメータ <mode> が追加（crc32 (デフォルト), md5, sha256）• vfs.file.size[]：第 2 パラメータ <mode> が追加（bytes (デフォルト), lines）• vfs.fs.discovery：Windows の場合、ボリューム名を{#FSLABEL} マクロで取得• vfs.fs.get： Windows の場合、ボリューム名を{#FSLABEL} マクロで取得© 2022 SRA OSS, Inc. Japan42

単調変化の検知• monoinc() 関数：任意期間の単調増加を検知• monodec() 関数：任意期間の単調減少を検知

monoinc() の場合

mode = weakmode = strict

同じ値© 2022 SRA OSS, Inc. Japan43

変化回数の検知• changecount() 関数 ：任意期間に隣接する値の間で変化があった回数を返す

mode• all• inc• dec：増減問わずカウント ⇒ 3：増加のみカウント ⇒ 2：減少のみカウント ⇒ 1© 2022 SRA OSS, Inc. Japan

44

Github メディアタイプの追加• Webhook で Github の issue を登録可能

障害タグ・リンク

issue No.

© 2022 SRA OSS, Inc. Japan45

Zabbix ユーザのパスワードポリシー設定• 最小パスワード長• 必須項目• 大文字小文字• 数字• 記号• 推測が容易な文字列の禁止• よくあるパスワード• ユーザ名を含む© 2022 SRA OSS, Inc. Japan46

Zabbix 6.0 へのアップグレード時の注意点© 2022 SRA OSS, Inc. Japan47

アップグレードの前に• 公式ドキュメントの新機能およびアップグレードに関するページを確認• 1. Introduction – 5 What‘s new in Zabbix 6.0.0 ～ 6.0.x• 4. Installation – 7 Upgrade procedure• 4. Installation – 8 Known issues• 4. Installation – 10 Upgrade notes for 6.0.0 ～ 6.0.x© 2022 SRA OSS, Inc. Japan

48

Zabbix 6.0 アップグレード時の注意点 1• RHEL で Zabbix server のパッケージは 8 系のみ提供• Zabbix proxy は RHEL 7 のパッケージも提供• Zabbix agent は RHEL 5、agent 2 は RHEL 6 以上

• Zabbix server と Zabbix proxy は要同一メジャーバージョン• Zabbix agent は後方互換性あり• DB のサポートバージョンに注意• サポート外だとデフォルトでは起動しない• RHEL 8 の公式リポジトリの PostgreSQL、MySQL を利用するにはRHEL 8.4 以上が必要© 2022 SRA OSS, Inc. Japan49

Zabbix 6.0 アップグレード時の注意点 2• history 系テーブルへの主キー追加は別途スクリプトを実行• スクリプトは zabbix-sql-scripts パッケージに同梱• テーブルの変換には history 系テーブル分の空き容量が必要• PCRE が PCRE2 に変更• 正規表現の記述方法に一部違い• 監査ログの履歴は移行不可• 6.0 からの監査ログのスキーマの変更による© 2022 SRA OSS, Inc. Japan50

Zabbix 6.0 アップグレード時の注意点 3• アイテム名でのポジショナルマクロ ($1, $2 …) のサポート削除• アップグレードで自動変換はされない• Zabbix のサポート契約があるとマクロを変換してくれるコマンドラインユーティリティが利用可能© 2022 SRA OSS, Inc. Japan51

Zabbix 6.2 の新機能紹介© 2022 SRA OSS, Inc. Japan52

Zabbix 6.2• 2022/07/04 リリース
• ポイントリリースバージョン• フルサポート 6 ヶ月（2022/11 まで）• リミテッドサポート 1 ヶ月（2022/12 まで）© 2022 SRA OSS, Inc. Japan53

個別の障害の抑制• 任意の障害を一定時間表示しないようにすることが可能• 抑制した障害はメンテナンス状態に遷移© 2022 SRA OSS, Inc. Japan

54

LDAP 認証サーバの複数設定• ログイン認証用のLDAP サーバを複数設定可能• ユーザグループ毎に異なるLDAP サーバを利用可能• どの LDAP サーバを利用するかはユーザグループ側で設定© 2022 SRA OSS, Inc. Japan

55

CyberArk Valut への機密情報の保存• 機密情報を HashiCorp Vault に加えてCyberArk Vault へも保存可能• 保存できる情報は今までと同様 DB 認証情報とユーザマクロの値© 2022 SRA OSS, Inc. Japan56

テンプレートグループの分離• テンプレートをホストグループからテンプレートグループに独立して管理• ユーザの役割による権限もテンプレートグループとホストグループで分離© 2022 SRA OSS, Inc. Japan57

アクティブチェックのステータス表示• エージェントの状態でアクティブチェックが利用可能かを判別可能（エージェントも 6.2 の場合）
• パッシブチェックのステータスと合わせてエージェントの状態表示自体も変化• 両方利用可能 ⇒ 緑• 片方利用不可 ⇒ 黄色
• 両方利用不可 ⇒ 赤© 2022 SRA OSS, Inc. Japan58

その他の新機能• AWS EC2 監視テンプレートの追加• Windows のレジストリ監視の追加• OS プロセスの LLD の追加• VMware 監視の拡張• 新規追加アイテムの取得開始時間の短縮• 積み上げグラフの追加• 設定画面に対応する公式ドキュメントへのリンクの追加• PHP 要件の変更（7.2.5 ⇒ 7.4.0）© 2022 SRA OSS, Inc. Japan59

参考• Zabbix manual• https://www.zabbix.com/documentation/6.0/jp/manual• https://www.zabbix.com/documentation/6.2/en/manual• What's new• https://www.zabbix.com/documentation/6.0/jp/manual/introduction/
whatsnew600• https://www.zabbix.com/documentation/6.2/en/manual/introduction/whatsnew620• Zabbix roadmap• https://www.zabbix.com/jp/roadmap© 2022 SRA OSS, Inc. Japan60

SRA OSS Tech Blog
• 弊社 Tech Blog では Zabbix を始め、様々な OSS の技術情報を掲載• SRA OSS Tech Blog
• https://www.sraoss.co.jp/tech-blog/• Zabbix 6.0 紹介• https://www.sraoss.co.jp/tech-blog/zabbix/zabbix60-newfeature-latest/• Zabbix 6.2 紹介• 近日公開予定© 2022 SRA OSS, Inc. Japan61

オープンソースとともに© 2022 SRA OSS, Inc. Japan

62