基于zabbix 内置key的应用

一、内置key说明:

Zabbix 内置了很多丰富的key,使得咱们再添加linux os模板的时候,已经帮我们把key给定义好,这样我们就能够直接链接模板就可以使用了。

我们这边的话列举一些内置key,然后进行一些简单的说明:当我们内置key可以采集到数据的时候我们最好是不用去写自定义key再去采集的:(我见过一篇51CTO的写监控用户登录数,还用w去监控,没有直接取调用内置key):

二、详情可以查看官方文档:

https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent#supported_item_keys

三、内置监控项key列表:

agent.hostname

返回被监控端名称(字符串)

使用方式列举:后面使用的方式是一样的:

[[email protected] bin]# ./zabbix_get -s192.168.10.100 -k agent.hostname

Zabbix server

agent.ping

检测被监控端是否存活(1:运行中 其他:未运行)-使用函数 nodata()检测客户端是否正在运行

agent.version

zabbix agent版本字符串

kernel.maxfiles

系统支持最大的open files整数

kernel.maxproc

系统支持最大的进程数量整数

log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>]

监控日志文件

file - 文件详细路径

regexp - 正则

encoding - 编码

maxlines - zabbix agent向server或者proxy发送最大的行数。

这个参数覆盖配置文件zabbxi_agentd.conf中的’MaxLinesPerSecond’

mode - 可选值:all (默认), skip (跳过处理老数据).mode参数从2.0版本开始支持

output - 可选项,输出格式模板.

示例: log[/var/log/syslog] log[/var/log/syslog,error]log[/home/zabbix/logs/logfile,,,100]

logrt[file_pattern,<regexp>,<encoding>,<maxlines>,<mode>,<output>]

Monitoring of log file withlog rotation support.

file_pattern - 文件绝对路径

net.if.discovery

列出网卡.通常用于低级别的discovery.JSON对象

net.if.in[if,<mode>]

网卡入口流量整数.

if - 网卡名称

mode - 可用值: bytes - 字节数 (默认)

packets - 包数量

errors - 错误数量

dropped - 丢包数量

示例keys: net.if.in[eth0,errors] net.if.in[eth0]

net.if.out[if,<mode>]

网卡出口流量(参数参见net.if.in)

net.if.total[if,<mode>]

网卡进/出流量的总和(参数参见net.if.in)

net.tcp.listen[port]

检测端口是否开启0 –(not listen) 1 –  in LISTEN stateport

示例:net.tcp.listen[80]

net.tcp.port[<ip>,port]

是否可以连接到指定的TCP端口0 – cannotconnect 1 – can connect

ip - IP地址(默认是 127.0.0.1)

port - 端口

范例: net.tcp.port[,80] 检测web服务器端口是否运行中

net.tcp.service[service,<ip>,<port>]

检测服务是否开启,并且端口可用0 – 服务挂了 1 – 服务运行中

service - 如下:ssh, ntp,ldap, smtp, ftp, http, pop, nntp,imap, tcp, https, telnet

ip - IP地址 (默认127.0.0.1)

port - 端口 (默认情况为标准端口号)

示例key: net.tcp.service[ftp,,45]

net.tcp.service.perf[service,<ip>,<port>]

检测服务器性能0 – 服务挂了; seconds – 链接到服务器端口消耗的时间

service - 如下:ssh, ntp,ldap, smtp, ftp, http, pop, nntp,imap, tcp, https, telnet

ip - IP地址 (默认127.0.0.1)

port - 端口 (默认情况为标准端口号)

示例key:net.tcp.service.perf[ssh]

proc.mem[<name>,<user>,<mode>,<cmdline>]

用户进程消耗的内存内存使用量 (字节单位).

name - 进程名 (默认值“all processes”)

user - 用户名 (默认值“all users”)

mode - 可选值: avg, max,min, sum (默认)

cmdline - 命令行过滤(正则表达时)

示例keys: proc.mem[,root] – root的进程消耗了多少内存

proc.mem[zabbix_server,zabbix]– zabbix用户运行的zabbix_server使用了多少内存

proc.mem[,oracle,max,oracleZABBIX]

proc.num[<name>,<user>,<state>,<cmdline>]

某用户某些状态的进程的数量进程数量

name - 进程名称 (默认“all processes”)

user - 用户名 (默认“all users”)

state - 可用值: all (默认), run,sleep, zomb

cmdline - 命令行过滤(正则表达时)

示例keys:proc.num[,mysql] – MySQL用户运行的进程数量

proc.num[apache2,www-data] – www-data运行了多少个apache2进程

proc.num[,oracle,sleep,oracleZABBIX]

备注:Windows系统只支持name和user两个参数

system.boottime

系统启动的时间戳整数.unix时间戳

system.cpu.intr

设备中断整数

system.cpu.load[<cpu>,<mode>]

CPU负载浮点数

cpu - 可用值: all (默认), percpu (所有在线cpu的负载)

mode - 可用值:avg1 (1分钟默认值), avg5(5分钟平均), avg15 (15分钟平均值)

范例key: system.cpu.load[,avg5]

system.cpu.num[<type>]

CPU数量处理器个数type - 可用值: online (默认值), max范例: system.cpu.num

system.cpu.switches

上下文交换交换次数老命名方式:system[switches]

system.cpu.util[<cpu>,<type>,<mode>]

CPU利用率百分比

cpu - cpu数量 (默认是所有cpu)

type - 可用值: idle,nice, user (默认), system (windows系统默认值), iowait, interrupt,     softirq,steal

mode - 可用值: avg1 (一分钟平均,默认值), avg5(5分钟平均, avg15 (15分钟平均值)

范例key: system.cpu.util[0,user,avg5]

system.hostname[<type>]

返回主机名字符串

type (仅用于windows系统) – 可用值: netbios(默认)or host

system.hw.cpu[<cpu>,<info>]

返回CPU信息字符/数字

cpu - cpu数量或者all (默认)

info - full (默认), curfreq,maxfreq, model 或者vendor

例如: system.hw.cpu[0,vendor]AuthenticAMD 从/proc/cpuinfo、  /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq获取信息. 如果指定了CPU数量和    curfreq或者maxfreq, 将会返回数值(Hz).

system.hw.devices[<type>]

列出PCI或者USB文本值

type - pci (默认) or usb

范例:system.hw.devices[pci] 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780Host Bridge [..] 返回lspci或者lsusb(不带参数)

system.hw.macaddr[<interface>,<format>]

列出MAC地址字符串

interface - all (默认) 或者正则表达式

format - full (默认) 、short

范例:system.hw.macaddr["eth0$",full] [eth0] 00:11:22:33:44:55 列出指定接口mac地址 如果format指定为short,MAC地址相同的将会被忽略掉

system.localtime[<type>]

系统时间.数字或者字符串

system.run[command,<mode>]

在制定的主机上运行命令文本

command - 命令

mode - wait (默认值, 执行超时时间), nowait (不等待)最大可用返回512KB数据,包含空白数据。 命令输出数据必须是文本

例如:system.run[“ls -l /”] – 列出/的文件和目录.

Note: 启用这个方法, agent配置文件必须配置 EnableRemoteCommands=1选项

system.sw.arch

返回软件信息字符串

范例:system.sw.arch

system.sw.os[<info>]

返回系统信息字符串

info - full (default), short,name

范例:system.sw.os[short] Ubuntu 2.6.35-28.50-generic 2.6.35.11

信息来自如下文件:

/proc/version [short]

/proc/version_signature [name]

/etc/issue.net

system.sw.packages[<package>,<manager>,<format>]

已安装软件列表文本值

package - all (默认)或者正则表达式

manager - all (默认) or apackage manager

format - full (默认) ,short

范例:system.sw.packages[http]

system.swap.in[<device>,<type>]

交换分区IN(磁盘交换到内存)数字

device - 交换分区设备 (默认all)

type - 可选值: count(swapins数量), sectors(sectors swapped in), pages (pagesswapped in).

示例key:system.swap.in[,pages]

数据采集自: Linux2.4: /proc/swaps, /proc/partitions, /proc/stat

Linux 2.6: /proc/swaps, /proc/diskstats,/proc/vmstat

system.swap.out[<device>,<type>]

Swap out (f内存到磁盘) .数字

device - swap设备 (默认all)

type - count (number ofswapouts), sectors(sectors swapped out), pages (pages swapped out). 示

例key:system.swap.out[,pages]

数据采集自: Linux2.4: /proc/swaps, /proc/partitions, /proc/stat

Linux 2.6: /proc/swaps,/proc/diskstats, /proc/vmstat

system.swap.size[<device>,<type>]

交换分区大小字节或者百分比

device - 交换分区 (默认值 all)

type - free (free swap space, default), pfree (free swap space,in percent), pused (used swap space, in percent), total (total swap space),used (used swap space)

示例 system.swap.size[,pfree] – 空闲swap百分比

system.uname

返回主机相信信息.字符串

system.uptime

系统运行时长(秒)多少秒使用s/uptime来获取

system.users.num

登陆用户数量多少用户agent使用who命令获取

vfs.dev.read[<device>,<type>,<mode>]

磁盘读取状态整数,浮点数(如果type为如下)

device - 磁盘设备 (默认值“all”)

type - 可选值:sectors,operations, bytes, sps, ops, bps(必须指定, 不同操作系统下不同).  sps, ops, bps stand for:sectors, operations, bytes per second, respectively

mode - 可选值: avg1,avg5, avg15.

备注: 只有type为sps, ops, bps的时候,第三个参数才被支持。

不同操作系统的TYPE参数: FreeBSD – bps Linux – sps OpenBSD – operations Solaris – bytes

示例key:vfs.dev.read[,operations]

vfs.dev.write[<device>,<type>,<mode>]

磁盘写入状态整数,

device - 磁盘设备 (默认 all)

type - sectors, operations,bytes, sps, ops, bps

mode - one of avg1(default),avg5 , avg15.

example:vfs.dev.write[,operations] Old naming: io

vfs.file.cksum[file]

计算文件校验 UNIXcksum.

file - 文件完整路径

vfs.file.contents[file,<encoding>]

获取文本内容若为空,只返回LF/CR characters.

file - 文件完整路径

例如:vfs.file.contents[/etc/passwd] 文件不可以超过64KB.

vfs.file.exists[file]

检测文件是否存在1 –存在 0 – 不存在

file - 文件完整路径

vfs.file.md5sum[file]

文件MD5校验码文件MD5哈希值

file - 完整路径

vfs.file.regexp[file,regexp,<encoding>,<startline>,<end line>,<output>]

文件中搜索字符串包含字符串的行,或者为空

file - 文件完整路径

regexp - GNU正则表达式

encoding - 编码

start line - 从哪一行开始,默认第一行

end line - 从哪一行结束,默认最后一行

如:vfs.file.regexp[/etc/passwd,zabbix]

vfs.file.regexp[/path/to/some/file,”([0-9]+)$”,,3,5,\1]

vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]

vfs.file.regmatch[file,regexp,<encoding>,<startline>,<end line>]

文件中搜索字符串0 –未找到 1 – 找到

file - 文件完整路径

regexp - GNU 正则表达式

encoding - 编码

start line - 哪行开始,默认第一行

end line - 哪行结束,默认最后一行

例如: vfs.file.regmatch[/var/log/app.log,error]

vfs.file.size[file]

文件大小字节fzabbix必须有可读此文件的权限

vfs.file.time[file,<mode>]

文件时间信息Unix 时间戳.

mode -  modify (默认, 修改时间), access – 最后访问时间, change – 最后改变时间

例如:vfs.file.time[/etc/passwd,modify] 备注:文件大小有限制

vfs.fs.discovery

列出挂载的文件系统 用于lld.JSON对象

vfs.fs.inode[fs,<mode>]

inodes数量数字

fs - 文件系统

mode - total (默认), free,used, pfree (空闲百分比), pused (使用百分比)

例如:vfs.fs.inode[/,pfree]

vfs.fs.size[fs,<mode>]

磁盘空间,返回本地文件系统的使用量字节

fs - 文件系统

mode -  total (默认), free, used, pfree (空闲百分比), pused (使用百分比).

例如:vfs.fs.size[/tmp,free]

vm.memory.size[<mode>]

内存大小字节或百分比

mode - total (默认), active,anon, buffers, cached, exec, file, free, inactive, pinned, shared, wired, used,pused, available

监控项vm.memory.size[] 允许三种类型的参数:

第一类:包含total - 总内存

第二类: 系统指定内存类型:active, anon, buffers, cached,exec, file, free, inactive,pinned, shared, wired. 第三类:用户级别,一共使用了多少内存,还有多少内存可用: used, pused, available,pavailable.

web.page.get[host,<path>,<port>]

获取网页内容网页源代码

host - 主机名/域名

path - 文件地址,默认/

port - 端口,默认80返回空字符串表示失败. 例如: web.page.get[

web.page.perf[host,<path>,<port>]

获取完全加载网页消耗的时长秒,返回0表示失败

host - 主机名/域名

path - html地址,默认是/

port - 端口,默认80

[[email protected]01 bin]#./zabbix_get -s 192.168.10.100 -k web.page.perf[www.baidu.com]

web.page.regexp[host,<path>,<port>,<regexp>,<length>,<output>]

在网页中搜索字符串  失败则返回空字符 (不匹配).

host - 主机名

path - html文件路径 (默认值 /)

port - 端口 (默认80)

regexp - GNU正则表达式

length - 返回的最大的字符串数量

output - 输出格式模板可选项.

本文参考http://www.roncoo.com/course/view/fb3050a5b34b42f39ccad83ebebc89c1

时间: 2025-01-18 13:40:28

基于zabbix 内置key的应用的相关文章

zaabix-监控项与内置key

一.监控项 监控项存在于模板里面,我们最常用的模板就是Template OS linux这个模板,这个模板里面默认有32个监控项,每个监控项都对应一个键值: 应用集就是对监控项的分类,比如监控cpu的分一类.监控内存的分一类. 监控项就是键值的另一个名字,也可以定义一样的名字,就如同我们之前自定义监控项的时候,监控项和键值都使用一个名字也可以.监控项就像是什么呢?键值就像是agent上脚本的名字一样,举个例子: UserParameter=iotop,iostat | awk '/^sda/{p

win7升级win10激活指南——查看预装Win7/8/8.1电脑内置系统激活密钥(OEM Key)方法

1.AIDA64 查看内置Win8/8.1 OEM Key 首先下载aida64工具:AIDA64 的前身是EVEREST.在16位系统时代EVEREST叫AIDA16,随着32位技术的出现遂改名为AIDA32,之后又一次更名就成了EVEREST.现在它的开发商LavaAIDA6lys公司已经被FinalWire收购,就变成了现在的名字--AIDA64. [download title="AIDA64 下载" info="v3.00.2529 Beta" time=

什么情况下需要检测预装Win8/8.1电脑内置激活密钥(即Win8/8.1 OEM key)?

1.针对预装在品牌机中的Win8操作系统,因使用了某些软件或自己操作不当导致系统激活Key被替换而激活失效时,你需要找到内置在电脑中的OEM key,重新输入OEM key来激活系统. 2.针对预装Win8/8.1系统的电脑,当你想要重新安装同一版本的操作系统,但是所用的镜像是网友制作的多合一镜像,或者采用了某些”非主流”的安装方法,导致安装程序无法正确获取电脑内置Key而无法自动激活时,你需要找到内置在电脑中的OEM key,在系统安装完成后自己输入OEM key来激活系统. 3.针对预装Wi

下载PHPDroid: 基于WebView和PHP内置HTTP服务器开发Android应用

基于Android上的PHP(比如我打包的PHPDroid),寥寥几行PHP代码,就能实现一个支持无线局域网用浏览器访问的Android手机的Shell,用于执行命令和PHP代码.       个人在Ubuntu上使用交叉编译工具链  arm-none-linux-gnueabi 或 musl-cross-compilers(推荐)  按照  DroidPHP 的教程 cross_compile_php.txt 这是我使用musl-cross-compilers交叉编译Android版PHP7的

基于内置类的原型扩展方法

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>基于内置类的原型扩展方法</title></head><body><script type="text/javascript"> var ary = [12, 23, 34, 12, 23, 34, 12, 23, 34, 12, 23, 34,

基于HTML5 Bootstrap搭建的后台模板,分页,模糊查询已经全部JS实现,无需编码,嵌入数据即可开发,内置8款皮肤,欧美风格,非常好用!

原文:基于HTML5 Bootstrap搭建的后台模板,分页,模糊查询已经全部JS实现,无需编码,嵌入数据即可开发,内置8款皮肤,欧美风格,非常好用! 源代码下载地址:http://www.zuidaima.com/share/1550463575788544.htm 分页,查询功能已经全部用JS实现,无需再做此类代码编写,嵌入数据即可,真心美观好用.       

httpd2.2(centos6)配置认证登陆页面,基于文档认证(basic)、虚拟主机专用配置及内置STATUS页面配置

一.basic认证: (1) 定义安全域 <Directory ""> Options None AllowOverride None AuthType Basic AuthName "STRING" AuthUserFile "/PATH/TO/HTTPD_USER_PASSWD_FILE" Require user username1 username2 ... </Directory> 允许账号文件中的所有用户登录访

JAVAWEB开发之Session的追踪创建和销毁、JSP详解(指令,标签,内置对象,动作即转发和包含)、JavaBean及内省技术以及EL表达式获取内容的使用

Session的追踪技术 已知Session是利用cookie机制的服务器端技术,当客户端第一次访问资源时 如果调用request.getSession() 就会在服务器端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,如果浏览器没有禁用cookie的话,当浏览器再次访问项目中的Servlet程序时会将JSESSIONID带着,这时JSESSIONID就像唯一的一把钥匙  开启服务器端对应的session空间,进而获取到sessi

python函数(6):内置函数和匿名函数

我们学了这么多关于函数的知识基本都是自己定义自己使用,那么我们之前用的一些函数并不是我们自己定义的比如说print(),len(),type()等等,它们是哪来的呢? 一.内置函数 由python内部定义好我们可以直接调用的函数就叫内部函数.python一共给我们68个内置函数: abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() as