Skip to content

S9Y: Wieviele Subscriber hab' ich eigentlich?

Ich bin Neugierig. Es liegt wohl in der Natur des Menschen wenn man Selbstbestätigung sucht. Neben der Auswertung der Lesezugriffe auf die Artikel interessiert mich deswegen auch, wieviele Leser mein Blog für so interessant halten, dass sie es in einem RSS Reader aufnehmen. Da ich die Blog Software (Serendipity) selbst betreibe und keinen Feed Management Service wie Feedburner für die Verwaltung von RSS und Atom Abonomenten verwende muss ich mir selbst helfen. In meinen Fall höchst ineffiziente Unix Befehle. Ich begnüge mich mit dem einfachen Ansatz: innerhalb eines Tages sind alle Zugriffe von der selben IP auf den selben XML Feed ein Subscriber. Das ist nicht ganz exakt, da unter Umständen mehrere Leser hinter einer IP sitzen oder aber einzelne Leser zwei oder mehr IP-Addressen am Tag haben. Ich habs mir mal einfach gemacht und gehe davon aus, dass die beiden Trends sich gegenseitig aufheben. Wichtig ist nur, dass man nicht mehr als einen Tag betrachtet. Daneben gibt es noch Subscriber die ich so nicht erwische, weil die etwa Bloglines oder vergleichbares nutzen. Dies bekomme ich dann über die Referer mit. Folgender Befehl sucht alle Zugriffe auf RSS und Atom Files zusammen, und gibt davon die IP Addresse, das Datum und die zugegriffene Addresse aus. Ich gehe hier von Apache Logfiles aus, die bei einer S9Y Installation mit folgendem Format geschrieben werden: 84.163.26.152 - - [11/Sep/2005:03:38:23 +0200] "GET /rss.php?version=2.0 HTTP/1.1" 200 45677 "-" "Mozilla/5.0 (Sage)" Folgender Befehl: # egrep '(GET /feeds|GET /rss.php)' /var/log/httpd/itblog.eckenfels.net-access_log | awk -F'[ :]' '{print $1" "$4" "$10}' | sort | uniq -c > /tmp/blog.log Erzeugt daraus Zeilen der Art: 10 84.163.26.152 [11/Sep/2005 /rss.php?version=2.0
Damit erhalte ich dann eine Zeile pro IP und Tag und Feed. In der ersten Spalte zusätzlich die Anzahl der gleichartigen Zugriffe innerhalb des jeweiligen Tages (im Beispiel sind es 10). Ich entferne daraus alle Zeilen bei der nur ein Zugriff von einer IP pro Tag erfolgte (das sind vermutlich Bots und RSS Scans): # egrep -v "^ +1 " /tmp/blog.log > /tmp/blog-filtered.log # wc -l /tmp/blog.log /tmp/blog-filtered.log 9348 /tmp/blog.log 5879 /tmp/blog-filtered.log Und dann kann man das ganze nach Tagen analysieren. Auch dies geht noch mit Umsortierung und Spalten-Auswahl mittels awk, ich habe es mir jedoch einfach gemacht. (Nicht immer sind Algorithmen mit quadratischer Laufzeit schlecht, besonders dann nicht wenn der Entwickler mehr Zeit braucht als das Programm.) # for i in 01 02 03 04 05 06 07 08 09 10; > do echo $i/Sep `grep $i/Sep/2005 /tmp/blog-filtered.log | wc -l`; > done 01/Sep 61 02/Sep 40 03/Sep 52 04/Sep 38 05/Sep 50 06/Sep 38 07/Sep 40 08/Sep 43 09/Sep 39 10/Sep 43 Damit komme ich bei mir auf 40-60 Subscriber pro Tag. Eventuell kann man das ganze noch in schicke Trend Grafiken verpacken. Mit ein wenig Perl und assoziativen Arrays sollte das einfacher sein als mit Shell Scripten. Weitere Auswertungen sind z.B. die Überwachung von RSS-Readern die es mit dem Polling übertreiben. Meine Top-3 Poller Gestern: grep 10/Sep /tmp/blog-filtered.log | sort -n | tail -3 20 64.78.155.100 [10/Sep/2005 /feeds/index.rss2 24 81.169.156.174 [10/Sep/2005 /rss.php?version=2.0 39 84.163.189.82 [10/Sep/2005 /rss.php?version=1.0

Trackbacks

No Trackbacks

Comments

Display comments as Linear | Threaded

Fred on :

Das ist nicht nur ein bisschen unexakt, sondern wahrscheinlich sogar sehr ;) Ich für meinen Teil sitze hinter Bloglines und Services wie dieser dürften im Idealfall einmal pollen und die Daten dann an x User verteilen. Du kommst also mit deiner Berechnung an einen Wert, den du als untere Schranke deiner Abonnenten bezeichnen kannst. Wegen dynamischer IPs beim erneuten Login (ISDN-User oder so) dürfte das zwar auch noch ein bisschen verzerrt sein, aber ich schätze mal, das mittelt sich heraus.

Bernd Eckenfels on :

Ja, hatte ich ja geschrieben dass ich Bloglines und andere Aggregatoren so nicht mit bekomme. Allerdings sagt mir Bloglines dass es nur 5 Subscriptions für das IT-Blog gibt. Gibts noch weitere Aggregatoren die relevant sind und bei denen ich die Info abfragen kann? Gruss Bernd

Add Comment

BBCode format allowed
Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA