zabbix監控日志的實現


描述:基於生產中需要及時掌握重要應用的日志情況,可以使用zabbix進行監控通知

zabbix監控的配置實現

1. 配置zabbix_agentd.conf(由於之前的配置這里是主動和被動混合使用)

[root@zabbix ~]# egrep -v "#|^$" /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=11.11.22.235                    ##被動模式,客戶端允許這個ip來采集
ServerActive=127.0.0.1,11.11.22.235    ##主動模式的ip,客戶端主動發數據到這個地址
Hostname=zabbix                        ##要與hosts中的hostname保持一致,否則無法收集
Include=/etc/zabbix/zabbix_agentd.d/*.conf
注:agent是以"Hostname"為參數向server發送"active checks"請求,server收到請求,到數據庫里找到相同的名稱的主機后,向agent返回active類型的監控項列表。agent根據這個item list進行監控,收集數據,並主動把數據推送給server。

2.設置日志文件的權限

[root@zabbix ~]# setfacl -m u:zabbix:r-- /var/log/secure (建議使用)

或者
[root@zabbix ~]# chown zabbix.root /var/log/secure

注: /var/log/secure的權限一般是600,zabbix agent對此文件沒有權限。zabbix用戶是agent的啟動用戶,要設置zabbix用戶對/var/log/secure有可讀權限,這樣agent才能監控。

3.修改logrotate配置並重啟agent

[root@zabbix ~]# cat /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    missingok
    sharedscripts
    postrotate
	/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
	/usr/bin/setfacl -m u:zabbix:r-- /var/log/secure  ###
    endscript
}

重啟
[root@zabbix ~]# systemctl restart zabbix-agent

4.在zabbix的web管理中配置item(注意: Type - 選擇Zabbix agent (active))

 

 5. 配置trigger

expression:
{zabbix:log[/var/log/secure,"Failed password"].str(Failed)}=1 and {zabbix:log[/var/log/secure,"Failed password"].nodata(60)}=0

   表達式的含義為:如果用戶登錄失敗了,item返回數據中會包含"Failed",則觸發器被觸發,60秒內沒有新數據的話,觸發器恢復。這樣就保證了觸發器不會一直在觸發狀態。

    下面把表達式拆解分析:

    A:{zabbix:log[/var/log/secure,"Failed password"].str(Failed)}=1,表示如果字符串中包含"Failed"則表達式為真。

    B:{zabbix:log[/var/log/secure,"Failed password"].nodata(60)}=0,表示60秒內有數據產生則表達式為真,即60秒內如果沒有新數據了,則表達式為假。

    邏輯為A & B,表示同時符合A、B兩個條件(同時為真),觸發器才會觸發。

6.模擬SSH連接失敗

#SSH客戶端
[root@web ~]# ssh 11.11.22.235
root@11.11.22.235's password: 
Permission denied, please try again.
root@11.11.22.235's password: 
sadfas
Permission denied, please try again.
root@11.11.22.235's password: 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

##zabbix server端(日志監控端)
[root@zabbix ~]# tail -f /var/log/secure
Mar 14 17:24:30 zabbix sshd[888]: Failed password for root from 11.11.22.235 port 56952 ssh2
Mar 14 17:24:31 zabbix sshd[888]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Mar 14 17:24:33 zabbix sshd[888]: Failed password for root from 11.11.22.235 port 56952 ssh2
Mar 14 17:24:33 zabbix sshd[888]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Mar 14 17:24:35 zabbix sshd[888]: Failed password for root from 11.11.22.235 port 56952 ssh2
Mar 14 17:24:35 zabbix sshd[888]: Connection closed by 11.11.22.235 port 56952 [preauth]
Mar 14 17:24:35 zabbix sshd[888]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=web  user=root

7.檢查最近的數據

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM