Zabbix 5.0 最新情報
SRA OSS, Inc. 日本支社
OSS事業本部 技術部 基盤技術グループ
赤松 俊弘

セミナー概要
Zabbix 4.2 から 5.0 までに追加された新機能についての解説
Zabbix 4.2

Zabbix 4.4

Zabbix 5.0• 保存前処理の拡張• Zabbix agent 2• フロントエンド改善• Prometheus
インテグレーション• Webhook による通知• トリガー条件式での文字列比較• TimescaleDB• グラフでの集約関数• アイテムのテスト…

…
© 2020 SRA OSS, Inc. Japan…
2

whoami 赤松 俊弘（Toshihiro Akamatsu）
 SRA OSS, Inc. 日本支社
OSS 事業本部 基盤技術グループ
職務 PostgreSQL 以外の OSS 全般の技術サポート、構築 主に Zabbix を担当© 2020 SRA OSS, Inc. Japan3

Zabbix 5.0 の基本情報© 2020 SRA OSS, Inc. Japan

4

Zabbix 5.0• 2020/05/12 リリース
• LTS (Long Term Support) 版
2020/05/12 2021/02

5.0 LTS

4.0 LTS
3.0 LTS

2021/102023/05

フルサポートフルサポートリミテッド
サポート

2023/102025/05

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

ソフトウェア要件 －Database－MySQL
OraclePostgreSQLIBM DB2
SQLiteTimescaleDB

Zabbix 4.0
5.0.3 以降
10g 以降8.1 以降9.7 以降3.3.5 以降
© 2020 SRA OSS, Inc. Japan

Zabbix 5.0
5.5.62 - 8.0.x
11.2 以降
9.2.24 以降サポート削除
3.3.5 以降
1.0 以降（OSS 版）
6ソフトウェア要件 －Frontend－• PHP 7.2 以上が必須• RHEL 7、CentOS 7 の場合は注意
RHEL/CentOS 7 frontend installation
https://www.zabbix.com/documentation/current/manual/installation/
install_from_packages/frontend_on_rhel7• Internet Explorer 11 のサポート削除© 2020 SRA OSS, Inc. Japan7

Zabbix Agent© 2020 SRA OSS, Inc. Japan8

Zabbix Agent 2

4.4

Go 言語で開発された新しい Zabbix Agent
•
•
•
•
•
•

監視の高い並列実行性
プラグインによる拡張容易性
TCP 接続数の削減
現行の Zabbix Agent の機能は全て踏襲
アクティブチェックの監視間隔カスタマイズが可能
現行の設定ファイルとほぼ互換性あり© 2020 SRA OSS, Inc. Japan9

キーのホワイト / ブラックリスト

5.0• AllowKey=<pattern>• DenyKey=<pattern>
AllowKey=vfs.file.*[/var/log/*]
AllowKey=system.localtime[*]DenyKey=*© 2020 SRA OSS, Inc. Japan

10

アイテム

© 2020 SRA OSS, Inc. Japan11

アイテムのテスト機能

5.0© 2020 SRA OSS, Inc. Japan12

データベース監視
db.odbc.get の追加

4.4• 複数行および列を JSON 形式で取得必要なデータを一括取得、依存アイテムで個々を抽出

接続文字列パラメータの追加

5.0• db.odbc.*[<説明>, <データソース>, <接続文字列>]
接続情報を /etc/odbc.ini もしくは接続文字列で設定
db.odbc.get[test,,“Driver=/usr/local/lib/libmyodbc5a.so;Database=test;Server=127.0.0.1;Port=3306”]© 2020 SRA OSS, Inc. Japan

13

Web 監視
ヘッダの要求文字列

4.2• ヘッダ内の要求文字列を正規表現で設定可能に取得モードの変更

4.2© 2020 SRA OSS, Inc. Japan

14

Web 監視、HTTP エージェント
Kerberos 認証サポート

4.4© 2020 SRA OSS, Inc. Japan

15

その他
4.2
• net.dns、net.dns.record の IPv6 サポート• vmware.eventlog に skip パラメータ追加
5.0• キーの文字列長が 256 から 2048 に拡張• 数値（浮動小数）型が 15 桁、-1.79E+308 ≦ 1.69E+308 に拡張（PostgreSQL 11 以下は除く）• zabbix[stats,<ip>,<port>] および zabbix[version]でのZabbix サーバおよびプロキシのバージョン取得• jmx アイテムでの表形式データのサポート© 2020 SRA OSS, Inc. Japan16

保存前処理© 2020 SRA OSS, Inc. Japan17

保存前処理3.4

取得したデータを加工して保存
取得
データ

処理後
データ

保存前処理
© 2020 SRA OSS, Inc. Japan18

保存前処理の種類• テキスト•••••• 数値変換正規表現
置換 5.0前後文字列削除
末尾文字列削除
先頭文字列削除• 論理値から１０進数• ８進数から１０進数• １６進数から１０進数• カスタムスクリプト

• 計算
• 乗数

• 変化

4.2

• JavaScript• 構造化データ• XML Xpath• JSONPath• CSV から JSON

• 絞り込み 4.2• 変化がなければ破棄• 指定秒数に変化がなければ破棄• Prometheus

4.2• Prometheusパターン• Prometheus から JSON

• バリデーション 4.24.4

•
•
•
••
•

値の範囲
正規表現と一致する
正規表現と一致しない
JSON内のエラーチェック
XML内のエラーチェック
正規表現使用時のエラーチェック• 差分• １秒あたりの差分© 2020 SRA OSS, Inc. Japan

19

テキスト -置換-

5.0

foobarfoobaz置換bar ⇒ bazhoge

foobarhoge

置換o⇒© 2020 SRA OSS, Inc. Japanfbar
20構造化データ -CSV から JSON-

4.4

CSV to JSON

© 2020 SRA OSS, Inc. Japan21

カスタムスクリプト –JavaScript-

4.2

パラメータにスクリプトを直接入力© 2020 SRA OSS, Inc. Japan22

カスタムスクリプト –JavaScript50

4.2

10function (value){// 華氏から摂氏へ
return (value - 32) * 5 / 9}
© 2020 SRA OSS, Inc. Japan23

バリデーション -値の範囲-

4.2

5050
値の範囲
0 ≦ 100999© 2020 SRA OSS, Inc. Japan

取得
不可24

バリデーション -正規表現に一致する/しないv3.0

4.2

v3.0
正規表現に一致する^v¥d¥.¥d$v3© 2020 SRA OSS, Inc. Japan

取得
不可25

バリデーション -エラーチェック{“value”: 1“name”: “test”
}

4.2

{
“value”: 1“name”: “test”}

JSON内のエラーチェック$.error取得
不可{“error”: “hoge”}© 2020 SRA OSS, Inc. Japan26

絞り込み -変化がなければ破棄-

4.2

1

1

1

null

…

…

変化がなければ破棄

1

null

00
© 2020 SRA OSS, Inc. Japan

ストレージを節約

27

保存前処理 –PrometheusPrometheus
exporter

4.2

HTTP エージェント
メトリクス

exporter の出力
メトリクス名{ラベル名=“ラベル値”,…} メトリクス値
メトリクス名{ラベル名=“ラベル値”,…} メトリクス値
メトリクス名{ラベル名=“ラベル値”,…} メトリクス値…
© 2020 SRA OSS, Inc. Japan28

Prometheus -Prometheus パターン-

4.2

Prometheus のメトリクスから特定の値を抽出
cpu{mode=“sys”} 0.2
cpu{mode=“user”} 2.5
cpu{mode=“idle”} 95.2…

2.5
Prometheus パターン
cpu{mode=“user”}© 2020 SRA OSS, Inc. Japan

29

Prometheus -Prometheus から JSON-

4.2

メトリクス ⇒ JSON ⇒ LLD マクロ ⇒ LLD ルール[{"name": "cpu","value": “0.2",“line_raw": “cpu{cpu=mode=¥“sys¥"} 0.2","labels": {"mode":“sys"},},{“name”: “cpu”,…
},…

cpu{mode=“sys”} 0.2
cpu{mode=“user”} 2.5
cpu{mode=“idle”} 95.2…

Prometheus から JSON
cpu]

© 2020 SRA OSS, Inc. Japan30

失敗時のカスタマイズ

4.2

保存前処理でエラーが発生しても取得不可にしない© 2020 SRA OSS, Inc. Japan31

失敗時のカスタマイズ -値を破棄504.250値の範囲(0 ≦ 100)+ 値を破棄
null999© 2020 SRA OSS, Inc. Japan32

失敗時のカスタマイズ -値を設定504.250値の範囲(0 ≦ 100)+ 値を設定：-1-1999© 2020 SRA OSS, Inc. Japan33

失敗時のカスタマイズ -エラーを設定50

4.250値の範囲(0 ≦ 100)+ エラーを設定：”範囲外”

999© 2020 SRA OSS, Inc. Japan

取得
不可34

JavaScript の失敗時のカスタマイズ

4.2

無効化されて選択できない

スクリプト内の if 文で同等の書き方が可能
 値を破棄 値を設定 エラーを設定⇒⇒⇒

null を返す
適当な値を返す
例外を投げる© 2020 SRA OSS, Inc. Japan35

保存前処理のその他の新機能
4.2• フロントエンドでの保存前処理のテスト• 各保存前処理ステップごとのエラーメッセージ表示• Zabbix プロキシでの保存前処理のサポート© 2020 SRA OSS, Inc. Japan

36

トリガー

© 2020 SRA OSS, Inc. Japan37

トリガー条件式での文字列比較

5.0• 条件式で文字列同士の比較が= (equal)、<> (not equal) 演算子で可能に{Zabbix server:zabbix[version].last()}=5.0.0{host:log[/var/log/messages].last()}<>{host:log[/var/log/messages].prev()}© 2020 SRA OSS, Inc. Japan38

Zabbix Proxy の可用性と nodata

5.0• Zabbix Proxy との接続が失われた際に、回復しても nodata 関数が即座に発火しない

ZabbixServerZabbix
ProxyHosts

nodata(sec,strict)：Zabbix 5.0 以前と同様即座に発火© 2020 SRA OSS, Inc. Japan39

テンプレート© 2020 SRA OSS, Inc. Japan

40

4.4

追加テンプレート• Linux• Apache• Template OS Linux by Zabbix agent• Template OS Linux by Zabbix agent active• Template OS Linux by Prom
• Template OS Linux SNMPv2• Windows• Template OS Windows by Zabbix agent• Template OS Windows by Zabbix agentactive• Cisco UCS server• Template Server Cisco UCS SNMPv2• Nginx• Template App Nginx by Zabbix• Template App Nginx by HTTP

• Template App Apache by Zabbix agent• Template App Apache by HTTP

• RabbitMQ• Template App RabbitMQ clusterby Zabbix agent• Template App RabbitMQ nodeby Zabbix agent• Template App RabbitMQ cluster by HTTP
• Template App RabbitMQ node by HTTP

• MySQL/MariaDB• Template DB MySQL by Zabbix agent• PostgreSQL• Template DB PostgreSQL© 2020 SRA OSS, Inc. Japan41

追加テンプレート

5.0• Elasticsearch• Template App Elasticsearch Cluster by HTTP

• ClickHouse• Template DB ClickHouse• Memcached• Template App Memcached• MySQL• Template DB MySQL by Zabbix agent 2• Docker• Template App Docker• Server• Template Server Chaassis by IPMI
© 2020 SRA OSS, Inc. Japan

42

マクロ

© 2020 SRA OSS, Inc. Japan43

マクロ値のマスク

5.0

一度マスクを設定すると、フロントエンド上からは値の中身は確認不可* DB 上では平文で保存© 2020 SRA OSS, Inc. Japan44

マクロのその他の新機能
4.2• マップのラベル、URL、URL の名前に使用できるマクロの追加

4.4• トリガーの URL で {EVENT.ID} マクロをサポート• ユーザマクロに説明を設定可能に

5.0• ホストのプロトタイプでユーザマクロを設定可能に• IPMI のユーザ名およびパスワードでユーザマクロを使用可能に• {EVENT.DURATION}、{EVENT.TAGSJSON}、{EVENT.RECOVERY.TAGSJSON} マクロの追加• 通知での {HOST.ID} マクロをサポート© 2020 SRA OSS, Inc. Japan45

データベース© 2020 SRA OSS, Inc. Japan46

TimescaleDB のサポート

4.2

TimescaleDB とは
PostgreSQL のEXTENSION

OSS
PostgreSQLとの互換性

パフォーマンス向上

時系列データ特化

データ削除が速い

時系列分析関数

クエリも速い

時系列データ管理機能© 2020 SRA OSS, Inc. Japan47

TimescaleDB のサポート

4.2

history テーブル、trends テーブルのパーティショニング
2019/11/16

2019/11/17

2019/11/18

2019/11/19

chunk(子テーブル)

hypertable(親テーブル)© 2020 SRA OSS, Inc. Japan48

TimescaleDB のサポート

4.2

housekeeper の違い
TimescaleDB

PostgreSQL

該当行を検索して削除
不要領域回収に要 VACUUM

2019/11/16

2019/11/17

2019/11/18

2019/11/19

子テーブルごと削除
VACUUM 不要© 2020 SRA OSS, Inc. Japan49

データベースのその他の新機能
4.4• items テーブルから一部のフィールドを item_rtdata に分離

5.0• Elasticsearch 7 サポート
• IMB DB2 のサポート削除• TimescaleDB のデータ圧縮機能サポート© 2020 SRA OSS, Inc. Japan

50

タグ

© 2020 SRA OSS, Inc. Japan51

テンプレート、ホストレベルでのタグ© 2020 SRA OSS, Inc. Japan

4.2

52

ディスカバリ© 2020 SRA OSS, Inc. Japan53

ディスカバリによるホスト名の指定

4.2

Zabbix 4.0 まで
DNS or IP アドレス

Zabbix 4.2以降
チェック項目から指定© 2020 SRA OSS, Inc. Japan

54

JSONPath を使用した LLD マクロ{{“name”: “/dev/sda1”,“fs”: {“name”: “xfs”, }}4.2“{#NAME}”: “/dev/sda1”,“{#FSNAME}”: “xfs”,}© 2020 SRA OSS, Inc. Japan

55

LLD のオーバライド

5.0© 2020 SRA OSS, Inc. Japan56

新しいディスカバリアイテム
4.4

vfs.dev.discovery ：ブロックデバイスのディスカバリ
systemd.unit.discovery ：systemd サービスのディスカバリ
jmx.get ：JMX Bean のディスカバリ
wmi.getall ：WMI のディスカバリ
5.0

ipmi.get ：IPMI センサのディスカバリ
© 2020 SRA OSS, Inc. Japan57

ディスカバリのその他の新機能
4.2• 自動登録アクションでの正規表現フィルタ
4.4• DNS 名での自動登録• ディスカバリおよび自動登録のホスト名長が64 文字から 128 文字に拡張© 2020 SRA OSS, Inc. Japan58

メディアタイプ© 2020 SRA OSS, Inc. Japan

59

Webhook タイプのメディアタイプ

© 2020 SRA OSS, Inc. Japan

4.4

60

Webhook タイプのメディアタイプ

4.4

チケット ID

タグ・リンク© 2020 SRA OSS, Inc. Japan

61

Webhook インテグレーション
••
•
•••••

DiscordJira
Jira ServiceDesk
Jira with CustomFields
MattermostMS Teams
Opsgenie
PagerDuty••••••••© 2020 SRA OSS, Inc. Japan

5.0

PushoverRedmineServiceNow
SIGNL4Slack
Telegram
ZammadZendesk62

メッセージテンプレート

5.0© 2020 SRA OSS, Inc. Japan63

メディアタイプのその他の新機能
4.2• メディアタイプのフロントエンドでのテスト機能• Email での HTML フォーマットサポート

4.4• Jabber、Ez Texting のサポート削除• メディアタイプのエクスポート/インポート機能の追加

5.0• Webhook メディアタイプのフロントエンドでのテスト機能• Webhook に HTTP Proxy サポート
• Email のスレッドでの送信© 2020 SRA OSS, Inc. Japan64

セキュリティ© 2020 SRA OSS, Inc. Japan65

自動登録での PSK 暗号通信サポート© 2020 SRA OSS, Inc. Japan

4.4

66

データベースへの TLS 接続
フロントエンドから
データベース

5.0

サーバ、プロキシからデータベースzabbix_server.conf、zabbix_proxy.conf
DBTLSConnect=[required|verify_ca|verify_full]
DBTLSCAFile=<CA 証明書ファイルパス>

DBTLSCertFile=<サーバ証明書ファイルパス>
DBTLSKeyFile=<キーファイルパス>
DBTLSCipher=<TLS1.2 の暗号化アルゴリズムリスト>
DBTLSCipher13=<TLS1.3 の暗号化アルゴリズムリスト>© 2020 SRA OSS, Inc. Japan67

SAML 認証サポート

5.0

フロントエンドへのログインでSAML 2.0 認証をサポート
zabbix.conf.php$SSO[‘SP_KEY’] = ‘<SP キーファイルパス>';$SSO[‘SP_CERT’] = ‘<SP 証明書ファイルパス>';$SSO[‘IDP_CERT’] = ‘<IDP 証明書ファイルパス>';$SSO[‘SETTINGS’] = [<オプション>]© 2020 SRA OSS, Inc. Japan68

セキュリティのその他の新機能
5.0• ユーザのパスワードハッシュを MD5 から Bcrypt に変更• mbedTLS (PolarSSL) のサポート削除• OpenSSL、GnuTSL、LibreTSL は引き続きサポート© 2020 SRA OSS, Inc. Japan69

フロントエンド© 2020 SRA OSS, Inc. Japan70

メニューのレイアウト変更

5.0

上部横レイアウトから左サイド縦レイアウトに変更
通常縮小© 2020 SRA OSS, Inc. Japan

非表示

71

障害更新の改善

5.0• 障害名の表示• 複数選択の場合は選択数• メッセージの入力可能文字数拡張• 256 文字から 2048 文字• Unakcnowledge の追加• 確認済みを未確認に戻す© 2020 SRA OSS, Inc. Japan72

画面選択方法の変更

5.0© 2020 SRA OSS, Inc. Japan73

インターフェースでの SNMP 設定

5.0

ホスト設定

アイテム設定© 2020 SRA OSS, Inc. Japan74

監視データ⇒ホスト画面5.0© 2020 SRA OSS, Inc. Japan

75

ホスト稼働状況ウィジェット
横レイアウト

4.4

縦レイアウト

深刻度ごとの障害数ウィジェットのスタイルも合わせて変更© 2020 SRA OSS, Inc. Japan76

ウィジェットのヘッダ非表示

4.4*非表示でもマウスオーバでヘッダは表示© 2020 SRA OSS, Inc. Japan77

棒グラフの追加

4.4© 2020 SRA OSS, Inc. Japan78

グラフでのアグリゲーション関数

4.4

• 最小
• 最大
• 平均
• 個数
• 合計
• 第1
• 最新値
© 2020 SRA OSS, Inc. Japan79

障害画面での運用データ表示

4.4

トリガー設定障害画面© 2020 SRA OSS, Inc. Japan80

フロントエンドのその他の新機能
4.2• マップの GIF アニメーションサポート• トリガー一覧画面のフィルタ項目追加• SVG グラフのツールチップでタイムスタンプ表示• ダッシュボードウィジェットの非破壊リサイズ / 並べ替え

4.4
• グラフのプロトタイプウィジェットの追加• ウィジェットの最大カラム数が 12 から 24 に拡張• トリガー条件式のフォントが等幅に変更• 最新データ、イベント一覧画面でアイテム、トリガーの説明をツールチップ表示• ホスト一覧画面などでプロキシの列が分離• エクスポートファイルの構造の改善© 2020 SRA OSS, Inc. Japan81

フロントエンドのその他の新機能
5.0• 独自モジュールによるフロントエンドの拡張• ドロップダウンがマルチセレクトに変更• LLD ルール一覧にフィルタ追加• ユーザマクロ、テンプレートリンク削除が一括更新に追加• 設定フォームがポップアップに• 深刻度ごとの障害、障害中のホストウィジェットにタグフィルタを追加• 深刻度ごとの障害ウィジェットに特定の深刻度でのフィルタを追加• グラフウィジェットのスクリーンショットを PNG としてダウンロード可能• ウィジェットのコピー & ペースト
© 2020 SRA OSS, Inc. Japan82

Zabbix 5.22020 年 7 – 9 月リリース予定© 2020 SRA OSS, Inc. Japan83

Premija Viewer for Zabbix の紹介© 2020 SRA OSS, Inc. Japan84

Premija Viewer for Zabbix
ノードマップノードツリー

イベントフィルタ

イベント一覧

Zabbix での監視運用に必要な機能を 1 画面で© 2020 SRA OSS, Inc. Japan85

Premija Viewer for Zabbix の機能① 複数の Zabbix Server を統合監視② 柔軟なイベント検索③ 監視対象の可視化④ 障害対応状況の管理・把握を明瞭化⑤ ペインの相互作用による直感的なドリルダウン⑥ 詳細なイベント・ホスト情報の表示© 2020 SRA OSS, Inc. Japan86

Q&A