zabbix監控異常ip登入並告警

2021-09-10 08:39:02 字數 2895 閱讀 5792

為了伺服器的安全,需要知道是否有異常的ip通過ssh登入到我們的伺服器,以便我們及時防禦入侵。

#!/bin/bash

export path=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

[[ $(grep -ie 'ubuntu|debin|elementary' /etc/issue) ]] \

&& logs='/var/log/auth.log' \

|| logs='/var/log/secure'

## $1: accepted or failed

#portarray=( $(awk "/$1/ " $logs |sort |uniq) )

count=$2

count=$

portarray=( $(grep 'sshd' $logs |awk "/$1/ " $logs |sort |uniq -c |awk "") )

length=$

function zabbix_json()\":\"$\"}"

if [ $i -lt $[$length-1] ];then

printf ','

fidone

printf "\n\t]\n"

printf "}\n"

}function check()" $logs |grep $2 |sort |uniq -c |awk ''

}[[ $1 = check ]] \

&& $* \

|| zabbix_json

[root@centos6 script]# chown zabbix.zabbix discovery_access.sh 

[root@centos6 script]# chmod +x discovery_access.sh 

[root@centos6 zabbix_agentd.d]# vim /etc/zabbix/zabbix_agentd.d/userparameter_sa_linux.conf

userparameter=discovery.access[*],/etc/zabbix/script/discovery_access.sh $1 $2 $3
[root@centos6 script]#service zabbix-agent restart

shutting down zabbix agent:                                [  ok  ]

starting zabbix agent:                                     [  ok  ]

在zabbix-server端,使用zabbix_get命令來獲取agent端的指令碼引數:

[root@centos6 conf.d]# zabbix_get -s 192.168.10.137 -k discovery.access[accepted]

":"192.168.10.138"},

":"192.168.9.135"}]} 

提示報錯:

[root@centos6 conf.d]# zabbix_get -s 192.168.10.137 -k discovery.access[accepted]

awk: cmd. line:1: fatal: cannot open file `/var/log/secure' for reading (permission denied)

grep: /var/log/secure: permission denied

解決辦法:

設定日誌檔案的許可權 

/var/log/secure的許可權一般是600,zabbix agent對此檔案沒有許可權。zabbix使用者是agent的啟動使用者,所以我們要設定zabbix使用者對/var/log/secure有可讀許可權,這樣agent才能監控。 

執行下面的命令,追加zabbix的可讀許可權:

setfacl -m u:zabbix:r-- /var/log/secure

在自建或已有模板中建立自動發現規則:

建立完成

一旦有新的ip登入到伺服器即會報警:

zabbix自動發現mysql埠並監控

因為我們是遊戲業務,要用到mysql,乙個伺服器上面跑多個mysql例項也是很正常。如果單獨手動一台臺修改agent.conf,新增web監控,太費時費力。所以就想的要用zabbix 的自動發現來監控 root test cat etc zabbix alertscripts zabbix disc...

zabbix自動發現服務埠並監控

使用zabbix自動發現功能實現服務埠自動發現及監控 系統 centos 7.6 zabbix server version 4.0.10 1.在 etc zabbix zabbix agent.d 下建立userparameter tcp port.conf內容如下 userparameter p...

Zabbix獲取並監控linux系統的程序名

最近需要監控執行在業務系統上的程序,要求是看到具體的程序名。通常監控程序一般可以使用內建的鍵值,也就是 proc.num 程序名,root,這個鍵值,但只能返回的是程序的數量,雖然效果上也能實現,但和預期的結果有些區別,而且也不直觀,尤其在同乙個程序數多的時候。下面說下獲取具體程序名的方法 1 ag...