Zabbix监控记录linux服务器近期的登录情况

    通过zabbix自定义Items来监控服务器半年内的登录次数信息。开始配置之前,需要编写脚本,用于获取服务器的登录情况,脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[[email protected] 09:14 AM ~ 1119]# cat logon_count.sh 
#!/bin/bash
# author: hm  email: [email protected]
# system login count
option=$1
count1=0
count3=0
count6=0
total0=$(last | grep -Ev "reboot|^$|wtmp" wc -l)
login_file=/tmp/.login
who /var/log/wtmp > ${login_file} && chown zabbix. ${login_file}
d1=`date -d"1 month ago" +"%s"`
d3=`date -d"3 month ago" +"%s"`
d6=`date -d"6 month ago" +"%s"`
 
IFS=$'\n'
for in `cat $login_file`
do
    riqi=`echo $i | awk '{ print $3" "$4" "$5 }' xargs -i  date -d "{}" "+%s"`
    if "$riqi" -gt "$d1" ];then
        count1=$[ $count1 + 1 ]
    fi
    if "$riqi" -gt "$d3" ];then
        count3=$[ $count3 + 1 ]
    fi
    if "$riqi" -gt "$d6" ];then
        count6=$[ $count6 + 1 ]
    fi
done
 
case $option in
    d1)
        echo ${count1} ;;
    d3)
        echo ${count3} ;;
    d6)
        echo ${count6} ;;
    d0)
        echo ${total0} ;;
    *)
        echo -e "Usage: sh $0 [d1|d3|d6|d0]"
esac

运行脚本

1
2
3
4
5
6
7
8
[[email protected] 09:15 AM ~ 1120]# ./logon_count.sh d1    #1个月内的登录次数
54
[[email protected] 09:16 AM ~ 1121]# ./logon_count.sh d3    #3个月内的登录次数
240
[[email protected] 09:16 AM ~ 1122]# ./logon_count.sh d6    #6个月内的登录次数
390
[[email protected] 09:16 AM ~ 1123]# ./logon_count.sh d0    #所有的登录次数
469

一、配置Items

1. Configuration->Items ->Create item

Zabbix监控记录linux服务器近期的登录情况


2、创建完所有的item,如下

Zabbix监控记录linux服务器近期的登录情况


3、创建Graphs图形显示项

Zabbix监控记录linux服务器近期的登录情况


4、主机Hosts中添加监控项目,完成zabbix WEB端的配置

Zabbix监控记录linux服务器近期的登录情况


二、配置UserParameter

1、在UserParameter配置文件添加一行

1
UserParameter=login_count[*],/usr/local/zabbix/scripts/logon_count.sh $1

2、重新启动zabbix_zgentd

1
[[email protected] 09:41 AM ~ 1124]# service zabbix_agentd restart


三、配置完成后,效果如下

Zabbix监控记录linux服务器近期的登录情况



本文转自 HMLinux 51CTO博客,原文链接:http://blog.51cto.com/7424593/1902225