保存下面的脚本到任意路径 名字.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. python Re库的介绍

    re库的贪婪匹配和最小匹配 后面跟着?变为最小匹配

  2. TouTiao开源项目 分析笔记10 实现通用普通文章片段页面

    1.RxJava的Observable数据操作符总结 1.1.Map操作符 Map操作符对原始Observable发射的没一项数据应用一个你选择的函数, 然后返回一个发射这些结果的Observable ...

  3. Java中的初始化详细解析

    今天所要详细讲解的是Java中的初始化,也就是new对象的过程中,其程序的行走流程. 先说没有静态成员变量和静态代码块的情况. public class NormalInit { public sta ...

  4. 《Cracking the Coding Interview》——第5章:位操作——题目4

    2014-03-19 06:15 题目:解释(n & (n - 1)) == 0是什么意思? 解法:n&n-1是去掉最低位‘1’的方法.根据运算符优先级,貌似用不着加那个括号,但位运算 ...

  5. Caliburn Micro Binding KeyDown Event

    <TextBox x:Name="MyTextBox" TextAlignment="Left" FontSize="10" Widt ...

  6. win 7 查看端口被占用

    开始---->运行---->cmd,或者是window+R组合键,调出命令窗口     输入命令:netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口,比如是4915 ...

  7. jenkins调用pom.xml文件

    对于测试人员来说,大部分代码维护在本地,因此在用jenkins做持续集成时,我们只需要用Jenkins去直接调用pom.xml文件去执行我们的项目 这里主要是正对创建自由风格的工程来讲解的 一.Jen ...

  8. mac虚拟机上(centos系统)设置联网

    前面介绍了mac安装虚拟机VirtualBox,并在虚拟机上装上了centos,这里在说明一下联网问题. 首先打开centos系统,并输入命令$ ip addr 可得到如下: 发现找不到ip地址,这时 ...

  9. windows下vim高亮systemverilog

    主要解决window环境下,vim高亮systemverilog的方法. 第一步:准备材料下载地址:https://files.cnblogs.com/files/aslmer/verilog_sys ...

  10. cinatra--一个高效易用的c++ http框架

    cinatra是一个高性能易用的http框架,它是用modern c++(c++17)开发的,它的目标是提供一个快速开发的c++ http框架.它的主要特点如下: 统一而简单的接口 header-on ...