1、內置key說明:html
Zabbix 內置了不少豐富的key,使得我們再添加linux os模板的時候,已經幫咱們把key給定義好,這樣咱們就可以直接連接模板就可使用了。node
咱們這邊的話列舉一些內置key,而後進行一些簡單的說明:當咱們內置key能夠採集到數據的時候咱們最好是不用去寫自定義key再去採集的:(我見過一篇51 CTO的寫監控用戶登陸數,還用w去監控,沒有直接取調用內置key):mysql
2、詳情能夠查看官方文檔:linux
3、內置監控項key列表:web
agent.hostname正則表達式
返回被監控端名稱(字符串)sql
使用方式列舉:後面使用的方式是同樣的:apache
[root@BJ-monitor-h-01 bin]# ./zabbix_get -s 192.168.10.100 -k agent.hostnamewindows
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 with log 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 – cannot connect 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] RS780 Host 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 a package manager
format - full (默認) ,short
範例: system.sw.packages[http]
system.swap.in[<device>,<type>]
交換分區IN(磁盤交換到內存)數字
device - 交換分區設備 (默認all)
type - 可選值: count (swapins數量), sectors(sectors swapped in), pages (pages swapped in).
示例key: system.swap.in[,pages]
數據採集自: Linux 2.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 of swapouts), sectors(sectors swapped out), pages (pages swapped out). 示
例key: system.swap.out[,pages]
數據採集自: Linux 2.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]
計算文件校驗 UNIX cksum.
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>,<start line>,<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>,<start line>,<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
[root@BJ-monitor-h-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/article/detail/125832