Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- USAGE: Guarda los apache, con la cantidad de peticiones entrantes y salientes.
- antes de usarlo formatear el log apache de la siguiente manera
- con el modulo io activado
- 190.121.168.159|-|-|2012/11/20 17:53:49|POST|/encuestas/user/encuestas/getEncuesta3rl=encuestas/getEncuesta3|200|13953|574|14398
- el formato del log apache es
- LogFormat "%h|%l|%u|%{%Y/%m/%d %H:%M:%S}t|%m|%U%q|%>s|%b|%I|%O" netipac
- como lo que hace esto es muy boludo lo hacemos todo aqua sin nada de clases
- el formato a leer es
- 200.1.201.35|-|-|2012/11/20 17:58:44|GET|/cartera/vendedor/login?url=login|200|5657|639|6082
- """
- import sys
- import MySQLdb
- import logging
- import optparse
- from datetime import datetime
- def read_request(**kwargs):
- rq = kwargs.get('request')
- conl = kwargs.get('conl')
- fq = open(rq, 'r')
- lines = fq.readlines()
- for line in lines:
- dun = line.split('|')
- dayf = datetime.strptime(dun[3], '%Y/%m/%d %H:%M:%S')
- fecha = dayf.strftime('%Y/%m/%d')
- hora = dayf.strftime('%H:%M:%S')
- idu = '%s_%s_%s_%s_%s' % (dun[0].replace('.', ''),
- fecha, hora, dun[8], dun[9].strip())
- data = ( idu, 'apache', dun[0],dun[5],dun[8], dun[9].strip(), dun[4],
- dun[6],dun[3]
- )
- if dayf.strftime('%Y%m%d') == datetime.now().strftime('%Y%m%d'):
- cursor = conl.cursor()
- sqli = """insert into logs_peti ( id, servidor_aplicacion, host, sitio, entrada, salida, peticiones, estado, tiempo) values
- (%s, %s, %s, %s, %s, %s, %s, %s, %s)
- """
- try:
- cursor.execute(sqli, data)
- conl.commit()
- except:
- pass
- # save_data(data=data, conl=conl)
- if __name__ == '__main__':
- try:
- conl = MySQLdb.connect(host='algun.host',
- user='xxx',
- passwd='XXXX',
- db='fantasmal')
- except Exception, e:
- print e, 'ERROR en la conexion de la base de datos'
- sys.exit(1)
- fff = '/var/log/httpd/log_personalizado.log'
- read_request(request=fff,conl=conl)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement