Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Traffic Counter

Empfohlene Antworten

Veröffentlicht

Hallo COM,

ich wollte mal fragen ob es möglich wäre ein Traffic counter mit php und vll. noch in Verbindung mit einer Datenbank zu erstellen. Also das man das das Verzeichnis an gibt und ab den Verzeichnis soll jedes bit an traffic gezählt werden. Bilder, Seiten, sonstige Downloads einfach alles was ab den Verzeichnis die Internet Leitung durchquert.

Ist dies mit php möglich? Und falls nein Wie könnte ich sowas sonst bewerkstelligen damit ich ab einen Verzeichniss den traffic zähle und dann so ausgeben das ich ihn im Web per php anzeigen kann?

Danke im voraus

Mit freundlichen Grüßen

Mike1990

Hallo COM,

ich wollte mal fragen ob es möglich wäre ein Traffic counter mit php und vll. noch in Verbindung mit einer Datenbank zu erstellen. Also das man das das Verzeichnis an gibt und ab den Verzeichnis soll jedes bit an traffic gezählt werden. Bilder, Seiten, sonstige Downloads einfach alles was ab den Verzeichnis die Internet Leitung durchquert.

Ist dies mit php möglich? Und falls nein Wie könnte ich sowas sonst bewerkstelligen damit ich ab einen Verzeichniss den traffic zähle und dann so ausgeben das ich ihn im Web per php anzeigen kann?

Danke im voraus

Mit freundlichen Grüßen

Mike1990

Wenn du das mit PHP realisieren möchtest, dann mach dich auf einen erheblichen aufwand gefasst. (Möglich ist es generell schon)

Selbst wenn man nur statische Seiten auswerten wollte, dann muss jedes Bild, jede .js, .xml und .css Datei auf Ihre Größe geprüft werden um für EINEN Seitenaufruf die übertragenen Bytes zu ermitteln.

Bei Dynamischen Seiten wirds sogar noch schwieriger...

Am besten du nutzt die Serverfunktion dafür, der Server weiss immer genau, was (wieviel) er wohin sendet, und schreibt dies in ein log, welches man auswerten kann.

wäre halt interessant zu wissen, auf welchem OS der webserver basiert.

unter linux z.b. rrdtool; gibt aber ca. ein halbes dutzend anderer tools die das können, alternativ kannst du ja einfach die ausgabe von ifconfig greppen und in ein .html-file umleiten.

s'Amstel

Hallo COM,

Als OS habe ich Linux drauf.

Bei der Distri handelt es sich laut meinen hoster um RedHat 7.2

Mit freundlichen Grüßen

Mike1990

EDIT: Ist es möglich mit einer PHP Application außerhalb des www Ordners im Apache Ordner auf Daten zuzugreifen? Also das ich mit einer php Application auf /usr/local..... zugreife?

Meinst du mit Traffic Datenverkehr in Bytes oder die Besucherzahlen(wird durchaus für beides Verwenden)

Datenverkehr in Bytes.

also mit PHP klingt kompliziert weil man halt für jedes File den traffic zählen muss,

denke der richtige Ansatz ist eher sich mit Logfile Auswertung zu beschäftigen, die Apache Logfiles kannst du auch im nachhinein mit PHP Auswerten.

Seitenzugriffe.

Musst du jeden zugriff in der Datenbank speichern, danach Auswerten, die auswertung kann evtl lange dauern daher evtl pro verzeichniss nen gecacheten wert verwenden.

Eine fertige Lösung wäre PHPOpenTracker phpOpenTracker ? Trac

wenn du dir arbeit sparen willst nimm einfach GoogleAnalytics

Mit php ist das kaum möglich was du willst. Absolut jeden Traffic aufzuzeichnen. Denn mit php kannst du natürlich nur Traffic aufzeichnen, der auch über php geht ;)

Aber indirekt ginge das wohl: Indem du mit mod_rewrite alle Aufrufe in dem Verzeichnis auf ein php-Skript umleitest, damit die abzurufenden Daten ermittelst, die Größe in die DB speicherst und dann die angegebene Datei samt MIME-Header ausgibst.

Einfacher geht das aber, indem du einfach die Apache access-log nimmst. Da steht alles drin was über den Apache ausgeliefert wurde. Mit Pfad und Dateigröße.

Es gibt schon ein paar Tools mit denen du die access-log auswerten kannst, oder du machst das mit einem eigenen Skript, wenn deine Anforderungen nirgendwo so umgesetzt werden.

Die access-log kannst du aber nur für den Server klomplett oder für den VirtualHost konfigurieren, also leider nicht ein extra log für ein bestimmtes Verzeichnis. Du musst also schon Zugriff auf die Log-Datei oder die Server-Config haben, wenn das dein eigener bzw ein root-Server ist ist das aber kein Problem.

wenn du dir arbeit sparen willst nimm einfach GoogleAnalytics

Ich denke er will komplett jeden Traffic? Dann kann er GA vergessen ;) Ich hab Javascript nur da an wo es benötigt wird un GA wird nie freigegeben ;) Meinen Traffic würde er damit nicht sehen.

Bearbeitet von JesterDay

  • 3 Wochen später...

Ich würde dir vnstat empfehlen, sehr klein und leicht zu installieren, einmal aufgerufen mit der auszuwertenden Netzwerkkarte läuft das Programm alle 5min. als Cron und speichert die Werte, gibt dieses auch sehr schlank aus. Kann man dann einfach per php system() ausführen und das Ergebnis abgreifen und aufhübschen.

vnstat fiel auch unter meine aussage "halbes dutzend tools".

danke Nobse, hab das nach langer zeit wieder gefunden :)

und damit hatte ich dazumals den traffic einfach in .html-file gepiped.

s'Amstel

einmal aufgerufen mit der auszuwertenden Netzwerkkarte

Das zählt dann aber auch den ssh Traffic, FTP Up/Downloads, Mailverkehr (u.U.), Backups (wenn die auf einen anderen Server gelegt werden) etc. Oder seh ich das falsch?

Das zählt dann aber auch den ssh Traffic, FTP Up/Downloads, Mailverkehr (u.U.), Backups (wenn die auf einen anderen Server gelegt werden) etc. Oder seh ich das falsch?

Stimmt schon, er schreibt ja auch in seinem ersten Post "alles was über die Internetleitung geht". Achso, ab einem Verzeichnis, hmm, ignoriert meinen Post. ;-)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.