zabbix-agent python脚本侦听服务器异常登录,并告警
py脚本
import re,subprocess,time,datetime #gpasswd -a zabbix adm
def ftime(a):
a = a.replace('Jan','01')
a = a.replace('Feb','02')
a = a.replace('Mar','03')
a = a.replace('Apr','04')
a = a.replace('May','05')
a = a.replace('Jun','06')
a = a.replace('Jul','07')
a = a.replace('Aug','08')
a = a.replace('Sep','09')
a = a.replace('Oct','10')
a = a.replace('Nov','11')
a = a.replace('Dec','12')
return a
def auth():
try:
cmd = 'more /var/log/auth.log | grep Accepted'
ret = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate()[0]
ret = ret.decode('utf8')
now_time = int(datetime.datetime.now().strftime('%m%d%H%M%S'))
list = [#白名单列表]
host = re.findall('\d+\.\d+\.\d+\.\d+',ret)
logtime = (re.findall('[A-Z,a-z]+\s+\d+\s\d+:\d+:\d+',ret,flags=re.M))
count = len(host)
for x in range(count-1,-1,-1):
f_logtime = int(ftime(logtime[x].replace(':','').replace(' ','0').replace(' ','')))
if host[x] not in list and now_time - f_logtime < 1000:
ip = host[x].replace('.','0')
return int(ip)
return(int(0))
except Exception as a:
return a
if __name__ == "__main__":
print(auth())
zabbix item配置与triggers配置略
效果如下

zabbix-agent python脚本侦听服务器异常登录,并告警的更多相关文章
- zabbix 利用python脚本实现钉钉告警
Zabbix 利用python脚本实现钉钉告警 1.安装python3.6环境 2.创建python脚本 cd local/zabbix-4.0.3/share/zabbix/alertscripts ...
- Zabbix之Python脚本端口自动发现
Zabbix监控服务端口,可以手动添加配置,但是如果一个服务器上需要监控的端口数较多,那么利用Zabbix自动发现,比较高效,下面是自动发现port的Python脚本. #!/usr/bin/pyth ...
- 阿里云zabbix的python脚本
由于阿里云只能用465端口.所以这个zabbix的脚本修改成了465端口的python脚本. 修改于https://www.jianshu.com/p/9d6941dabb47 #!/usr/bin/ ...
- zabbix 调用python脚本监控 磁盘剩余空间(创建模版,创建监控项,创建触发器)
主要 记录一下 使用zabbix 自己创建模版.监控项.触发器,并调用python脚本. 需求: 监控备份机磁盘剩余空间(windows系统) 一.安装zabbix_agent 比较简单 修改配置文 ...
- zabbix 利用python脚本实现短信告警
一.编写脚本 cd /usr/local/zabbix-4.0.3/share/zabbix/alertscripts vi zabbix_sms.py 内容如下: #!/usr/bin/python ...
- python绝技 — 侦听802.11 Probe请求
代码 #!/usr/bin/python #--*--coding=utf-8--*-- from scapy.all import * interface = 'wlan1' probeReqs = ...
- zabbix利用python脚本发送钉钉报警
#!/usr/bin/python # -*- coding: utf-8 -*- import requests import json import sys import os headers = ...
- Python脚本批量修改服务器密码
搭建环境 centos 7.4 使用脚本 python 批量修改connect用户的密码 生成密码为随机密码 保存为xls文档 passwd_chang #!/usr/bin/env python ...
- python脚本监听nginx是否运行
import sys import time import os import logging from logging.handlers import RotatingFileHandler imp ...
随机推荐
- IOC 初始化源代码阅读之我见
由于本人的能力有限,只能说出自己的见解,如有错漏什么的,请大家批评指出.由于代码封装太多,这里只列出了我认为的部分最重要的代码,一些简单的封装代码,不在下面列出.由于代码太过于复杂,在本次博客中,只列 ...
- 打败算法 —— 环形链表 II
本文参考 出自LeetCode上的题库 -- 环形链表II,哈希表和快慢指针两种解法都需要O(n)的时间,但快慢指针仅占用O(1)的空间 https://leetcode-cn.com/problem ...
- 更改IE中的jdk版本
一丶打开IE设置: 快捷键:Ctrl+Shift+Alt+S 二丶在设置中调设已经安装的jdk版本(前提已安装):
- Mybatis-Plus 如何实现一对多关系 举例 用户与角色
Mybatis-Plus 一对多Mybatis-Plus 不写一句sql语句实现一对多 首先来看效果 Mysql数据库 用户表 角色表 用户与角色的中间表 中间表如下 将三张表通过Mybatis Pl ...
- 【译】感谢 Flash 所做的一切
翻译:疯狂的技术宅来源:Chromium Blog原文标题:So long, and thanks for all the Flash英文原文:https://blog.chromium.org/20 ...
- ES6-11学习笔记--正则表达式的扩展
y修饰符 u修饰符 复习以前的修饰符: i(忽略大小写) m(多行匹配) g(全局匹配) y修饰符:粘连修饰符 const str = 'aaa_aa_a' const reg1 = /a+/ ...
- PAT A1001 A+B Format
Calculate a+b and output the sum in standard format -- that is, the digits must be separated into gr ...
- 玩转NET Expression
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; ...
- CPU乱序执行问题
CPU为了提高执行效率,会在一条指令执行的过程中(比如去内存读数据,读数据的过程相较于CPU的执行速度慢100倍以上,cpu处于等待状态),这个时候cpu会分析接下来的指令是否正在执行的指令相关联,如 ...
- 【面试普通人VS高手系列】谈谈你对Seata的理解
很多面试官都喜欢问一些"谈谈你对xxx技术的理解". 大家遇到这种问题时,是不是完全不知道从何说起. 那么我们来看一下,普通人和高手是如何回答这个问题的? 普通人: Seata是用 ...