zabbix監控遠程端口

需求:監控api端口狀態html

查找資料,沒有找符合需求的zabbix自有監控項,改變策略,查看linux是否有命令能夠檢測api端口是否開通,而後使用zabbix自定義腳本監控linux

參考:https://www.cnblogs.com/pizitai/p/6519872.htmlweb

1、linux檢測遠程端口方法:shell

一、telnetvim

[root@ck-110-152 etc]# telnet 114.242.151.66 8829 Trying 114.242.151.66... Connected to 114.242.151.66. Escape character is '^]'.

腳本方法:api

[root@ck-110-152 etc]# echo -e "\n" | telnet 114.242.151.66 8829 | grep Connected Connected to 114.242.151.66. Connection closed by foreign host.

二、nmap數組

[root@ck-110-152 etc]# nmap 114.242.151.66 -p 8829 Starting Nmap 5.51 ( http://nmap.org ) at 2017-12-05 17:00 CST Nmap scan report for 114.242.151.66 Host is up (0.026s latency). PORT STATE SERVICE 8829/tcp open unknown Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds

腳本方法:app

[root@ck-110-152 scripts]# port_stats=`nmap 114.242.151.66 -p 8829 |grep open | wc -l`;[[ $port_stats -ge 1 ]] && echo 0 || echo 1 0

三、nctcp

[root@ck-110-152 scripts]# nc -w 5 114.242.151.66 8829 && echo ok ||echo fail ok [root@ck-110-152 scripts]# nc -w 5 114.242.151.166 8829 && echo ok ||echo fail fail

確認檢測方法後,發現zabbix自定義還不會,又在網上學習,總結經驗以下函數

參考:https://www.cnblogs.com/xiaolinstudy/p/7271861.html

2、zabbix自定義監控

一、相關概念

  • item: Items是從agnet主機裏面獲取的全部數據。一般狀況下我叫itme爲監控項,item由key+參數組成
  • Key:咱們能夠理解爲key是item的惟一標識,在agent端有不少監控項,zabbix-server根據key區分不一樣的監控項
  • trigger:觸發器是創建在item數據上的,具備閾值觸發事件的功能
    基本格式: :.()}
    server:agent名稱,加入主機時配置的
    key:就是上面說的key
    function:對閾值進行操做的函數,如下函數
    operate:表達式
    constant:常量

二、自定義腳本格式

key[*],[command|sh] # <key[參數]>,<命令或者腳本> # [*]:固定格式,表示server端是否傳過來參數,在命令或者腳本中用$1,23...引用,shell腳本中的引用$$1,2,3..引用, # 若是server端不傳參數,[*]能夠不寫

/etc/zabbix/zabbix_agentd.conf

Include=/apps/zabbix/etc/zabbix_agentd.conf.d/
UnsafeUserParameters=1

建立配置目錄

[root@ck-110-152 /] mkdir /apps/zabbix/etc/zabbix_agentd.conf.d/
[root@ck-110-152 /] mkdir /apps/zabbix/script/
[root@ck-110-152 /] chown -R zabbix.zabbix /apps/zabbix

建立zidingyikey

[root@ck-110-152 zabbix_agentd.conf.d] touch UserParameter.conf
UserParameter=mport.nc,nc -w 5 192.168.151.66 8829 && echo 0 || echo 1
UserParameter=mport.nmap[*],/data/zabbix/scripts/mport_namp.sh $1 $2

測試

zabbix_get -s 192.168.56.131 -p 10050 -k "mport.nc"
zabbix_get -s 192.168.56.131 -p 10050 -k "mport.nmap[192.168.151.66,8829]"
#測試時,會提示權限不夠,腳本須要755權限,並給zabbix sudo權限
[root@ck-110-152 /] chmod 755 /data/zabbix/scripts/mport_namp.sh
[root@ck-110-152 /] echo 'zabbix        ALL=(ALL)       NOPASSWD: ALL' /etc/sudoers
[root@ck-110-152 /] vim /etc/sudoers
#Defaults specification

三、web設置

【配置】--【主機】-- 【Zabbix server】

 

【監控項】--【建立監控項】

【名稱】:按需填寫

【類型】:Zabbix客戶端

【鍵值】:填寫UserParameter.conf中對應的鍵值

重啓zabbix_agent

相關文章
相關標籤/搜索