J'ai installé Apache pour servir plusieurs hôtes virtuels, et j'aimerais voir la quantité de bande passante utilisée par chaque site. Je peux voir combien le serveur entier utilise, mais je voudrais des rapports plus détaillés.
La plupart des choses que j'ai découvertes concernent la limitation de la bande passante aux hôtes virtuels, mais je ne veux pas le faire; Je veux juste voir quels sites utilisent combien de bande passante.
Ce n'est pas à des fins de facturation, juste pour information.
Existe-t-il un module Apache que je devrais utiliser? Ou existe-t-il une autre façon de procéder?
la source
Awstats est une façon de le faire, mais probablement pas la meilleure
la source
Je vous suggère d'utiliser le merveilleux mécanisme de journalisation d'Apache et ses indicateurs % I et % O moins connus :
Définissez le format:
Utilisez-le dans votre httpd.conf principal :
Les valeurs ne représentent probablement pas toutes les informations d'en-têtes, mais sont assez précises pour avoir une idée précise du trafic VirtualHost.
Analysez les journaux avec un script perl pour les regrouper par hôte virtuel toutes les n minutes (5 par exemple) et envoyez-les à cacti.
Ces drapeaux sont fournis par mod_logio qui est probablement intégré à votre Apache (comme pour Apache de mon Debian).
la source
Si vous décidez d'utiliser awstats avec Apache, il vous montrera immédiatement la bande passante agrégée pour l'ensemble de votre serveur.
Pour voir la bande passante par hôte virtuel, je recommande d'installer vlogger .
Vlogger rassemblera en fait les informations du journal d'accès Apache pour chacun de vos hôtes virtuels que vous avez configurés pour le faire dans des répertoires / fichiers séparés.
Par exemple, si votre fichier journal Apache se trouve dans / var / log / apache2, l'installation typique de vlogger créera quelque chose comme ceci pour vos hôtes virtuels (par exemple vhost1.com vhost2.com):
Vlogger vous donne la possibilité de faire pivoter ces journaux pour vous, fournit un moyen de modifier le modèle de dénomination du fichier journal d'accès (par exemple, ajoutez une date) et prétend qu'il gère un grand nombre de fichiers journaux mieux qu'Apache.
Un inconvénient est que vous n'aurez plus de vue de serveur agrégée (vous devrez agréger les journaux séparément ou peut-être utiliser un paramètre Apache supplémentaire ou peut-être une autre méthode?).
Je vous déconseille d'utiliser google analytics (ou tout suivi basé sur javascript) pour la surveillance de la bande passante du serveur car vous comptez sur le client pour signaler via le javascript. GA ne vous signale pas les personnes dont le javascript est désactivé ainsi que les robots / araignées / robots.
la source
Voici quelques regex pour analyser le format de journal proposé par Xerxes.
\ [([0-9] +) / (\ w +) / ([0-9] {4}) [^ \]] + \] \ s (\ d {1,3}. \ D {1, 3}. \ D {1,3}. \ D {1,3}) \ s ([^ /] +) [^ \ s] + \ s (\ d +) \ s (\ d +)
Exemple de journal:
[12 / Jan / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com / 581 669 [12 / Jan / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com / 624 747 [12 / Jan / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com /icons/blank.gif 687 186 [12 / Jan / 2011: 14: 25: 04 +0000] 157.157. 12.206 files.hjaltijakobsson.com /icons/compressed.gif 693 188 [12 / Jan / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com /favicon.ico 592 512
Allumettes:
Sous-modèle 1 (jour du mois): 12
Sous-modèle 2 (mois
abrégé ): Jan Sous-modèle 3 (année): 2011
Sous-modèle 4 (hôte visiteur): 157.157.12.206
Sous-modèle 5 (hôte virtuel): files.hjaltijakobsson.com
Sous-modèle 6 ( octets entrants): 581
Sous-modèle 7 (octets sortants): 669
À votre santé.
la source
Modifiez légèrement la réponse acceptée en supposant qu'il y a en fait plusieurs vhosts sur le serveur (et donc plusieurs sites.com.access_log). Cela triera et listera chaque vhost
et pour un répertoire de journaux gzippés
la source
Hmm, vous pourriez avoir du mal avec IPTables et la correspondance de chaînes pour enregistrer les paquets pour des rapports ultérieurs. Ne fonctionnera cependant que pour les connexions non SSL.
Ou quelque chose de sensible au protocole et à la session comme Snort pourrait être utilisé comme un sabot ...
la source
Correct. Filtrer le journal est une bonne idée. Je souhaite également obtenir la bande passante de mon serveur Apache lors du téléchargement de fichiers.
Calcule la sortie
%b
et%d
, ce qui vous donnera la bande passante du courant.la source