Zabbix 4.4 解説
Zabbix Conference Japan 20192019/11/15

SRA OSS, Inc. 日本支社
赤松 俊弘

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

Zabbix 4.4 概要

All Rights Reserved©SRA OSS, Inc. Japan3

Zabbix 4.4 概要
 2019/10/07 リリース ポイントリリース
 フルサポート６カ月 リミテッドサポート１ヶ月 延長サポートなし
2019
10/07 10/31

4.4
4.2

4.0 LTS

2020
03/31

フルサポート

04/30

2021
10/31

リミテッドサポート

リミテッドサポート

フルサポートAll Rights Reserved©SRA OSS, Inc. Japan4

公式サポート環境の追加
OSDebian 10 Raspbian 10 Mac OS/X

SUSE LinuxEnterpriseServer 15

Red HatEnterpriseLinux 8

パッケージ提供バージョン
 3.0 LTS 4.0 LTS
 4.2
 4.4

MSI forWindowsagent

All Rights Reserved©SRA OSS, Inc. Japan5

公式サポート環境の追加
クラウドイメージ

AWS

DigitalOcean

MicrosoftAzure

Google Cloud
All Rights Reserved©SRA OSS, Inc. Japan6

各種ガイドラインの公開

All Rights Reserved©SRA OSS, Inc. Japan7

Zabbix 4.4 の新機能
 次世代の Zabbix Agent Webhook によるアラート
 TimescaleDB の公式サポート
 グラフでの集約関数
 LLD アイテムの追加
 保存前処理の追加
 Frontend の改善
 etc...
All Rights Reserved©SRA OSS, Inc. Japan8

次世代の Zabbix AgentAll Rights Reserved©SRA OSS, Inc. Japan9

次世代の Zabbix Agent
その名もZabbix Agent 2
詳細は…

Magic of the new Zabbix Agent
Alexey Pustovalov
15:30 - 16:10
All Rights Reserved©SRA OSS, Inc. Japan10

次世代の Zabbix Agent Go 言語で開発された新しい Zabbix Agent 現状は実験的なサポート段階
サポートプラットフォーム
以下はパッケージあり
 RHEL/CentOS 8
 SLES 15 SP1+
 Debian 9, 10
 Ubuntu 18.04

それ以外はソースからコンパイルが必要
All Rights Reserved©SRA OSS, Inc. Japan11

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

All Rights Reserved©SRA OSS, Inc. Japan

12

Webhook によるアラート

All Rights Reserved©SRA OSS, Inc. Japan

13

Webhook によるアラート

 メディアタイプに Webhook が追加
 外部システムとの連携がより容易に
All Rights Reserved©SRA OSS, Inc. Japan

14

Webhook によるアラート

それってカスタムスクリプトとどう違うの？

All Rights Reserved©SRA OSS, Inc. Japan

15

Webhook によるアラート
Frontend から JavaScript

All Rights Reserved©SRA OSS, Inc. Japan

16

Webhook によるアラート
レスポンスの値を利用可能

 Process tags
⇒ 特定の値を動的にイベントのタグに追加
 Include event menu entry⇒ イベントのメニューに動的に任意のリンクを追加
All Rights Reserved©SRA OSS, Inc. Japan17

Webhook によるアラート
例：Redmine にチケットを登録

タグ・リンクチケット IDAll Rights Reserved©SRA OSS, Inc. Japan18

Webhook によるアラート

All Rights Reserved©SRA OSS, Inc. Japan

19

TimescaleDB の公式サポート

All Rights Reserved©SRA OSS, Inc. Japan

20

TimescaleDB とは？
時系列データに強い PostgreSQL
PostgreSQL のEXTENSION

OSS
PostgreSQLとの互換性

パフォーマンス向上

時系列データ特化

データ削除が速い

時系列分析関数

クエリも速い

時系列データ管理機能

All Rights Reserved©SRA OSS, Inc. Japan

21

TimescaleDB のアーキテクチャ
テーブルを時間単位でパーティショニング

hypertable(親テーブル)2019/11/16

2019/11/17

2019/11/18

2019/11/19

chunk(子テーブル)

SELECT や INSERT などの親テーブルで実行した操作は、自動的に子テーブルに伝播

All Rights Reserved©SRA OSS, Inc. Japan22

housekeeper の違い
PostgreSQL

TimescaleDB

DELETE FROM history
WHERE
itemid = xxxx AND clock < yyyy

SELECTdrop_chunks(zzzz, ’history’)

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

2019/11/16

2019/11/17

2019/11/18

2019/11/19

子テーブルごと削除
VACUUM 不要

All Rights Reserved©SRA OSS, Inc. Japan

23

LLD アイテムの追加

All Rights Reserved©SRA OSS, Inc. Japan

24

LLD アイテムの追加
ブロックデバイスのディスカバリ

[{“{#DEVNAME}“:”cdrom”,“{#DEVTYPE}”:“disk”},{“{#DEVNAME}”:“fd0”,“{#DEVTYPE}”:“disk”},{“{#DEVNAME}”:“sda”,“{#DEVTYPE}”:“disk”},{“{#DEVNAME}”:“sda1”,“{#DEVTYPE}”:“partition”},…

vfs.dev.discovery

 Linux のみでサポート
All Rights Reserved©SRA OSS, Inc. Japan]

25

LLD アイテムの追加
systemd サービスのディスカバリ

[{"{#UNIT.NAME}":"zabbix-server.service","{#UNIT.DESCRIPTION}":"Zabbix Server","{#UNIT.LOADSTATE}":"loaded","{#UNIT.ACTIVESTATE}":"active","{#UNIT.SUBSTATE}":"running","{#UNIT.FOLLOWED}":"","{#UNIT.PATH}":"/org/freedesktop/...","{#UNIT.JOBID}":0,"{#UNIT.JOBTYPE}":"","{#UNIT.JOBPATH}":"/"},},…

systemd.unit.discovery]

 Zabbix Agent 2 かつ Linux のみでサポート
All Rights Reserved©SRA OSS, Inc. Japan

26

LLD アイテムの追加
JMX MBean のディスカバリ

jmx.get[<discovery mode>,<object name>]

All Rights Reserved©SRA OSS, Inc. Japan

27

LLD アイテムの追加
前からある
jmx.discovery とどう違うの？

All Rights Reserved©SRA OSS, Inc. Japan

28

LLD アイテムの追加
jmx.discovery
ObjectName=“java.lang:type=MemoryPool,name=Metaspace,attr-1=hoge”[{"{#JMXOBJ}":"java.lang:type=MemoryPool,name=Metaspace,attr-1=hoge","{#JMXDOMAIN}":"java.lang","{#JMXTYPE}":"MemoryPool","{#JMXNAME}":"Metaspace“}] MBean やその属性を LLD マクロ付きの JSON で返す
 マクロでサポートされない文字列が含まれる属性は無視
 ハイフンや括弧、非アスキー文字など
All Rights Reserved©SRA OSS, Inc. Japan

29

LLD アイテムの追加
jmx.getObjectName=“java.lang:type=MemoryPool,name=Metaspace,attr-1=hoge”[{"object":"java.lang:type=MemoryPool,name=Metaspace,attr-1=hoge“"domain":"java.lang","properties":{"name":"Metaspace","type":"MemoryPool“,“attr-1":“hoge“}}] MBean やその属性を JSON で返す キーに対するカスタム LLD マクロの定義が必要
All Rights Reserved©SRA OSS, Inc. Japan

30

LLD アイテムの追加
WMI のディスカバリ

wmi.getall[<namespace>,<query>]All Rights Reserved©SRA OSS, Inc. Japan31

保存前処理の新機能
 CSV to JSON JSON 内 / XML 内 / 正規表現使用時のエラーチェックでの失敗時のカスタマイズ LLD ルールで使用できる保存前処理の追加
All Rights Reserved©SRA OSS, Inc. Japan32

CSV to JSONCSV to JSONAll Rights Reserved©SRA OSS, Inc. Japan33

CSV to JSONCSV to JSON のパラメータ

最初の行をヘッダ行とする
デリミタの指定
指定した文字を文字ではなくクォート記号として扱う
All Rights Reserved©SRA OSS, Inc. Japan34

CSV to JSON
最初の行をヘッダ行とする[{[{“ID”:”1”,“Host”:“host1”,“IP”:“10.1.1.1”},{“ID”:”2”,“Host”:“host2”,“IP”:“10.1.1.2”},...

ID,Host,IP
1,host1,10.1.1.1
2,host2,10.1.1.2...

]
All Rights Reserved©SRA OSS, Inc. Japan

"1":"ID","2":"Host","3":"IP“},{"1":"1","2":"host1","3":"10.1.1.1“},
...
]
35

CSV to JSON
デリミタの指定[ID,Host,IP
1,host1,10.1.1.1
2,host2,10.1.1.2...

{“ID”:”1”,“Host”:“host1”,“IP”:“10.1.1.1”},{“ID”:”2”,“Host”:“host2”,“IP”:“10.1.1.2”},...

ID@Host@IP
1@host1@10.1.1.1
2@host2@10.1.1.2...

]
All Rights Reserved©SRA OSS, Inc. Japan36

CSV to JSON ちなみに CSV の頭に Sep=<デリミタ> でも OK[{“ID”:”1”,“Host”:“host1”,“IP”:“10.1.1.1”},{“ID”:”2”,“Host”:“host2”,“IP”:“10.1.1.2”},
...

Sep=@
ID@Host@IP
1@host1@10.1.1.1
2@host2@10.1.1.2...

]
All Rights Reserved©SRA OSS, Inc. Japan37

CSV to JSON さらにパラメータと Sep= ではパラメータ優先[{“ID”:”1”,“Host”:“host1”,“IP”:“10.1.1.1”},{“ID”:”2”,“Host”:“host2”,“IP”:“10.1.1.2”},
...

Sep=|
ID@Host@IP
1@host1@10.1.1.1
2@host2@10.1.1.2...

]
All Rights Reserved©SRA OSS, Inc. Japan38

CSV to JSON指定した文字を文字ではなくクォート記号として扱う[{“¥”ID¥””:”1”,“Host”:“host1”,“IP”:“10.1.1.1”},...

“ID”,Host,IP
1,host1,10.1.1.1
2,host2,10.1.1.2...

[{“ID”:”1”,“Host”:“host1”,“IP”:“10.1.1.1”},...
All Rights Reserved©SRA OSS, Inc. Japan39

失敗時のカスタマイズ
 JSON 内 / XML 内 / 正規表現使用時のエラーチェックで失敗時のカスタマイズが使用可能

All Rights Reserved©SRA OSS, Inc. Japan

40

LLD ルールでの保存前処理
 LLD ルールで使用できる保存前処理に以下が追加
 XML Xpath
 CSV to JSON XML 内でのエラーチェック

All Rights Reserved©SRA OSS, Inc. Japan41

セキュリティの新機能
 Web 監視および HTTP アイテムに Kerberos 認証サポートが追加
 自動登録の通信に PSK ベースの暗号化サポートが追加

All Rights Reserved©SRA OSS, Inc. Japan42

Kerberos 認証サポート
 Web 監視と HTTP エージェントの認証方法にKerberos 認証が追加

All Rights Reserved©SRA OSS, Inc. Japan43

セキュアな自動登録 エージェントの自動登録で PSK ベースの通信が可能に

All Rights Reserved©SRA OSS, Inc. Japan

44

Frontend の新機能
 Host availability の追加
 ウィジェットのヘッダ非表示機能
 bar グラフの追加
 グラフでの集約関数

 Operational data 表示
 アイテム/トリガーの説明表示

All Rights Reserved©SRA OSS, Inc. Japan45

Host availability の追加
 Host Availability ウィジェットが追加
 深刻度ごとの障害数の見た目も変更

All Rights Reserved©SRA OSS, Inc. Japan

46

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

All Rights Reserved©SRA OSS, Inc. Japan

47

Bar グラフの追加

All Rights Reserved©SRA OSS, Inc. Japan

48

グラフでの集約関数

 Aggregation function





なし
最小最大平均countsum
第1最新値

All Rights Reserved©SRA OSS, Inc. Japan49

Operational data 表示
トリガー設定障害画面

All Rights Reserved©SRA OSS, Inc. Japan

50

アイテム/トリガーの説明表示
 アイテム/トリガーの説明を tooltop で表示
アイテム

トリガー

All Rights Reserved©SRA OSS, Inc. Japan51

その他の新機能

All Rights Reserved©SRA OSS, Inc. Japan

52

その他の新機能
 db.odbc.get アイテムの追加
 ホスト一覧画面などでプロキシの列が分離 トリガー条件式のフォントが等幅に変更
 DNS 名での自動登録 メディアタイプのエクスポート/インポート
 エクスポートファイルの構造の改善
 items テーブルから一部のフィールドをitem_rtdata テーブルに分離
All Rights Reserved©SRA OSS, Inc. Japan53

All Rights Reserved©SRA OSS, Inc. Japan54