保存下面的脚本到任意路径 名字.py

修改属组和权限:

chown zabbix:zabbix *
chmod 755 *

演示的路径为:/usr/local/zabbix/scripts/

# -*- coding:utf- -*-
#.收集服务器上登录的IP
#.删除收集到的白名单IP
#.如果收集到的IP为空,则将白名单IP写入收集里面 import os
import sys #获取ip
ip=os.popen("who -u | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' |sort -t'.' -k1,1nr -k2,2nr -k3,3nr -k4,4nr |uniq").read().split("\n") #判断是否要删除ip
newip=ip
Whitelist=[]
for num in range(,len(sys.argv)):
newip=' '.join(newip).replace(sys.argv[num], "").split()
Whitelist.append(sys.argv[num]) #判断newip是否为空,为空代表服务器没有被非其他ip登录,则显示当前正常ip登录的账号
#避免误报,如果newip为空就将传入的参数写入newip里面
nulll=
if len(newip) == :
newip=Whitelist
nulll= #获取登录信息
data=[]
if nulll == :
for i in newip:
if i != '':
#执行获取信息的命令,分割后添加到数组
datatmp=os.popen("who -u | grep '%s' "%i).read().split('\n')
for ii in os.popen("who -u | grep '%s' "%i).read().split('\n'):
if ii != '':
data.append(ii.replace('\n',""))
else:
data.append(os.popen("who -u ").read())
#监控的信息
print "%s\n"%' '.join(newip)
#显示登录信息
print '\n'.join(data)
  

将下面的写入到/usr/local/zabbix/etc/zabbix_agentd.conf最后一行

UserParameter=ssh[*],python /usr/local/zabbix/scripts/名字.py $1

修改zabbix web

配置>模板>Template OS Linux>添加监控项

键值

ssh["IP"]#多个IP用空格隔开,添加白名单IP,非白名单IP则会警报

添加触发器

名称随意

表达式:多个IP用空格隔开与上面加的IP要一样且顺序相同

照着图上添加

Zabbix监控服务器异常IP登录的更多相关文章

  1. linux zabbix监控服务器搭建

    搭建Zabbix监控服务器 准备运行环境(lamp) [root@zhuji1 ~]# yum -y install httpd [root@zhuji1 ~]# yum -y install php ...

  2. ssh访问控制,阻断异常IP,防止暴力破解

    文章转载自:https://mp.weixin.qq.com/s/oktVy09zJAAH_MMKdXjtIA 由于业务需要将Linux服务器映射到公网访问,SSH 端口已经修改,但还是发现有很多IP ...

  3. Linux SSH安全策略限制IP登录方法(转)

    本文介绍了Linux SSH安全策略限制IP登录的两种方法.具体如下: 方法一: 首先需要限制登录的ip(或者如果需要自己本地登录,查看最后登录ip即可) Vim /etc/hosts.allow 输 ...

  4. ecshop 完美解决动态ip登录超时和购物车清空问题

    ecshop 完美解决动态ip登录超时和购物车清空问题 ECSHOP模板/ecshop开发中心(www.68ecshop.com) / 2014-05-06 前一段时间,ECSHOP开发中心的一个客户 ...

  5. 解决MSSQL 2008不能用IP登录的问题

        解决MSSQL 2008不能用IP登录的问题   前提准备:mssql 2008已安装好了一个实例(我按默认情况下安装的实例是:SQLEXPRESS),并安装了SQL Server Manag ...

  6. Centos 7 设置ssh只允许特定用户从指定的IP登录

    1.编辑文件 /etc/ssh/sshd_config vi /etc/ssh/sshd_config 2.root用户只允许在如下ip登录AllowUsers root@203.212.4.117A ...

  7. Linux限制某些用户或IP登录SSH、允许特定IP登录SSH

    说明:一般要实现这种功能时,先安装VPN,然后客户端登录VPN,然后通过内网IP登录SSH. 搭建OpenVPN: 参考:http://www.cnblogs.com/EasonJim/p/83338 ...

  8. dedecms--二次开发文章内容页未登录禁止访问和同一个帐号只允许一个ip登录

    最近在用dedecms二次开发会员功能,领导要求,会员未登录不允许访问文章内容页,和同一个账号只允许一个ip登录,我是将这两个在一起判断的,判断session存不存在,不存在的情况下就是未登录,这时候 ...

  9. AWS中国EC2 公网IP登录免pemKEY修改shh 配置文件

    个人使用记录 1:KEY 授权 chmod 400 VPN.pem 2:连接 ssh -i "VPN.pem" ubuntu@ec2-54-183-119-93.us-west-1 ...

随机推荐

  1. 笔记-selenium+chrome headless

    笔记-selenium+chrome headless 1.      selenium+chrome headless phantomjs与selenium分手了,建议使用其它无头浏览器. chro ...

  2. PHP.25-TP框架商城应用实例-后台2-商品列表页-搜索、翻页、排序

    商品列表页 1.翻页 控制器GoodsController.class.php添加方法lst(),显示列表页 在商品模型GoodsModel.class.php类中添加search方法 /** *实现 ...

  3. RSA前端加密解密

    技术交流群: 233513714 <html> <head> <title>JavaScript RSA Encryption</title> < ...

  4. 03019_过滤器Filter

    1.Filter的简介 (1)Filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理: (2)快速入门步骤 ①编写一个过滤器的类实现Filter接 ...

  5. laravel5.5授权系统

    目录 1. Gates 1.1 一个简单的使用Gates的例子 1.2 编写Gates 1.3 授权动作 2. policy策略 2.1 还是先看个例子 2.2 编写策略 2.3 授权策略 2.3.1 ...

  6. groupNoAdj

    public boolean groupNoAdj(int start, int[] nums, int target) { if( start >= nums.length){ return ...

  7. windows 10的资源管理器不显示映射的网络驱动器怎么办?

    最近在使用映射网络驱动器的时候出现一个奇怪的现象.事情源于我在资源管理器里面映射了来自多个不同账号的网络驱动器.使用的是win10系统.映射不同账号的网络驱动器是不允许的.于是只能删掉其他账号和凭证重 ...

  8. HTTP - 请求头的具体含义

    当我们打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头的内容生成当次请求的内容发送给浏览器.你明白HTTP请求头的具体含意吗?下面一条条的为你详细解读,先看 ...

  9. scheduled定时任务cron表达式知识地址

    https://www.cnblogs.com/javahr/p/8318728.html https://www.cnblogs.com/sunjie9606/archive/2012/03/15/ ...

  10. Python网络编程(子进程的创建与处理、简单群聊工具)

    前言: 昨天我们已经了解了多进程的原理以及它的实际使用 Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊.普通的函数调用,调用一次,返回一次, 但是fork()调用一次,返回两次 ...