1. 程式人生 > 其它 >zabbix-get命令使用及zabbix內建的一些引數

zabbix-get命令使用及zabbix內建的一些引數

技術標籤:linux

一、內建key說明:

Zabbix 內建了很多豐富的key,使得咱們再新增linux os模板的時候,已經幫我們把key給定義好,這樣我們就能夠直接連結模板就可以使用了。

我們這邊的話列舉一些內建key,然後進行一些簡單的說明:當我們內建key可以採集到資料的時候我們最好是不用去寫自定義key再去採集的:(我見過一篇51 CTO的寫監控使用者登入數,還用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 -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[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]

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]

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

    [[email protected] 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 - 輸出格式模板可選項.

©著作權歸作者所有:來自51CTO部落格作者老逗先生的原創作品,如需轉載,請註明出處,否則將追究法律責任