Agréger les appels quotidiens par seconde à partir des journaux du serveur Web en Python

Raison de la fabrication

Je veux connaître le nombre d'accès par seconde pendant une journée, mais les secondes où il n'y a pas d'accès avec "uniq -c" etc. manquent, alors j'ai décidé d'essayer Nantoka.

hits.py


#!/usr/bin/env python
import sys

def main():
	
	dict = {}
	
	#init dict
	for hour in range(24):
		for min in range(60):
			for sec in range(60):
				hhmmdd = '%02d:%02d:%02d' % (hour, min, sec,)
				dict[hhmmdd] = 0
	
	
	#read stdin
	for line in sys.stdin:
		text = line.rstrip('\n')
		dict[text] = dict[text] + 1
	
	
	#print hit/s
	for hour in range(24):
		for min in range(60):
			for sec in range(60):
				hhmmdd = '%02d:%02d:%02d' % (hour, min, sec,)
				print '%s %d' % (hhmmdd, dict[hhmmdd])
	
	
if __name__ == '__main__':
	main()

Comment utiliser

Passer les heures, minutes et secondes du journal du serveur Web

$ cat /var/log/httpd/access_log | cut -d" " -f4 | cut -d":" -f2- | python hits.py

Bavarder

Lorsque j'organisais le SSD, j'ai trouvé un faux script que j'ai fait il y a peu de temps, alors je l'ai mis sur Qiita. Je voulais connaître le nombre d'accès par seconde à partir du journal Apache, j'ai donc utilisé la commande "uniq -c" pour compter le nombre, mais quand j'y ai bien réfléchi, les secondes sans accès ont été omises au lieu de "0". C'est assez naturel ... (J'ai commencé à remarquer que je vais faire 86400, même si j'ai compté le nombre d'accès par seconde pendant une journée)

Donc, j'ai fait le script suivant de manière appropriée. C'est assez difficile, mais je me suis souvenu que j'étais capable de le faire.

Recommended Posts

Agréger les appels quotidiens par seconde à partir des journaux du serveur Web en Python
La deuxième nuit de la boucle avec pour
Calculez le nombre total de combinaisons avec python
Let Code Day10 À partir de zéro "1431. Enfants avec le plus grand nombre de bonbons"
Alignez le nombre d'échantillons entre les classes de données pour l'apprentissage automatique avec Python
Un script python qui obtient le nombre de travaux pour une condition spécifiée sur Indeed.com
Apprenez Nim avec Python (dès le début de l'année).
Construisez un serveur API pour vérifier le fonctionnement de l'implémentation frontale avec python3 et Flask
Deuxième moitié de la première journée d'étude de Python Essayez d'utiliser l'API Twitter avec Bottle
Comment connaître le nombre de GPU de python ~ Remarques sur l'utilisation du multitraitement avec pytorch ~
[Homologie] Comptez le nombre de trous dans les données avec Python
Comment modifier le niveau de journalisation d'Azure SDK pour Python
Le 14 mars est le jour du rapport de circonférence. L'histoire du calcul du ratio de circonférence avec python
[python, ruby] sélénium-Obtenez le contenu d'une page Web avec le pilote Web
Etudier le web scraping dans le but d'extraire des données de Filmarks # 2
L'histoire de la création d'un pilote standard pour db avec python.
Bases de Seaborn pour les débutants ① Graphique agrégé du nombre de données (Countplot)
De l'introduction de JUMAN ++ à l'analyse morphologique du japonais avec Python
Existence du point de vue de Python
[Version terminée] Essayez de connaître le nombre d'habitants de la ville à partir de la liste d'adresses avec Python
Essayez d'utiliser le framework web de Python Django (1) - De l'installation au démarrage du serveur
Hit une méthode d'une instance de classe avec l'API Web Python Bottle
Obtenez des visites d'articles et des likes avec l'API Qiita + Python
J'ai mesuré la vitesse de la notation d'inclusion de liste, pendant et pendant avec python2.7.
Obtenez la clé pour la migration de la deuxième couche de données JSON avec python
L'histoire de la migration du serveur domestique (MariaDB + Java) vers AWS (DynamoDB + Python + PHP) avec un coût mensuel réduit
Grattage WEB avec Python (pour mémo personnel)
Serveur Web pour tester le navigateur avec Mocha
Notes d'apprentissage depuis le début de Python 1
Vérifier l'existence du fichier avec python
Télécharger des fichiers sur le Web avec Python
La troisième nuit de la boucle avec pour
Pandas du débutant, par le débutant, pour le débutant [Python]
Notes d'apprentissage depuis le début de Python 2
Compter le nombre de caractères avec écho
[Pour les débutants] Essayez le web scraping avec Python
Acquisition de données à partir de l'API d'analyse avec l'application Web Client API Google pour python Partie 2
[Python] Nombre de chaînes entières de longueur n pour lesquelles la somme est m
Obtenez un jour de la cérémonie conjointe de Zeller - et du calendrier perpétuel -
Deep Learning from scratch La théorie et la mise en œuvre de l'apprentissage profond appris avec Python Chapitre 3
Connexion SSH au serveur cible à partir de Windows en un clic sur un raccourci
Remarque: Comment obtenir le dernier jour du mois avec python (ajouté le premier jour du mois)
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for