韓誥傭痔

尿找抉 扭快把快志抉忱 扼找把忘扶我扯抑 忱抉抗批技快扶找忘扯我我 扼 忘扶忍抖我抄扼抗抉忍抉 攸戒抑抗忘. 妤抉技抉忍我找快 扶忘技 扼忱快抖忘找抆 快忍抉 抖批折扮快.

14 妤抖忘忍我扶抑

妤抖忘忍我扶抑 忱忘攻找 志抉戒技抉忪扶抉扼找抆 把忘扼扮我把我找抆 扳批扶抗扯我抉扶忘抖 韓誥傭痔. 妍扶我 扶忘扭我扼忘扶抑 扶忘 攸戒抑抗快 Go 我 扭抉忱忱快把忪我志忘攻找扼攸 找抉抖抆抗抉 忱抖攸 韓誥傭痔 忘忍快扶找忘 2. 妍扶我 扭把快忱抉扼找忘志抖攸攻找 忘抖抆找快把扶忘找我志批 戒忘忍把批忪忘快技抑快 技抉忱批抖我 (扭我扮批找扼攸 扶忘 C) 我 忱把批忍我技 技快找抉忱忘技 把忘扼扮我把快扶我攸 扳批扶抗扯我抉扶忘抖抆扶抉扼找我 韓誥傭痔, 找忘抗我技 抗忘抗 扭抉抖抆戒抉志忘找快抖抆扼抗我快 扭忘把忘技快找把抑 (技快找把我抗我 忘忍快扶找忘), 志扶快扮我快 扭把抉志快把抗我 (技抉扶我找抉把我扶忍 忌快戒 忘忍快扶找忘) 我 改抖快技快扶找批 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘 system.run []. 妊抖快忱批攻投我快 扳批扶抗扯我我 抉找扶抉扼攸找扼攸 抗 忘忍快扶找批 2 我 快忍抉 扭抖忘忍我扶忘技:

  • 抉忱我扶 扳忘抄抖 抗抉扶扳我忍批把忘扯我我 (志扼快 扭忘把忘技快找把抑 抗抉扶扳我忍批把忘扯我我 扭抖忘忍我扶忘 扶忘抒抉忱攸找扼攸 志 抉忱扶抉技 扳忘抄抖快 扼 扭忘把忘技快找把忘技我 扼忘技抉忍抉 忘忍快扶找忘);
  • 批扭把忘志抖快扶我快 抉折快把快忱抆攻 戒忘忱忘折 c 批折快找抉技 把忘扼扭我扼忘扶我攸 我 志抉戒技抉忪扶抉扼找快抄 扭忘把忘抖抖快抖抆扶抉忍抉 戒忘扭批扼抗忘 戒忘忱忘折;
  • 找忘抄技-忘批找抑 扶忘 批把抉志扶快 扭抖忘忍我扶抉志.

坐抉找抉志抑快 扭抖忘忍我扶抑

圾扼快 技快找把我抗我, 扭抉忱忱快把忪我志忘快技抑快 忱抖攸 韓誥傭痔 忘忍快扶找忘 2, 扼抉忌我把忘攻找扼攸 扼 扭抉技抉投抆攻 扭抖忘忍我扶抉志. 韓誥傭痔 扭把快忱抉扼找忘志抖攸快找 把攸忱 忍抉找抉志抑抒 扭抖忘忍我扶抉志 忱抖攸 韓誥傭痔 忘忍快扶找忘 2:

妖忘戒志忘扶我快 扭抖忘忍我扶忘 妍扭我扼忘扶我快 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 妞抉技技快扶找忘把我我
Agent 妙快找把我抗我 我扼扭抉抖抆戒批快技抉忍抉 忘忍快扶找忘 韓誥傭痔. agent.hostname, agent.ping, agent.version 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
CPU 妙抉扶我找抉把我扶忍 CPU (抗抉抖我折快扼找志抉 扭抉找抉抗抉志 CPU/攸忱快把 CPU, 抉忌扶忘把批忪快扶扶抑快 CPU, 扭把抉扯快扶找 我扼扭抉抖抆戒抉志忘扶我攸). system.cpu.discovery, system.cpu.num, system.cpu.util 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
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
坏抉扼找批扭快扶 找忘抗忪快 扮忘忌抖抉扶 技抉扶我找抉把我扶忍忘 App Docker.

妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 把忘忌抉找忘攻找 找抉抖抆抗抉 扼 韓誥傭痔 忘忍快扶找抉技 2.
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
妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
Kernel 妙抉扶我找抉把我扶忍 攸忱把忘. kernel.maxfiles, kernel.maxproc 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
Log 妙抉扶我找抉把我扶忍 扳忘抄抖抉志 忪批把扶忘抖忘. log, log.count, logrt, logrt.count 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
Memcached 妙抉扶我找抉把我扶忍 Memcached 扼快把志快把忘. memcached.ping, memchached.stats 坏抉扼找批扭快扶 找忘抗忪快 扮忘忌抖抉扶 技抉扶我找抉把我扶忍忘 App Memchached.

妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 把忘忌抉找忘攻找 找抉抖抆抗抉 扼 韓誥傭痔 忘忍快扶找抉技 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
坏抉扼找批扭快扶 找忘抗忪快 扮忘忌抖抉扶 技抉扶我找抉把我扶忍忘 DB MySQL by 韓誥傭痔 agent 2.

妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 把忘忌抉找忘攻找 找抉抖抆抗抉 扼 韓誥傭痔 忘忍快扶找抉技 2.

妖忘扼找把抉抄抗忘 扭抉 批技抉抖折忘扶我攻: URI=tcp://localhost:3306, username=root, ''password= ''.
NetIf 妙抉扶我找抉把我扶忍 扼快找快志抑抒 我扶找快把扳快抄扼抉志. net.if.collisions, net.if.discovery, net.if.in, net.if.out, net.if.total 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
PostgreSQL 妙抉扶我找抉把我扶忍 PostgreSQL 我 快快 抉找志快找志抖快扶我抄. pgsql.ping, pgsql.db.discovery, pgsql.db.size, pgsql.db.age, pgsql.database.bloating_tables,
pgsql.replication_lag.sec, pgsql.replication_lag.b, pgsql.replication.count, pgsql.replication.status, pgsql.replication.recovery_role,
pgsql.cache.hit, pgsql.connections, pgsql.archive, pgsql.bgwriter, pgsql.dbstat.sum, pgsql.dbstat,
pgsql.wal.stat, pgsql.locks, pgsql.pgsql.oldest.xid, pgsql.uptime
坏抉扼找批扭快扶 找忘抗忪快 扮忘忌抖抉扶 技抉扶我找抉把我扶忍忘 DB PostgreSQL by 韓誥傭痔 agent 2.

妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 把忘忌抉找忘攻找 找抉抖抆抗抉 扼 韓誥傭痔 忘忍快扶找抉技 2.
Proc 妤把抉扯快扶找 我扼扭抉抖抆戒抉志忘扶我攸 扭把抉扯快扼扼抉把忘. proc.cpu.util 妤抉忱忱快把忪我志忘快技抑抄 改抖快技快扶找 忱忘扶扶抑抒 我技快快找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
Redis 妙抉扶我找抉把我扶忍 Redis 扼快把志快把忘. redis.config, redis.info, redis.ping, redis.slowlog.count 坏抉扼找批扭快扶 找忘抗忪快 扮忘忌抖抉扶 技抉扶我找抉把我扶忍忘 DB Redis.

妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 把忘忌抉找忘攻找 找抉抖抆抗抉 扼 韓誥傭痔 忘忍快扶找抉技 2.
SystemRun 妝忘扭批扼抗忘快找 批抗忘戒忘扶扶批攻 抗抉技忘扶忱批. system.run 妤抉忱忱快把忪我志忘快技抑抄 改抖快技快扶找 忱忘扶扶抑抒 我技快快找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
Systemd 妙抉扶我找抉把我扶忍 扼我扼找快技扶抑抒 扼快把志我扼抉志 systemd. systemd.unit.discovery, systemd.unit.info 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 把忘忌抉找忘攻找 找抉抖抆抗抉 扼 韓誥傭痔 忘忍快扶找抉技 2.
TCP 妤把抉志快把抗忘 忱抉扼找批扭扶抉扼找我 TCP-扼抉快忱我扶快扶我攸. net.tcp.port 妤抉忱忱快把忪我志忘快技抑抄 改抖快技快扶找 忱忘扶扶抑抒 我技快快找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
UDP 妙抉扶我找抉把我扶忍 忱抉扼找批扭扶抉扼找我 我 扭把抉我戒志抉忱我找快抖抆扶抉扼找我 扼快把志我扼抉志 UDP. net.udp.service, net.udp.service.perf 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
Uname 妊忌抉把 我扶扳抉把技忘扯我我 抉 扼我扼找快技快. system.hostname, system.sw.arch, system.uname 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
Uptime 妊忌抉把 技快找把我抗 志把快技快扶我 把忘忌抉找抑 扼我扼找快技抑. system.uptime 妤抉忱忱快把忪我志忘快技抑抄 改抖快技快扶找 忱忘扶扶抑抒 我技快快找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
VFSDev 妊忌抉把 技快找把我抗 VFS. vfs.dev.discovery, vfs.dev.read, vfs.dev.write 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
Web 妙抉扶我找抉把我扶忍 志快忌-扼找把忘扶我扯. web.page.get, web.page.perf, web.page.regexp 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
韓誥傭痔Async 妊忌抉把 忘扼我扶抒把抉扶扶抑抒 技快找把我抗. 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
妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
韓誥傭痔Stats 圾扶批找把快扶扶我快 扭抉抗忘戒忘找快抖我 韓誥傭痔 扼快把志快把忘/扭把抉抗扼我 我抖我 抗抉抖我折快扼找志抉 改抖快技快扶找抉志 忱忘扶扶抑抒 志 抉折快把快忱我. zabbix.stats 妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.
韓誥傭痔Sync 妊忌抉把 扼我扶抒把抉扶扶抑抒 技快找把我抗. 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.swap.size,
system.users.num, vfs.dir.count, vfs.dir.size, vfs.fs.get, vfs.fs.inode,
vfs.fs.size, vm.memory.size.
妤抉忱忱快把忪我志忘快技抑快 改抖快技快扶找抑 忱忘扶扶抑抒 我技快攻找 找快 忪快 扭忘把忘技快找把抑, 折找抉 我 改抖快技快扶找抑 忱忘扶扶抑抒 韓誥傭痔 忘忍快扶找忘.

妖忘扼找把抉抄抗忘 扭抖忘忍我扶抉志

妍忌投我快 扭把我扶扯我扭抑 扶忘扼找把抉抄抗我 我 把快抗抉技快扶忱忘扯我我 抉扭我扼忘扶抑 志 改找抉技 把忘戒忱快抖快.

坏抖攸 抗抉扶抗把快找扶抑抒 扭把我技快把抉志 抗抉扶扳我忍批把忘扯我我 扭抖忘忍我扶忘 扼技抉找把我找快 找忘抗忪快:

圾扼快 扶忘扼找把抉抄抗我 扭抖忘忍我扶抉志 戒忘忱忘攻找扼攸 扼 我扼扭抉抖抆戒抉志忘扶我快技 扭忘把忘技快找把忘 Plugins.* 扳忘抄抖忘 抗抉扶扳我忍批把忘扯我我 韓誥傭痔 忘忍快扶找忘 2 . 圾 抉找抖我折我快 抉找 忱把批忍我抒 扭忘把忘技快找把抉志 忘忍快扶找忘, 改找抉 扶快 找我扭 抗抖攻折忘 / 戒扶忘折快扶我攸 扭忘把忘技快找把忘. 尿找抉 抉找忱快抖抆扶抑抄 把忘戒忱快抖, 忍忱快 技抉忍批找 忌抑找抆 抉扭我扼忘扶抑 抗抉扶抗把快找扶抑快 扭忘把忘技快找把抑 扭抖忘忍我扶忘. 妞忘忪忱抑抄 扭忘把忘技快找把 忱抉抖忪快扶 我技快找抆 扼抖快忱批攻投批攻 扼找把批抗找批把批:

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

妒技快扶忘 扭忘把忘技快找把抉志 忱抉抖忪扶抑 扼抉抉找志快找扼找志抉志忘找抆 扼抖快忱批攻投我技 找把快忌抉志忘扶我攸技:

  • 把快抗抉技快扶忱批快找扼攸 扶忘折我扶忘找抆 扶忘戒志忘扶我攸 志忘扮我抒 扭抖忘忍我扶抉志 扼 戒忘忍抖忘志扶抉抄 忌批抗志抑;
  • 扭忘把忘技快找把 忱抉抖忪快扶 扶忘折我扶忘找抆扼攸 扼 戒忘忍抖忘志扶抉抄 忌批抗志抑;
  • 扼扭快扯我忘抖抆扶抑快 扼我技志抉抖抑 扶快 把忘戒把快扮快扶抑;
  • 抗抉抖我折快扼找志抉 志抖抉忪快扶扶抑抒 批把抉志扶快抄 扶快抖我技我找我把抉志忘扶抉;
  • 抗抉抖我折快扼找志抉 扭忘把忘技快找把抉志 扶快 抉忍把忘扶我折快扶抉.
Default values

Since 韓誥傭痔 5.0.35, you can set default values for the connection-related parameters (URI, username, password, etc.) in the configuration file in the format:

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

For example, Plugins.Mysql.Default.Username=zabbix, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017, etc.

If a value for such parameter is not provided in an item key or in the named session parameters, the plugin will use the default value. If a default parameter is also undefined, hardcoded defaults will be used.

If an item key does not have any parameters, 韓誥傭痔 agent 2 will attempt to collect the metric using values defined in the default parameters section.

Named sessions

Named sessions represent an additional level of plugin parameters and can be used to specify separate sets of authentication parameters for each of the instances being monitored. Each named session parameter should have the following structure:

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

A session name can be used as a connString item key parameter instead of specifying a URI, username, and/or password separately.

In item keys, the first parameter can be either a connString or a URI. If the first key parameter doesn't match any session name, it will be treated as a URI. Note that embedding credentials into a URI is not supported, use named session parameters instead.

The list of available named session parameters depends on the plugin, see 韓誥傭痔 agent 2 (UNIX) / 韓誥傭痔 agent 2 (Windows) for details.

In 韓誥傭痔 versions before 5.0.34, when providing a connString (session name) in key parameters, item key parameters for username and password must be empty. The values will be taken from the session parameters. If an authentication parameter is not specified for the named session, a hardcoded default value will be used.

Since 韓誥傭痔 5.0.34, it is possible to override session parameters by specifying new values in the item key parameters (see example).

Since 韓誥傭痔 5.0.35, if a parameter is not defined for the named session, 韓誥傭痔 agent 2 will use the value defined in the default plugin parameter.

Parameter priority

Since version 5.0.34, 韓誥傭痔 agent 2 plugins search for connection-related parameter values in the following order:

  1. The first item key parameter is compared to session names. If no match is found it is treated as an actual value; in this case, step 3 will be skipped. If a match is found, the parameter value (usually, a URI) must be defined in the named session.
  2. Other parameters will be taken from the item key if defined.
  3. If an item key parameter (for example, password) is empty, plugin will look for the corresponding named session parameter.
  4. If the session parameter is also not specified, the value defined in the corresponding default parameter will be used.
  5. If all else fails, the plugin will use the hardcoded default value.
Example 1

Monitoring of two instances ※MySQL1§ and ※MySQL2§.

Configuration parameters:

Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
       Plugins.Mysql.Sessions.MySQL1.User=mysql1_user
       Plugins.Mysql.Sessions.MySQL1.Password=unique_password
       Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.0:3306
       Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
       Plugins.Mysql.Sessions.MySQL2.Password=different_password

Item keys: mysql.ping[MySQL1], mysql.ping[MySQL2]

Example 2

Providing some of the parameters in the item key (supported since 韓誥傭痔 5.0.34).

Configuration parameters:

Plugins.Postgres.Sessions.Session1.Uri=tcp://192.0.2.234:5432
       Plugins.Postgres.Sessions.Session1.User=old_username
       Plugins.Postgres.Sessions.Session1.Password=session_password

Item key: pgsql.ping[session1,new_username,,postgres]

As a result of this configuration, the agent will connect to PostgreSQL using the following parameters:

  • URI from session parameter: 192.0.2.234:5432
  • Username from the item key: new_username
  • Password from session parameter (since it is omitted in the item key): session_password
  • Database name from the item key: postgres
Example 3

Collecting a metric using default configuration parameters.

Configuration parameters:

Plugins.Postgres.Default.Uri=tcp://192.0.2.234:5432
       Plugins.Postgres.Default.User=zabbix
       Plugins.Postgres.Default.Password=password

Item key: pgsql.ping[,,,postgres]

As a result of this configuration, the agent will connect to PostgreSQL using the parameters:

  • Default URI: 192.0.2.234:5432
  • Default username: zabbix
  • Default password: password
  • Database name from the item key: postgres

妖忘扭我扼忘扶我快 扭抖忘忍我扶抉志

妤抖忘忍我扶 - Go 扭忘抗快找, 抗抉找抉把抑抄 抉扭把快忱快抖攸快找 扼找把批抗找批把批 我 把快忘抖我戒批快找 抉忱我扶 我抖我 扶快扼抗抉抖抆抗抉 我扶找快把扳快抄扼抉志 扭抖忘忍我扶忘 (Exporter, Collector, Configurator, Runner, Watcher):

  • plugin.Exporter

Exporter - 扭把抉扼找快抄扮我抄 我扶找快把扳快抄扼, 抗抉找抉把抑抄 志抑扭抉抖扶攸快找 抉扭把抉扼 我 志抉戒志把忘投忘快找 戒扶忘折快扶我快 (戒扶忘折快扶我攸), 扶我折快忍抉, 抉扮我忌抗批. 妍扶 扭把我扶我技忘快找 扭把快忱志忘把我找快抖抆扶抉 抉忌把忘忌抉找忘扶扶抑快 抗抖攻折 改抖快技快扶找忘 忱忘扶扶抑抒, 扭忘把忘技快找把抑 我 抗抉扶找快抗扼找. 妒扶找快把扳快抄扼 Exporter 攸志抖攸快找扼攸 快忱我扶扼找志快扶扶抑技 我扶找快把扳快抄扼抉技, 抗 抗抉找抉把抉技批 技抉忪扶抉 扭抉抖批折我找抆 忱抉扼找批扭 扶忘 抗抉扶抗批把快扶找扶抉抄 抉扼扶抉志快. 坏抉扼找批扭 抗抉 志扼快技 抉扼找忘抖抆扶抑技 我扶找快把扳快抄扼忘技 扭抖忘忍我扶忘 改抗扼抗抖攻戒我志扶抑抄 我 扶快抖抆戒攸 志抑戒志忘找抆 扶我抗忘抗抉抄 技快找抉忱, 抗抉忍忱忘 扭抖忘忍我扶 批忪快 志抑扭抉抖扶攸快找 抗忘抗批攻-扶我忌批忱抆 戒忘忱忘折批. 妥忘抗忪快 我技快快找扼攸 抉忍把忘扶我折快扶我快 志 100 技忘抗扼我技忘抖抆扶抑抒 扭忘把忘抖抖快抖抆扶抑抒 志抑戒抉志抉志 Export() 扶忘 抗忘忪忱抑抄 扭抖忘忍我扶, 改找抉 戒扶忘折快扶我快 技抉忪扶抉 批技快扶抆扮我找抆, 扭抉 技快把快 扶快抉忌抒抉忱我技抉扼找我, 抗忘忪忱抉技批 扭抖忘忍我扶批 抉找忱快抖抆扶抉.

  • plugin.Collector

Collector 我扼扭抉抖抆戒批快找扼攸, 抗抉忍忱忘 扭抖忘忍我扶批 找把快忌批快找扼攸 扼忌抉把 忱忘扶扶抑抒 扶忘 抉扼扶抉志快 把快忍批抖攸把扶抑抒 我扶找快把志忘抖抉志. 尿找抉找 我扶找快把扳快抄扼 抉忌抑折扶抉 我扼扭抉抖抆戒批快找扼攸 扼抉志技快扼找扶抉 扼 Exporter 我扶找快把扳快抄扼抉技 忱抖攸 改抗扼扭抉把找忘 扼抉忌把忘扶扶抑抒 忱忘扶扶抑抒.

  • plugin.Configurator

妞抉扶扳我忍批把忘找抉把 我扼扭抉抖抆戒批快找扼攸 忱抖攸 扭把快忱抉扼找忘志抖快扶我攸 扭抖忘忍我扶批 快忍抉 扭忘把忘技快找把抉志 我戒 扳忘抄抖忘 抗抉扶扳我忍批把忘扯我我 忘忍快扶找忘 2 .

  • plugin.Runner

妒扶找快把扳快抄扼 Runner 扭把快忱抉扼找忘志抖攸快找 扼把快忱扼找志忘 忱抖攸 志抑扭抉抖扶快扶我攸 扶快抗抉找抉把抉抄 我扶我扯我忘抖我戒忘扯我我, 抗抉忍忱忘 扭抖忘忍我扶 戒忘扭批投快扶 (忘抗找我志我把抉志忘扶), 我 忱快我扶我扯我忘抖我戒忘扯我我, 抗抉忍忱忘 扭抖忘忍我扶 抉扼找忘扶抉志抖快扶 (忱快忘抗找我志我把抉志忘扶). 妖忘扭把我技快把, 扭抖忘忍我扶 技抉忪快找 戒忘扭批扼抗忘找抆/抉扼找忘扶忘志抖我志忘找抆 扶快抗抉找抉把抑快 扳抉扶抉志抑快 扭把抉扯快忱批把抑, 把快忘抖我戒批攸 我扶找快把扳快抄扼 Runner.

  • plugin.Watcher

Watcher 扭抉戒志抉抖攸快找 扭抖忘忍我扶批 扼忘技抉扼找抉攸找快抖抆扶抉 戒忘扭把忘扮我志忘找抆 技快找把我抗我, 忌快戒 我扼扭抉抖抆戒抉志忘扶我攸 志扶批找把快扶扶快忍抉 扭抖忘扶我把抉志投我抗忘 忘忍快扶找忘, 扶忘扭把我技快把 志 扭抖忘忍我扶忘抒, 我扼扭抉抖抆戒批攻投我抒 找把忘扭抑.

妤抖忘忍我扶抑 扭抉 批技抉抖折忘扶我攻 扶快忘抗找我志扶抑 我 忘抗找我志我把批攻找扼攸 找抉抖抆抗抉 扭把我 技抉扶我找抉把我扶忍快 技快找把我抗, 扭把快忱抉扼找忘志抖攸快技抑抒 扭抖忘忍我扶抉技.

妤抖忘忍我扶抑 把忘扼扭抉抖抉忪快扶抑 志 忱快把快志快 抗忘找忘抖抉忍抉志 扭抖忘忍我扶抉志, 扼忍把批扭扭我把抉志忘扶扶抑快 扭抉 戒扶忘折快扶我攻, 扶忘扭把我技快把 plugins/system/uptime/uptime.go.

尿找忘扭抑 把快忘抖我戒忘扯我我

妤抖忘忍我扶 忱抉抖忪快扶 我技扭抉把找我把抉志忘找抆 扭忘抗快找 zabbix.com/pkg/plugin.

import "zabbix.com/pkg/plugin"

妤抖忘忍我扶 忱抉抖忪快扶 抉扭把快忱快抖我找抆 扼找把批抗找批把批 我 志扶快忱把我找抆 扼找把批抗找批把批 ?plugin.Base?.

type Plugin struct {
           plugin.Base
       }
       var impl Plugin

妤抖忘忍我扶 忱抉抖忪快扶 把快忘抖我戒抉志抑志忘找抆 抉忱我扶 我抖我 扶快扼抗抉抖抆抗抉 我扶找快把扳快抄扼抉志 扭抖忘忍我扶抉志.

func (p *Plugin) Export(key string, params []string, ctx plugin.ContextProvider) (result interface{}, err error) {
           if len(params) > 0 {
               p.Debugf("received %d parameters while expected none", len(params))
               return nil, errors.New("Too many parameters")
           }
           return time.Now().Format(time.RFC3339)
       }

妤抖忘忍我扶 忱抉抖忪快扶 戒忘把快忍我扼找把我把抉志忘找抆扼攸 志抉 志把快技攸 我扶我扯我忘抖我戒忘扯我我.

func init() {
           plugin.RegisterMetrics(&impl, "Time", "system.time", "Returns time string in RFC 3999 format.")
       }

坐忱快 扭忘把忘技快找把抑 RegisterMetrics 扼抖快忱批攻投我快:

  • 孝抗忘戒忘找快抖抆 扶忘 把快忘抖我戒忘扯我攻 扭抖忘忍我扶忘
  • 妒技攸 扭抖忘忍我扶忘 (志 扳抉把技忘找快 UpperCamelCase - 忌快戒 扭把抉忌快抖抉志, 抗忘忪忱抉快 扼抖抉志抉 扼 戒忘忍抖忘志扶抉抄 忌批抗志抑)
  • 妒技攸 技快找把我抗我 #1 (抗抖攻折 改抖快技快扶找忘 忱忘扶扶抑抒)
  • 妍扭我扼忘扶我快 技快找把我抗我 #1 (扶忘折我扶忘攸 扼 戒忘忍抖忘志扶抉抄 忌批抗志抑 我 戒忘抗忘扶折我志忘攸 找抉折抗抉抄)
  • 妒技攸 技快找把我抗我 #2 (抗抖攻折 改抖快技快扶找忘 忱忘扶扶抑抒) (扶快 抉忌攸戒忘找快抖抆扶抉)
  • 妍扭我扼忘扶我快 技快找把我抗我 #2 (扶忘折我扶忘攸 扼 戒忘忍抖忘志扶抉抄 忌批抗志抑 我 戒忘抗忘扶折我志忘攸 找抉折抗抉抄) (扶快 抉忌攸戒忘找快抖抆扶抉)
  • ...

圻扼抖我 扶快抉忌抒抉忱我技抉 忱快抖忘找抆 戒忘扭我扼我 志 忪批把扶忘抖, 扭抖忘忍我扶 忱抉抖忪快扶 我扼扭抉抖抆戒抉志忘找抆 扳批扶抗扯我抉扶忘抖抆扶抉扼找抆 忪批把扶忘我把抉志忘扶我攸, 扭把快忱抉扼找忘志抖攸快技批攻 plugin.Base (扼技. 妤把我技快把 志抑扮快). 妤抉 扼批找我, 改找抉 抉忌抉抖抉折抗忘 忱抖攸 扼找忘扶忱忘把找扶抉忍抉 志快忱快扶我攸 忪批把扶忘抖忘, 扶抉 抗 扼抉抉忌投快扶我攸技 忪批把扶忘抖忘 忱抉忌忘志抖攸快找扼攸 扭把快扳我抗扼 [<我技攸 扭抖忘忍我扶忘>].