1 アイテムの作成

概要

Zabbixフロントエンドでアイテムを作成するには、以下の手順を実行します。

  • データ収集 > ホスト に移動します
  • ホストの行でアイテムをクリックします
  • 画面右上のアイテムの作成をクリックします
  • フォームにアイテムのパラメータを入力します

既存のアイテムを開き、クローンボタンを押して別名で保存することで、アイテムを作成することもできます。

設定

アイテムタブには、アイテムの一般属性が含まれます。

必須入力フィールドには、赤いアスタリスクが付いています。

パラメータ 説明
Name アイテム名。
ユーザーマクロを使用できます。
Type アイテムタイプ。各item typeセクションを参照してください。
Key アイテムキー(最大2048文字)。
サポートされているitem keysは、各アイテムタイプのセクションで確認できます。
キーは1つのホスト内で一意である必要があります。
キータイプが「Zabbix agent」、「Zabbix agent (active)」、または「Simple check」の場合、キー値はZabbix agentまたはZabbix serverでサポートされている必要があります。
あわせて、正しいkey formatも参照してください。
Type of information アイテム値の検証およびデータベースへの保存に使用されるデータ型です。いずれも変換後の値に対して適用されます。
Numeric (unsigned) - 64ビット符号なし整数
Numeric (float) - 64ビット浮動小数点数
Character - 短いテキスト
Log - ログ属性(タイムスタンプ、ソース、重要度、ログイベントID)の有無を問わない長いテキスト
Text - 長いテキスト
Binary - バイナリ値(依存アイテムでのみサポート)
JSON - 構造化JSONデータ。データベースにネイティブ形式で保存されます(計算アイテムではサポートされません)。
バイナリまたはJSONデータ型の値を返すアイテムは、計算アイテムの数式やトリガー式ではサポートされません。
データ型ごとの保存制限およびデータベースバックエンドごとの制限については、item data limitsを参照してください。
単一の特定形式でデータを返すアイテムでは、一致するデータ型が自動的に選択されます。たとえば、system.cpu.loadsystem.cpu.utilはいずれも64ビット浮動小数点数を返すため、Numeric (float) が自動的に選択されます。
Host interface ホストインターフェースを選択します。このフィールドは、ホストレベルでアイテムを編集する場合に使用できます。
Units 単位記号を設定すると、Zabbixは受信したアイテム値に後処理を適用し、指定した単位の接尾辞付きで表示します。
特別な書式設定がサポートされる単位記号(および受信したアイテム値 → 表示値の例)は次のとおりです。
B - バイト(1024 → 1 KB)
Bps - 1秒あたりのバイト数(1024 → 1 KBps)
s - 秒。ゼロでない最大3つの時間単位を使用して表示されます(881764 → 10d 4h 56m)
uptime - 経過時間。hh:mm:ss または N days, hh:mm:ss 形式で表示されます(881764 → 10 days, 04:56:04)
unixtime - Unixタイムスタンプ。yyyy.mm.dd hh:mm:ss 形式で表示されます(881764 → 1970-01-11 04:56:04 AM)。正しく書式設定するには、受信したアイテム値が Numeric (unsigned) である必要があります。
その他の単位(Hz、Wなど)では、受信値が1000を超える場合、1000で除算され、対応する接頭辞付きで表示されます(5000 → 5 KHz、881764 → 881.76 KW)。
単位記号の先頭に ! を付けると、単位変換と接頭辞の付与は無効になります(1024 !B → 1024 B、61 !s → 61 s)。
単位記号と単位変換の詳細およびその他の例については、Item value suffixesを参照してください。
Update interval このアイテムの新しい値をN秒ごとに取得します。設定可能な最大更新間隔は86400秒(1日)です。
Time suffixesを使用できます。例: 30s、1m、2h、1d。
ユーザーマクロを使用できます。
1つのマクロでフィールド全体を埋める必要があります。1つのフィールド内で複数のマクロを使用したり、マクロとテキストを混在させたりすることはできません。
: カスタム間隔に0以外の値が存在する場合にのみ、更新間隔を「0」に設定できます。「0」に設定され、かつ0以外の値を持つカスタム間隔(柔軟またはスケジュール)が存在する場合、アイテムはそのカスタム間隔の期間中にポーリングされます。
: アイテムが有効になった後、または更新間隔を変更した後の最初のアイテムポーリングは、設定値より早く発生する場合があります。
新しいアイテムは、SchedulingまたはFlexible update intervalがあり、かつ Update interval が0に設定されている場合を除き、作成後60秒以内にチェックされます。
既存のパッシブアイテムは、Execute now button を押すことで、直ちに値のポーリングを実行できます。
Custom intervals アイテムのチェックに対してカスタムルールを作成できます。
Flexible - Update interval に対する例外(異なる頻度の間隔)を作成します。
Scheduling - カスタムポーリングスケジュールを作成します。
詳細はCustom intervalsを参照してください。
Interval フィールドではTime suffixesを使用できます。例: 30s、1m、2h、1d。
ユーザーマクロを使用できます。
1つのマクロでフィールド全体を埋める必要があります。1つのフィールド内で複数のマクロを使用したり、マクロとテキストを混在させたりすることはできません。
Timeout アイテムチェックのタイムアウトを設定します(supportedアイテムタイプで使用可能)。タイムアウトオプションを選択します。
Global - プロキシ/グローバルタイムアウトが使用されます(グレー表示の Timeout フィールドに表示されます)。
Override - カスタムタイムアウトが使用されます(Timeout フィールドで設定。許容範囲: 1 - 600s)。Time suffixes(例: 30s、1m)およびユーザーマクロを使用できます。
Timeouts リンクをクリックすると、プロキシのタイムアウト、または(プロキシを使用しない場合は)globalタイムアウトを設定できます。Timeouts リンクは、Administration > General または Administration > Proxies のWebインターフェースセクションに対する権限を持つ Super admin タイプのユーザーにのみ表示される点に注意してください。
History 次のいずれかを選択します。
Do not store - アイテムの履歴は保存されません。依存アイテムのみで履歴を保持する必要がある場合、マスターアイテムに有用です。
この設定は、グローバルhousekeeper settingsによって上書きされません。
Store up to - データベースに詳細な履歴を保持する期間を指定します(1時間~25年)。古いデータはhousekeeperによって削除されます。秒単位で保存されます。
Time suffixesを使用できます。例: 2h、1d。ユーザーマクロを使用できます。
Store up to の値は、Administration > Housekeeping でグローバルに上書きできます。
グローバル上書き設定が存在する場合、オレンジ色の 情報アイコンが表示されます。その上にマウスカーソルを置くと、たとえば Overridden by global housekeeper settings (1d) のような警告メッセージが表示されます。
データベース内の値履歴のサイズを減らすため、記録された値は可能な限り短い期間だけ保持することを推奨します。長期間の値履歴を保存する代わりに、より長期間のトレンドデータを保存できます。
あわせてHistory and trendsも参照してください。
Trends 次のいずれかを選択します。
Do not store - トレンドは保存されません。
この設定は、グローバルhousekeeper settingsによって上書きされません。
Store up to - 集計済み履歴(1時間ごとの最小値、最大値、平均値、件数)をデータベースに保持する期間を指定します(1日~25年)。古いデータはhousekeeperによって削除されます。秒単位で保存されます。
Time suffixesを使用できます。例: 24h、1d。ユーザーマクロを使用できます。
Store up to の値は、Administration > Housekeeping でグローバルに上書きできます。
グローバル上書き設定が存在する場合、オレンジ色の 情報アイコンが表示されます。その上にマウスカーソルを置くと、たとえば Overridden by global housekeeper settings (7d) のような警告メッセージが表示されます。
注: トレンドの保持は、数値以外のデータ(character、log、text)では使用できません。
あわせてHistory and trendsも参照してください。
Value mapping このアイテムに値のマッピングを適用します。Value mappingは受信した値自体を変更せず、表示のためだけに使用されます。
Numeric(unsigned)Numeric(float)Character アイテムで機能します。
たとえば、「Windows service states」です。
Log time format Log タイプのアイテムでのみ使用できます。サポートされるプレースホルダー:
y: 年 (1970-2038)
M: 月 (01-12)
d: 日 (01-31)
h: 時 (00-23)
m: 分 (00-59)
s: 秒 (00-59)
空白のままにすると、タイムスタンプはUnix timeで0に設定され、1970年1月1日を表します。
たとえば、Zabbix agentのログファイルに次の行があるとします。
" 23480:20100328:154718.045 Zabbix agent started. Zabbix 1.8.2 (revision 11211)."
この行は、PID用の6文字分の位置で始まり、その後に日付、時刻、メッセージの残りが続きます。
この行のログ時刻形式は "pppppp:yyyyMMdd:hhmmss" になります。
"p" と ":" の文字はプレースホルダーであり、"yMdhms" 以外であれば任意の文字を使用できる点に注意してください。
Populates host inventory field アイテムの値を格納するホストインベントリフィールドを選択できます。これは、ホストで自動inventory登録が有効になっており、かつ Numeric(unsigned)Numeric(float)CharacterText アイテムで機能します。
Description アイテムの説明を入力します。ユーザーマクロを使用できます。
Enabled チェックボックスをオンにするとアイテムが有効になり、処理されます。
アイテムを無効にすると、履歴キャッシュから即座に削除されます(ログ用に保持される最後の値を除く)。
Latest data リンクをクリックすると、そのアイテムの最新データを表示できます。
このリンクは、既存のアイテムを編集している場合にのみ使用できます。

アイテムタイプ固有のフィールドについては、対応するページで説明されています。

ホストレベルで既存のテンプレートレベルのアイテムを編集する場合、いくつかのフィールドは読み取り専用になります。 フォームヘッダー内のリンクを使用してテンプレートレベルに移動し、そこで編集できます。ただし、テンプレートレベルでの変更は、そのテンプレートがリンクされているすべてのホストのアイテムに反映される点に注意してください。

Tags タブでは、アイテムレベルのタグを定義できます。

アイテム値の事前処理

事前処理タブでは、受信した値に対する変換ルールを定義できます。

アイテムのテスト

アイテムのテストを行うには、サーバーとプロキシのシステム時刻が同期されていることを確認してください。 サーバーの時刻が遅れている場合、アイテムのテストで「The task has been expired.」というエラーメッセージが返されることがあります。 ただし、サーバーとプロキシで異なるタイムゾーンを設定しても、テスト結果には影響しません。

アイテムをテストし、正しく設定されていれば実際の値を取得することができます。 アイテムを保存する前でもテストを行うことができます。

ホストおよびテンプレートのアイテム、アイテムプロトタイプ、低レベルディスカバリールールでテストが可能です。 アクティブアイテムではテストはできません。

アイテムのテストは、以下のパッシブアイテムタイプで利用できます:

  • Zabbixエージェント
  • SNMPエージェント (v1, v2, v3)
  • IPMIエージェント
  • SSHチェック
  • Telnetチェック
  • JMXエージェント
  • シンプルチェック(icmpping*vmware.*アイテムを除く)
  • Zabbix内部
  • 計算アイテム
  • 外部チェック
  • データベースモニター
  • HTTPエージェント
  • スクリプト
  • ブラウザ

アイテムをテストするには、アイテム設定フォームの下部にあるテストボタンをクリックします。 テストできないアイテム(アクティブチェックや除外されたシンプルチェックなど)では、テストボタンは無効になります。

アイテムのテストフォームには、必要なホストパラメータ(ホストアドレス、ポート、サーバー/プロキシでのテスト(プロキシ名))や、アイテム固有の詳細(SNMPv2コミュニティやSNMPv3セキュリティ認証情報など)のフィールドがあります。 これらのフィールドはコンテキストに応じて変化します:

  • エージェントを必要とするアイテムの場合、ホストの選択されたエージェントインターフェースから情報を取得して値が自動入力されます。
  • テンプレートアイテムの場合は、値を手動で入力する必要があります。
  • プレーンテキストのマクロ値は解決されます。
  • 値(または値の一部)がシークレットまたはVaultマクロであるフィールドは空白となり、手動で入力する必要があります。 アイテムパラメータにシークレットマクロ値が含まれている場合、次の警告メッセージが表示されます:「アイテムにシークレット値を持つユーザー定義マクロが含まれています。これらのマクロの値は手動で入力する必要があります。」
  • アイテムタイプのコンテキストで不要な場合はフィールドが無効になります(例: 計算アイテムではホストアドレスフィールドやプロキシフィールドが無効)

アイテムをテストするには、値の取得をクリックします。 値が正常に取得されると、フィールドに入力され、現在の値(存在する場合)は前回の値フィールドに移動し、前回との差フィールド(2つの値(クリック)の時間差)も計算されます。また、取得した値に"\n\r"が含まれている場合はEOLシーケンスを検出してCRLFに切り替えます。

値の取得とテストをクリックすると、前処理のテストが行われます。

ホストから取得した値およびテスト結果は、Webインターフェースに送信される際に最大512KBまでに切り詰められます。 テスト結果が切り詰められた場合は警告アイコンが表示され、詳細はアイコンにマウスオーバーしてください。 値が切り詰められると、連続したテストで大きな値(例: JSON)を比較する際にデータ型の検証に失敗する場合があります。その場合はエラーメッセージが表示されます。 512KBを超えるデータもZabbixサーバーでは完全に処理されることに注意してください。

設定が正しくない場合は、考えられる原因を説明するエラーメッセージが表示されます。

ホストから正常に取得した値は、前処理ステップのテストにも利用できます。

フォームのボタン

フォームの下部にあるボタンで、いくつかの操作を行うことができます。

アイテムの追加。このボタンは新規のアイテムの時のみ使用できます。
アイテムのプロパティの更新。
現在のアイテムプロパティをベースにして別のアイテムを作成。
アイテムの値を取得。アイテムのタイプがパッシブなものだけ対応しています。(詳細参照)
注意 値の取得時には設定キャッシュは更新されません。つまり直近のアイテムの設定変更が反映されません。
値を取得できるかのテスト実行。
アイテムのヒストリとトレンドを削除。
アイテムの削除。
アイテムのプロパティ変更をキャンセル。

アイテムデータの制限

アイテムデータの制限は、アイテムデータの型とデータベースバックエンドによって異なります。

数値(符号なし)値はそのまま保存されます。 浮動小数点値が受信された場合は、整数部分のみが保存されます(例:1.23 → 1)。

数値(浮動小数点)値はそのまま保存され、約15~17桁の精度をサポートし、範囲は約-1.79E+308~1.79E+308です。 科学的記数法での値もサポートされます(例:1.23E+7、1e308、1.1E-4)。

テキスト値は、データベースの値型の制限に合わせて保存前に切り捨てられます。

データベース 情報の型
キャラクター ログ テキスト
MySQL 255文字 65536バイト 65536バイト
PostgreSQL 255文字 65536文字 65536文字
SQLite(Zabbixプロキシのみ) 255文字 65536文字 65536文字

バイナリ値は16MiB(16777216バイト)に制限されています。 この制限を超える値は破棄され、対応するエラーがWebインターフェースに表示されます。

JSONデータ型の値は128MiB(134217728バイト)に制限されています。 この制限を超える値は破棄され、対応するエラーがWebインターフェースに表示されます。 MySQL/MariaDBの場合、history_jsonテーブル(JSON値の保存に使用)に日次パーティションを設定することを検討してください。このテーブルは急速に大きくなり、ハウスキーパーを長時間ロックする可能性があります。 1MiB以上の大きなJSON値を扱う場合は、大きなJSON値のサポートのためのシステム設定方法をご覧ください。

Zabbixがアイテムデータをデータベースに書き込む際は、INSERTクエリを使用し、それらを(DebugLevel4または5に設定されている場合)ログに記録します。 大きなログエントリは64KBに切り捨てられます。

カスタムスクリプトの制限

使用可能なカスタムスクリプトの長さは、使用するデータベースによって異なります。

データベース 文字数の上限 バイト数の上限
MySQL 65535 65535
PostgreSQL 65535 制限なし
SQLite (Zabbixプロキシのみ) 65535 制限なし

アイテムタイムアウト

アイテムタイムアウトは、Zabbixがチェックを失敗として中止するまでの待機時間を指定します。

タイムアウトに達すると、データ取得が完了していなくてもチェックは中止されます。データが部分的に受信された場合、アイテムはサポート対象外となり、エラーメッセージが記録されます(例えば、SNMPチェックで複数のOIDのうち1つだけが正常に収集された場合など)。

多くのアイテムタイプでは、柔軟なアイテムタイムアウトを設定できます:

  • 単一アイテムごと
  • アイテムタイプごと(プロキシレベル)
  • アイテムタイプごと(グローバルレベル)

単一アイテムごとのカスタムタイムアウトは、特定のアイテムに対してより長いタイムアウトを指定し、他のアイテムのタイムアウトを低く保ちたい場合に便利です。

タイムアウトの優先順位

  1. 単一アイテムのタイムアウトが他のタイムアウトより優先されます。
  2. プロキシレベルのタイムアウトがグローバルタイムアウトより優先されます。

Zabbixサーバーまたはプロキシの設定からのタイムアウトは、柔軟なタイムアウトが設定されているチェックには影響しません

柔軟なタイムアウトのサポート

柔軟なアイテムタイムアウトは、以下のアイテムタイプでサポートされています:

サポートされていないアイテム

サポートされていないアイテムは、サポート外のステータスとして報告され、標準の更新間隔で再チェックされます。

アイテムの値が何らかの理由で取得できない場合(例:接続エラー、アイテムを処理するポーラーが設定されていない場合)、アイテムはサポート外になります。 さらに、履歴データを受信しないアイテムはサポート外のステータスのままです。 これは想定された動作であり、アイテムは新しい有効な履歴データを受信したときにのみ通常のステータスに移行します。

問題と同様に、サポート外のアイテムも新しいデータが受信されたときにのみ再評価されます。たとえそのアイテムに履歴データがもう存在しなくてもです。 言い換えれば、アイテムとトリガーは新しいデータを受信したときにのみ状態が変化します。 ただし、トリガー式に日付と時刻nodata()関数が含まれている場合、トリガーは30秒ごとに再計算されます(詳細はトリガーの計算時間を参照してください)。