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 i 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
2、创建完所有的item,如下
3、创建Graphs图形显示项
4、主机Hosts中添加监控项目,完成zabbix WEB端的配置
二、配置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
|
三、配置完成后,效果如下
本文转自 HMLinux 51CTO博客,原文链接:http://blog.51cto.com/7424593/1902225