文档章节

python分析nginx日志的ip(中篇二)

落叶刀
 落叶刀
发布于 2015/12/16 16:43
字数 351
阅读 281
收藏 9

对nginx的log进行分析,统计网站url 和status,按照统计数量排序后,保存到mysql数据库中,这个功能本来是和《上篇》中的日志分析是在一起的,运维管理系统中把web统计功能单独分开了

数据库中表结构:

 #!/usr/bin env python
# coding: utf-8
import MySQLdb as mysql
import sys, os

db = mysql.connect(user="root",passwd="123456",db="intest",host="localhost")
db.autocommit(True)
cur = db.cursor()
cur.execute('set names utf8')

dict_list = {}
with open('03.log') as logfin:
    for line in logfin:
        arr = line.split(' ')
        # 获取ip url 和status
        ip = arr[0]
        url = arr[6]
        status = arr[8]
        # ip url 和status当key,每次统计+1
        dict_list[(ip,url,status)] = dict_list.get((ip,url,status),0)+1
    # 转换成列表
    ip_list = [(k[0],k[1],k[2],v) for k,v in dict_list.items()]
    # 按照统计数量排序,排序后保存到数据库。
    for insert in sorted(ip_list,key=lambda x:x[3],reverse=True):#如果只想提取前十行的话可以[:10]即可。
        print insert  #测试用的,可以不要。整个功能是输出一行,然后保存到数据库。
        sql = 'insert loginfo values ("%s","%s","%s","%s")' % insert
        cur.execute(sql)

到数据库输出查询如下123.125.160.217 这个ip经常乱攻击别的服务器曝光一下,如见此ip访问log,请直接拨打911

© 著作权归作者所有

落叶刀
粉丝 41
博文 127
码字总数 108317
作品 2
浦东
运维
私信 提问
python分析nginx日志

利用python脚本分析nginx日志内容,默认统计ip、访问url、状态,可以通过修改脚本统计分析其他字段。 一、脚本运行方式 python count_log.py -f med.xxxx.com.access.log 二、脚本内容 #!/u...

hnr1017
2018/07/03
0
0
【临实战】使用 Python 处理 Nginx 日志

有什么 要做什么 怎么做 开始 一. 使用 pssh 工具在 14 台机器执行 grep 命令获取包含某特征的日志 结果: 红色执行失败的的那两台机器未包含符合我们筛选条件的日志 二. 将 14 份日志作为标...

有什么
02/18
0
0
Nginx默认虚拟主机、 Nginx用户认证、Nginx域名重定向、访问日志·····

Ngninx默认虚拟主机 操作演示: Nginx用户认证 操作演示: 测试: 访问目录时需要用户认证需要更改配置文件test.com.conf 针对某一个URL Nginx域名重定向 更改 test.com.conf server_name后面...

Linux学习笔记
2018/07/06
136
0
python统计apache、nginx访问日志IP访问次数并且排序(显示前20条)

前言:python统计apache、nginx访问日志IP访问次数并且排序(显示前20条)。其实用awk+sort等命令可以实现,用awk数组也可以实现,这里只是用python尝试下。 apache脚本: ips = {}with ope...

sailikung
2018/07/01
0
0
walle-web 2.0安装流水

一、环境安装 VMware Workstation,centos7.6 64位,lnmp1.5 二、安装lnmp1.5 注意:MySQL 5.6.5以上,否则会在安装时报错。在MySQL 5.6.5版本之前,Automatic Initialization and Updating...

我心中有猛狗
04/22
39
0

没有更多内容

加载失败,请刷新页面

加载更多

Android 图片加载带进度条的ImageView

https://blog.csdn.net/shu_quan/article/details/79975578

shzwork
20分钟前
7
0
关于XAMPP默认端口80 和443被占用的问题

本文转载于:专业的前端网站➩关于XAMPP默认端口80 和443被占用的问题 关于安装xampp-win32-1.8.1-VC9-installer.zip后启动时候报端口80和443被占用的问题解决 xampp-win32-1.8.1-VC9-instal...

前端老手
22分钟前
6
0
错误Setting the parent of a transform which resides in a Prefab Asset is...

错误日志 Setting the parent of a transform which resides in a Prefab Asset is disabled to prevent data corruption 原因1 用Resouce.Load加载一个prefab,没有实例化直接设置parent ......

XBlock
23分钟前
9
0
Spring boot 配置mybatis

当然任何模式都需要首先引入mybatis-spring-boot-starter的pom文件,现在最新版本是1.1.1(刚好快到双11了 :)) <dependency>    <groupId>org.mybatis.spring.boot</groupId>    <......

雷开你的门
23分钟前
9
0
云栖干货回顾 | 更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读

阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务ACID。AnalyticDB PG通过行存...

开源中国小二
35分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部