Zabbix 6.0 Item/Trigger チートシート

# ■対象
死活監視(共通)
・ICMP Ping
・Zabbix Agent Ping

ポート監視(共通)
・TCPポート監視
・UDPポート監視

リソース監視(Linux)
・CPU使用率監視
・メモリ使用率監視
・DISK使用率監視

リソース監視(Windows)
・CPU使用率監視
・メモリ使用率監視
・DISK使用率監視

プロセス監視(Linux)
サービス監視(Windows)
ログ監視(Linux)
イベントログ監視(Windows)


# ■出展
https://www.zabbix.com/documentation/6.0/jp/manual/config/items

https://www.zabbix.com/documentation/6.0/jp/manual/config/triggers

https://www.zabbix.com/documentation/6.0/jp/manual/appendix/functions

# ■サンプル

```text:item
サンプルアイテム
関数
タイプ
データ型

引数
```

```text:trigger
サンプルトリガー
```


# ■死活監視(共通)
### ICMP Ping
```text:item
icmpping[]
icmpping[<target>,<packets>,<interval>,<size>,<timeout>]
シンプルチェック
整数

target - ホストIPまたは DNS 名（省略可） 
packets - パケット数（デフォルト:3）
interval - 連続パケット送出ミリ秒間隔（デフォルト:1000msec）
size - パケットバイトサイズ（デフォルト:56or68）
timeout - ミリ秒タイムアウト（デフォルト:500）
```

```text:trigger
count(/host/icmpping[],#6,"eq",0)>=6
```

:::note info
Itemを10sで取得させ、かつtriggerを#6とすることで疑似的に1分継続のリンクダウンを検出
:::

### Zabbix Agent Ping
```text:item
agent.ping
agent.ping
Zabbixエージェント
整数

引数無し
```

```text:trigger
nodata(/host/agent.ping,1m)=1
```



# ■ポート監視(共通)
### TCPポート監視
```text:item
net.tcp.port[,22]
net.tcp.port[,3389]
net.tcp.port[<ip>,port]
整数 
Zabbixエージェント

ip:接続先IPアドレス（省略時は127.0.0.1）
port:TCPポート番号
```

```text:trigger
last(/host/net.tcp.port[,22])=0
or
nodata(/host/net.tcp.port[,22],3m)=1
```



### UDPポート監視
```text:item
net.udp.listen[323]
net.udp.listen[port]
整数 
Zabbixエージェント

port:TCPポート番号
```

```text:trigger
last(/host/net.udp.listen[323])=0
or
nodata(/host/net.udp.listen[323],3m)=1
```
※Windowsはサポート外(Unsupported item key./Unknown metric net.udp.listen)
※udp323はchronyd



# ■リソース監視(Linux)
### CPU使用率監視
```text:item
system.cpu.util[,user]
system.cpu.util[,system]
system.cpu.util[<cpu>,<type>,<mode>,<logical_or_physical>]
浮動小数
Zabbixエージェント

type:対象を選択、user(デフォルト)、idle、nice、system (Windows のデフォルト)、iowait、interrupt、softirq等
mode:取得間隔、avg1(デフォルト)、avg5、avg15
```

```text:trigger
last(/host/system.cpu.util[,system])>=50
```
>idle    アイドル状態
user    user領域の使用率
system  kernel領域の使用率
iowait  iowaitの使用率

https://www.zabbix.com/documentation/6.0/jp/manual/appendix/items/supported_by_platform

### メモリ使用率監視
```text:item
vm.memory.size[pused]
vm.memory.size[<mode>]
整数（バイト）、浮動小数（パーセンテージ）
Zabbixエージェント

mode:total (デフォルト), buffers, cached, free, used, pused (パーセンテージの時), available, pavailable (パーセンテージの時利用可能)
```

```text:trigger
last(/host/vm.memory.size[pused])>=50
```

https://www.zabbix.com/documentation/6.0/jp/manual/appendix/items/vm.memory.size_params


### DISK使用率監視
```text:item
vfs.fs.size[/,pused]
vfs.fs.size[fs,<mode>]
整数（バイト）、浮動小数（パーセンテージ）
Zabbixエージェント

fs:ファイルシステム
mode:total (デフォルト)、free、used、pfree(free,パーセンテージ)、pused (used,パーセンテージ)
```

```text:trigger
last(/host/vfs.fs.size[/,pused])>=50
```


# ■リソース監視(Windows)
### CPU使用率監視
```text:item
system.cpu.util[]
system.cpu.util[<cpu>,<type>,<mode>,<logical_or_physical>]
浮動小数
Zabbixエージェント

type:対象を選択　※Windowsはsystem (Windows のデフォルト)のみ使用可能
mode:取得間隔、avg1(デフォルト)、avg5、avg15
```

```text:trigger
last(/host/system.cpu.util[])>50
```

https://www.zabbix.com/documentation/6.0/jp/manual/appendix/items/supported_by_platform


### メモリ使用率監視
```text:item
vm.memory.size[pused]
vm.memory.size[<mode>]
整数（バイト）、浮動小数（パーセンテージ）
Zabbixエージェント

mode:total (デフォルト), cached, free, used, pused (パーセンテージの時), available, pavailable (パーセンテージの時利用可能)
```

```text:trigger
last(/host/vm.memory.size[pused])>=50
```

https://www.zabbix.com/documentation/6.0/jp/manual/appendix/items/vm.memory.size_params

### DISK使用率監視
```text:item
vfs.fs.size[C:,pused]
vfs.fs.size[fs,<mode>]
整数（バイト）、浮動小数（パーセンテージ）
Zabbixエージェント

fs:ファイルシステム
mode:total (デフォルト)、free、used、pfree(free,パーセンテージ)、pused (used,パーセンテージ)
```

```text:trigger
last(/host/vfs.fs.size[C:,pused])>50
```


# ■プロセス監視(Linux)
```text:item
proc.num[chronyd,]
proc.num[,,,/usr/sbin/rsyslogd]
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]
整数
Zabbixエージェント

name:プロセス名　※ps -a形式
cmdline:コマンドライン名　※ps -e形式
```

```text:trigger
last(/host/proc.num[chronyd,])=0
or
nodata(/host/proc.num[chronyd,],3m)=1

	
last(/host/proc.num[,,,/usr/sbin/rsyslogd])=0
or
nodata(/host/proc.num[,,,/usr/sbin/rsyslogd],3m)=1
```


# ■サービス監視(Windows)
```text:item
service.info[Dnscache,state]
service.info[W32Time,state]
service.info[service,<param>]
整数（ステータス）、文字列（表示名）、テキスト（説明）
Zabbixエージェントアクティブ

service:サービス名
param:state (default), displayname, path, user, startup or description
```

```text:trigger
last(/host/service.info[Dnscache,state])<>0
or
nodata(/host/service.info[Dnscache,state],3m)=1

last(/host/service.info[W32Time,state])<>0
or
nodata(/host/service.info[W32Time,state],3m)=1
```

>【アイテムの出力値】
Specifically for state:
0 - running,
1 - paused,
2 - start pending,
3 - pause pending,
4 - continue pending,
5 - stop pending,
6 - stopped,
7 - unknown,
255 - no such service


# ■ログ監視(Linux)
```text:item
logrt[/var/log/^messages$,test,,,skip,,,]
logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>]
ログ
Zabbixエージェントアクティブ

file_regexp:ファイルフルパス、ファイル名は正規表現　※ディレクトリは正規表現不可
regexp:ファイルから抽出する正規表現文字列（省略可）
mode:設定時におけるファイル読み込み、allで頭から、skipで設定時点以降から（省略時はall）
```

```text:trigger
find(/host/logrt[/var/log/^messages$,test,,,skip,,,],,,".*")=0
```


# ■イベントログ監視(Windows)
```text:item
eventlog[Application,,"Warning",,,,skip]
eventlog[Application,,"Error",,,,skip]
eventlog[System,,"Warning",,,,skip] 
eventlog[System,,"Error",,,,skip]
eventlog[name,<regexp>,<severity>,<source>,<eventid>,<maxlines>,<mode>]
ログ
Zabbixエージェントアクティブ

name:イベントログ名、System、Application等 
regexp:正規表現文字列 
severity:レベル、"Information", "Warning", "Error", "Critical", "Verbose"
source:イベントソース
mode:設定時におけるファイル読み込み、allで頭から、skipで設定時点以降から（省略時はall）
```

```text:trigger
find(/host/eventlog[Application,,"Error",,,,skip],,,".*")=0

find(/host/eventlog[System,,"Error",,,,skip],,,".*")=0
```

>Windowsイベントログ出力コマンド
`eventcreate /T INFORMATION /L application /ID 999 /D "test_message"`
`eventcreate /T WARNING /L application /ID 999 /D "test_message"`
`eventcreate /T ERROR /L application /ID 999 /D "test_message"`
`eventcreate /T ERROR /L system /ID 999 /D "test_message"`