原文參考:https://blog.csdn.net/whs_321/article/details/52939263html
1、簡介node
Zabbix 內置了不少豐富的key,使得咱們在添加linux os模板的時候,已經幫咱們把key給定義好,這樣咱們就可以直接連接模板就可使用了。 或者在自定義模板時也可使用內置key; 當咱們內置key能夠採集到數據的時候,最好就用內置key,而不是本身去自定義; 內置key的官方文檔: https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent#supported_item_keys
2、內置keymysql
agent.hostname 返回被監控端名稱(字符串); 使用方式列舉:後面使用的方式是同樣的: [root@BJ-monitor-h-01 bin]# ./zabbix_get -s 192.168.10.100 -k agent.hostname Zabbix server --------------------------------------------------------------------- agent.ping
檢測被監控端是否存活(1:運行中 其餘:未運行)-使用函數 nodata()檢測客戶端是否正在運行 --------------------------------------------------------------------- agent.version
zabbix agent版本字符串 --------------------------------------------------------------------- kernel.maxfiles
系統支持最大的open files整數 --------------------------------------------------------------------- kernel.maxproc
系統支持最大的進程數量整數 --------------------------------------------------------------------- log[file,
監控日誌文件
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,
Monitoring of log file with log rotation support.
file_pattern - 文件絕對路徑 --------------------------------------------------------------------- net.if.discovery 列出網卡.一般用於低級別的discovery.JSON對象 --------------------------------------------------------------------- net.if.in[if,
網卡入口流量整數.
if - 網卡名稱
mode - 可用值: bytes - 字節數 (默認)
packets - 包數量
errors - 錯誤數量
dropped - 丟包數量 示例keys: net.if.in[eth0,errors] net.if.in[eth0] --------------------------------------------------------------------- net.if.out[if,
網卡出口流量(參數參見net.if.in) --------------------------------------------------------------------- net.if.total[if,
網卡進/出流量的總和(參數參見net.if.in) --------------------------------------------------------------------- net.tcp.listen[port]
檢測端口是否開啓0 – (not listen) 1 – in LISTEN stateport 示例: net.tcp.listen[80] --------------------------------------------------------------------- net.tcp.port[ 是否能夠鏈接到指定的TCP端口0 – cannot connect 1 – can connect
ip - IP地址(默認是 127.0.0.1)
port - 端口 範例: net.tcp.port[,80] 檢測web服務器端口是否運行中 --------------------------------------------------------------------- net.tcp.service.perf[service,
檢測服務器性能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] --------------------------------------------------------------------- net.tcp.service[service,
檢測服務是否開啓,而且端口可用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] --------------------------------------------------------------------- proc.mem[
用戶進程消耗的內存內存使用量 (字節單位).
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 - 進程名稱 (默認「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負載浮點數
cpu - 可用值: all (默認), percpu (全部在線cpu的負載)
mode - 可用值:avg1 (1分鐘 默認值), avg5(5分鐘平均), avg15 (15分鐘平均值) 範例key: system.cpu.load[,avg5] --------------------------------------------------------------------- system.cpu.num[
CPU數量處理器個數type - 可用值: online (默認值), max範例: system.cpu.num
--------------------------------------------------------------------- system.cpu.switches
上下文交換交換次數老命名方式: system[switches] --------------------------------------------------------------------- system.cpu.util[
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 (僅用於windows系統) – 可用值: netbios(默認) or host --------------------------------------------------------------------- system.hw.cpu[
返回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[ 列出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[ 列出MAC地址字符串 interface - all (默認) 或者正則表達式 format - full (默認) 、short 範例: system.hw.macaddr["eth0$",full] [eth0] 00:11:22:33:44:55 列出指定接口mac地址 若是format指定爲short,MAC地址相同的將會被忽略掉 --------------------------------------------------------------------- system.localtime[ 系統時間.數字或者字符串 --------------------------------------------------------------------- system.run[command, 在指定的主機上運行命令文本 command - 命令 mode - wait (默認值, 執行超時時間), nowait (不等待)最大可用返回512KB數據,包含空白數據。 命令輸出數據必須是文本 例如: system.run[「ls -l /」] – 列出/的文件和目錄. Note: 啓用這個方法, agent配置文件必須配置 EnableRemoteCommands=1選項 --------------------------------------------------------------------- system.sw.arch 返回軟件信息字符串 範例: system.sw.arch --------------------------------------------------------------------- system.sw.os[ 返回系統信息字符串 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 - all (默認)或者正則表達式 manager - all (默認) or a package manager format - full (默認) ,short 範例: system.sw.packages[http] --------------------------------------------------------------------- system.swap.in[ 交換分區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[ 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 - 交換分區 (默認值 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[ 磁盤讀取狀態整數,浮點數(若是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 - 磁盤設備 (默認 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, 獲取文本內容若爲空,只返回 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, 文件中搜索字符串包含字符串的行,或者爲空 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, 文件中搜索字符串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, 文件時間信息Unix 時間戳. mode - modify (默認, 修改時間), access – 最後訪問時間, change – 最後改變時間 例如: vfs.file.time[/etc/passwd,modify] 備註:文件大小有限制 --------------------------------------------------------------------- vfs.fs.discovery 列出掛載的文件系統 用於lld.JSON對象 --------------------------------------------------------------------- vfs.fs.inode[fs, inodes數量數字 fs - 文件系統 mode - total (默認), free, used, pfree (空閒百分比), pused (使用百分比) 例如: vfs.fs.inode[/,pfree] --------------------------------------------------------------------- vfs.fs.size[fs, 磁盤空間,返回本地文件系統的使用量字節 fs - 文件系統 mode - total (默認), free, used, pfree (空閒百分比), pused (使用百分比). 例如: vfs.fs.size[/tmp,free]
--------------------------------------------------------------------- vm.memory.size[ 內存大小字節或百分比 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, 獲取網頁內容網頁源代碼 host - 主機名/域名 path - 文件地址,默認/ port - 端口,默認80返回空字符串表示失敗. 例如: web.page.get[ --------------------------------------------------------------------- web.page.perf[host, 獲取徹底加載網頁消耗的時長秒,返回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, 在網頁中搜索字符串 失敗則返回空字符 (不匹配). host - 主機名 path - html文件路徑 (默認值 /) port - 端口 (默認80) regexp - GNU正則表達式 length - 返回的最大的字符串數量 output - 輸出格式模板可選項.