Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

14 プラグイン

概要

プラグインは、Zabbix の監視機能を拡張するオプションを提供します。 プラグインは Go プログラミング言語で記述されており、Zabbix エージェント 2 のみでサポートされています。

Plugins provide an alternative to loadable modules (written in C), and other methods for extending Zabbix functionality, such as user parameters (agent metrics), external checks (agent-less monitoring), and system.run[] Zabbix agent item. プラグインはロード可能モジュール (C言語で記述)に代わるもので、Zabbixの機能を拡張するその他の方法として、ユーザーパラメータ(agent メトリクス)、外部チェック(エージェントレスモニタリング)や system. run[] Zabbix エージェントアイテム があります。

以下の機能は、Zabbix agent 2とそのプラグインに固有のものです:

  • パッシブ チェックとアクティブ チェックの両方について柔軟なスケジュール間隔のサポート
  • スケジュールとタスクの同時実行に関するタスク キュー管理
  • プラグイン レベルのタイムアウト
  • 起動時の Zabbix エージェント 2 とそのプラグインの互換性チェック。

Zabbix 6.0.0以降、プラグインをエージェント2に直接統合する必要はなく、ロード可能なプラグインとして追加できるため、新しい監視メトリックを収集するための追加プラグインの作成プロセスが簡単になります.

このページでは、Zabbix のネイティブでロード可能なプラグインを一覧表示し、ユーザーの観点からプラグイン構成の原則について説明します。 独自のプラグインを作成する手順については、プラグイン開発ガイドラインを参照してください。

プラグインの設定

このセクションでは、一般的なプラグイン設定の原則とベストプラクティスについて説明します。

すべてのプラグインは Plugins.* パラメータを使用して設定します。このパラメータは、Zabbix agent 2の[configuration file](/manual/appendix/config/zabbix_agent2)の一部、
またはプラグイン自身の[configuration file](/manual/appendix/config/zabbix_agent2_plugins)のいずれかに設定することが
できます。プラグインが別の設定ファイルを使用する場合、Zabbix agent 2設定ファイルのIncludeパラメータにこのファイルへの
パスを指定する必要があります。

各プラグインのパラメータは、以下のような構造になっている必要があります:

Plugins.<PluginName>.<Parameter>=<Value>

パラメータ名は、以下の要件を満たす必要があります:

  • プラグイン名は大文字にすることを推奨します。
  • パラメータは大文字にする必要があります。
  • 特殊文字は使用できません。
  • ネストは最大レベルによって制限されません。
  • パラメータの数は制限されません。
名前付きセッション

名前付きセッションは、プラグインパラメータの追加レベルを表し、監視対象の各インスタンスに対して個別の認証パラメータ
セットを定義するために使用することができます。各名前付きセッションのパラメータは、以下のような構造になっている
必要があります:

Plugins.<PluginName>.<SessionName>.<Parameter>=<Value>

URI、ユーザー名、パスワードを別々に指定する代わりに、セッション名を connString の item キーパラメーターとして
使用することができます。item キーでは、最初のパラメータは connString または Uri のいずれかにすることができます。
最初のキーパラメータが設定ファイルで指定されたセッション名と一致する場合、名前付きセッションパラメータを使用して
チェックが実行されます。最初のキーパラメータがどのセッション名にも一致しない場合、それはUri として扱われます。

ただし、:

  • キーパラメーターに connString (セッション名) を指定する場合、ユーザー名とパスワードのキーパラメーターは空である 必要があります。
  • 埋め込み URI の認証情報を渡すことはサポートされていませんので、代わりに名前付きセッションの使用を検討してください。
  • 名前付きセッションで認証パラメータが指定されない場合、ハードコードされたデフォルト値が使用されます。

使用可能な名前付きセッションパラメータのリストはプラグインによって異なります。詳細は
各プラグインの configuration files を参照してください。

例: 2つのインスタンス "MySQL1" と "MySQL2" の監視は、以下のように設定することができます。:

Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
       Plugins.Mysql.Sessions.MySQL1.User=<UsernameForMySQL1>
       Plugins.Mysql.Sessions.MySQL1.Password=<PasswordForMySQL1>    
       Plugins.Mysql.Sessions.MySQL2.Uri=tcp://127.0.0.1:3307   
       Plugins.Mysql.Sessions.MySQL2.User=<UsernameForMySQL2>
       Plugins.Mysql.Sessions.MySQL2.Password=<PasswordForMySQL2>

これらの名前は、URIの代わりにキーの connString として使用することができます:

mysql.ping[MySQL1]
       mysql.ping[MySQL2]
ハードコードされたデフォルト値

認証に必要なパラメータが item キーや名前付きセッションパラメータで提供されない場合、プラグインはハードコードされた
デフォルト値を使用します。

コネクション

プラグインによっては、複数のインスタンスから同時にメトリクスを収集することをサポートしています。
ローカルとリモートの両方のインスタンスを監視することができます。TCP および Unix ソケット接続がサポートされています。

インスタンスへの接続をオープン状態に保つようにプラグインを設定することをお勧めします。その利点は、ネットワークの輻輳、
レイテンシー、およびCPUとメモリの使用量を削減できることです。クライアントライブラリは、この処理を行います。

未使用の接続をオープンにしておく時間は、Plugins.<PluginName>.KeepAliveパラメータで決定されます。 例: Plugins.Memcached.KeepAlive

すぐに使えるプラグイン

Zabbix エージェント 2 でサポートされているすべてのメトリックは、プラグインによって収集されます。

MongoDB などのロード可能なすべてのプラグインを以下で起動した場合: - -V version - プラグインのバージョンとライセンス情報を出力します - -h help - ヘルプ情報を出力します

次のZabbix エージェント 2 用プラグインは、すぐに使用できます。

プラグイン名 説明 対応アイテムキー コメント
Agent 使用されている Zabbix エージェントのメトリック agent.hostname, agent.ping, agent.version サポートされているキーには、Zabbix エージェントキーと同じパラメータがあります
Ceph Ceph モニタリング ceph.df.details, ceph.osd.stats, ceph.osd.discovery, ceph.osd.dump,
ceph.ping, ceph.pool.discovery, ceph.status
サポートされているキー は、Zabbix エージェント 2 でのみ使用できます。

以下も参照してください:
- プラグイン ドキュメント
- 設定パラメータ
CPU システム CPU モニタリング (CPU/CPU コアの数、検出された CPU、使用率) system.cpu.discovery, system.cpu.num, system.cpu.util サポートされているキーには、Zabbix エージェントキーと同じパラメータがあります
Docker Docker コンテナの監視 docker.container_info, docker.container_stats, docker.containers, docker.containers.discovery,
docker.data_usage, docker.images, docker.images.discovery, docker.info, docker.ping
サポートされているキーは、Zabbixエージェント2でのみ使用できます。

参照:
構成パラメータ /zabbix_agent2_plugins/d_plugin)
File ファイル メトリック コレクション vfs.file.cksum, vfs.file.contents, vfs.file.exists, vfs.file.md5sum,
vfs.file.regexp, vfs.file.regmatch, vfs.file.size, vfs.file.time
サポートされているキーには、Zabbix エージェント キー と同じパラメーターがあります
Kernel カーネル監視 kernel.maxfiles, kernel.maxproc サポートされているキーには、Zabbix エージェント キー と同じパラメーターがあります
Log ログ ファイルの監視 log, log.count, logrt, logrt.count サポートされているキーには、Zabbix エージェント keys と同じパラメーターがあります。

以下も参照してください:
プラグイン構成パラメーター (Unix config/zabbix_agent2)/Windows)
Memcached Memcached サーバーの監視 memcached.ping, memchached.stats サポートされている キー は、Zabbix エージェント 2 でのみ使用できます。

以下も参照してください:
- プラグイン ドキュメント
- 設定パラメータ
Modbus Modbus データ読取 modbus.get サポートされているキーには、Zabbix エージェント キー と同じパラメーターがあります。

以下も参照してください:
- プラグイン ドキュメント
- 設定パラメータ
MongoDB MongoDB サーバーとクラスター (ドキュメント ベースの分散データベース) の監視 mongodb.collection.stats, mongodb.collections.discovery, mongodb.collections.usage, mongodb.connpool.stats,
mongodb.db.stats, mongodb.db.discovery, mongodb.jumbo_chunks.count, mongodb.oplog.stats,
mongodb.ping, mongodb.rs.config, mongodb.rs.status, mongodb.server.status,
mongodb.sh.discovery
サポートされている MongoDB バージョン: 2.6-5.3

サポートされている キー は、Zabbix エージェント 2 でのみ使用できます。

Plugins.MongoDB .System.Path 変数は、MongoDB プラグイン実行可能ファイルへのパスを使用して、Zabbix エージェント 2 構成ファイルに設定する必要があります。

参照:
- プラグイン ドキュメント
- [設定パラメータ] (/manual/appendix/config/zabbix_agent2_plugins/mongodb_plugin)
MQTT MQTTトピックの公開された値を受け取ります mqtt.get サポートされている キー は、Zabbix エージェント 2 でのみ使用できます。

以下も参照してください:
- プラグイン ドキュメント
- 設定パラメータ
MySQL MySQL とそのフォークの監視 mysql.db.discovery, mysql.db.size, mysql.get_status_variables,
mysql.ping, mysql.replication.discovery, mysql.replication.get_slave_status, mysql.version
データベースへの暗号化された接続を構成するには、名前付きセッション を使用し、エージェント構成ファイルで名前付きセッションの TLS パラメーターを指定します。 現在、TLS パラメータをアイテム キー パラメータとして渡すことはできません。

サポートされている キー は、Zabbix エージェント 2 でのみ使用できます。
<br >参照:
- プラグインのドキュメント
- 設定パラメータ
NetIf ネットワーク インターフェイスの監視 net.if.collisions, net.if.discovery, net.if.in, net.if.out, net.if.total サポートされているキーには、Zabbix エージェント キー と同じパラメーターがあります
Oracle Oracle データベースの監視 oracle.diskgroups.stats, oracle.diskgroups.discovery, oracle.archive.info, oracle.archive.discovery,
oracle.cdb.info, oracle.custom.query, oracle.datafiles.stats, oracle.db.discovery,
oracle.fra.stats, oracle.instance.info, oracle.pdb.info, oracle.pdb.discovery,
oracle.pga.stats, oracle.ping, oracle.proc.stats, oracle.redolog.info,
oracle.sga.stats, oracle.sessions.stats, oracle.sys.metrics, oracle.sys.params,
oracle.ts.stats, oracle.ts.discovery, oracle.user.info
プラグインを使用する前に、Oracle Instant Client をインストールしてください。

サポートされている キー /items/itemtypes/zabbix_agent/zabbix_agent2) は Zabbix エージェント 2 でのみ使用できます。

参照:
- プラグイン ドキュメント
- 設定パラメータ
PostgreSQL PostgreSQL とそのフォークの監視 pgsql.autovacuum.count, pgsql.archive, pgsql.bgwriter, pgsql.cache.hit, pgsql.connections,
pgsql.custom.query, pgsql.dbstat, pgsql.dbstat.sum, pgsql.db.age, pgsql.db.bloating_tables,
pgsql.db.discovery, pgsql.db.size, pgsql.locks, pgsql.oldest.xid, pgsql.ping, pgsql.queries,
pgsql.replication.count, pgsql.replication.process, pgsql.replication.process.discovery, pgsql.replication.recovery_role, pgsql.replication.status,
pgsql.replication_lag.b, pgsql.replication_lag.sec, pgsql.uptime, pgsql.wal.stat
データベースへの暗号化された接続を構成するには、名前付きセッション を使用し、エージェント構成ファイルで名前付きセッションの TLS パラメーターを指定します。 現在、TLS パラメータをアイテム キー パラメータとして渡すことはできません。

サポートされている キー は、Zabbix エージェント 2 でのみ使用できます。

ユーザー定義のクエリを使用してプラグインの機能を拡張することが可能です - 詳細についてはプラグインのドキュメントを参照してください。

参照: 設定パラメータ
Proc プロセスの CPU 使用率 proc.cpu.util サポートされているキーは、Zabbix エージェント キー と同じパラメーターを持ちます
Redis Redis サーバー監視 redis.config, redis.info, redis.ping, redis.slowlog.count サポートされている キー は、Zabbix エージェント 2 でのみ使用できます。

以下も参照してください:
- プラグイン ドキュメント
- 設定パラメータ
Smart S.M.A.R.T. 監視 smart.attribute.discovery, smart.disk.discovery, smart.disk.get Zabbix エージェント 2 を実行するユーザーには、smartctl への sudo/root アクセス権が必要です。必 要な smartctl の最小バージョンは 7.1 です。

サポートされている キー は、Linux/Windows の Zabbix エージェント 2 でのみ、パッシブ チェックとアクティブ チェックの両方として使用できます。
参照:
設定パラメータ
Swap スワップ領域のサイズ (バイト/パーセント) system.swap.size サポートされているキーは、Zabbix エージェント キー と同じパラメーターを持ちます。
SystemRun 指定されたコマンドを実行します system.run サポートされているキーには、Zabbix エージェント キー と同じパラメータがあります。

参照:
プラグイン構成パラメータ (Unix/Windows)
Systemd systemd サービスの監視 systemd.unit.discovery, systemd.unit.get, systemd.unit.info サポートされているキーは、Zabbixエージェント2でのみ使用できます。
TCP TCP 接続の可用性チェック net.tcp.port サポートされているキーは、Zabbix エージェント キー と同じパラメーターを持ちます。
UDP UDP サービスの可用性とパフォーマンスの監視 net.udp.service, net.udp.service.perf サポートされているキーは、Zabbix エージェント キー と同じパラメーターを持ちます。
Uname システムに関する情報の取得 system.hostname, system.sw.arch, system.uname サポートされているキーは、Zabbix エージェント キー と同じパラメーターを持ちます。
Uptime システム アップタイム メトリック コレクション system.uptime サポートされているキーは、Zabbix エージェント キー と同じパラメーターを持ちます。
VFSDev VFS メトリック コレクション vfs.dev.discovery, vfs.dev.read, vfs.dev.write サポートされているキーには、Zabbix エージェント キー と同じパラメーターがあります。
WebCertificate TLS/SSL Web サイト証明書監視 web.certificate.get サポートされているキーは、Zabbixエージェント2のみで使用できます。
WebPage Web ページ監視 web.page.get, web.page.perf, web.page.regexp サポートされているキーは、Zabbix エージェント キー と同じパラメーターを持ちます。
ZabbixAsync 非同期メトリック コレクション net.tcp.listen, net.udp.listen, sensor, system.boottime, system.cpu.intr, system.cpu.load,
system.cpu.switches, system.hw.cpu, system.hw.macaddr, system.localtime, system.sw.os,
system.swap.in, system.swap.out, vfs.fs.discovery
サポートされているキーは、Zabbix エージェント キー と同じパラメーターを持ちます。
ZabbixStats Zabbix サーバー/プロキシの内部メトリックまたはキュー内の遅延アイテムの数 zabbix.stats サポートされているキーは、Zabbix エージェント キー と同じパラメーターを持ちます。
ZabbixSync 同期メトリック コレクション net.dns, net.dns.record, net.tcp.service, net.tcp.service.perf, proc.mem,
proc.num, system.hw.chassis, system.hw.devices, system.sw.packages,
system.users.num, vfs.dir.count, vfs.dir.size, vfs.fs.get, vfs.fs.inode,
vfs.fs.size, vm.memory.size.
サポートされているキーは、Zabbix エージェント キー と同じパラメーターを持ちます。