Tag: Google

TFP: Google

Auf der LISA Konferenz (Large Installation System Administration) haben die Sysadministratoren von Google erzählt, welche Tools sie im Einsatz haben um die 43.000 Macs zu verwalten. Eine Übersicht findet sich hier: https://code.google.com/p/google-macops/

  • Imaging (Single Monolithic Image for All Users)
    • CanHazImage
    • NetBoot
  • Configuration Management
    • Puppet (http://puppetlabs.com)
    • crankd (https://code.google.com/p/pymacadmin)
    • PlanB (Shell Skript)
  • Package Management
    • TheLuggage (https://github.com/unixorn/luggage)
    • Munki (https://code.google.com/p/munki)
    • Simian (https://code.google.com/p/simian)
  • Security Management
    • Cauliflower Vest (https://code.google.com/p/cauliflowervest/)
  • Monitoring
    • Inventory (no open source tool)
    • Logs (log everything and collect those logs centrally)

Die Google+ Seite ist unter folgender URL erreichbar: http://goo.gl/streSv

Google Webmaster vs. Yandex Webmaster

Im August 2012 schrieb ich hier im Blog das erste Mal, über die EMails von Google bzgl. der Nicht-Erreichbarkeit des Blogs. Es folgten weitere Einträge, ohne das sich an der Erreichbarkeit etwas geändert hat. Selbst der Server wurde gewechselt, jedoch ohne eine Verbesserung.

Bei der Analyse der Apache Access-Logfiles sah ich, das auch die Suchmaschinen Bing, von Microsoft, und Yandex, aus Russland, meine Seite crawlten. Ich fragte mich, ob diese die selben Probleme haben wie der Googlebot und ob sie auch eine Webmaster Zentrale anbieten. Über Google fand ich die entsprechende Toolbox von Bing (http://www.bing.com/toolbox/webmaster) bzw. von Yandex (http://webmaster.yandex.ru/). Ich registrierte ein Konto und implementierte den entsprechenden Verifikations-Code in meinen Meta-Angaben.

Während Bing nichts auffälliges anzeigte, gab es bei Yandex gleich in zwei Fehler-Kategorien eine Häufung. Aufgrund der automatischen Übersetzung durch Google Translate kann der Fehlercode ggf. abweichen.

Ungültige Dokument Format

Ungültige Dokument Format

Mit der falschen Anzahl von Daten

Mit der falschen Anzahl von Daten

Auffällig ist die Auflistung von nur PDF-Dateien. Also probierte ich es selbst einmal aus. Tatsächlich, irgendwas scheint mit der PDF Erweiterung nicht mehr zu funktionieren. Der Chrome-PDF-Viewer zeigt, dass das PDF vollständig geladen wäre, gleichzeitig dreht sich der Spinner im Tab. Wenn dieser nach einiger Zeit aufgehört hat sich zu drehen, ist kein PDF zu sehen.

Rückblickend kann ich mich auch nicht erinnern, wann es für die PDF Erweiterung das letzte Mal ein Update gegeben hat. Daher habe ich es jetzt mal deaktiviert und warte gespannt auf den nächsten Besuch vom Googlebot.

Is My Website Down BugBlog Version

Vor einiger Zeit wurde auf Digital Inspiration (http://www.labnol.org /internet/ website-uptime-monitor/ 21060/) ein Sheet für Google Spreadsheet veröffentlicht um zu überwachen ob eine bestimmte Webseite online ist.

Das Skript, hinter dem Sheet, schreibt den Status, abhängig von der Geschwindigkeit des Triggers, kontinuierlich in das Sheet. Da die Sheets nicht unendlich sind, kommt es nach ca. 19500 Zeilen zu einer Exception.

Daneben gab es noch ein paar weitere Punkte, die ich angepasst habe. Nachfolgend das Skript, im Sheet müssen keine Anpassungen gemacht werden, da die selben Zellen verwendet werden.

[PHP]
/** Monitor your Site’s Uptime **/

/** By Amit Agarwal 26/03/2012 **/
/** http://labnol.org/?p=33232 **/

/** Extended by: DeBugger **/
/** http://www.BugBlog.de **/

function isMyBugBlogDown()
{
var url = SpreadsheetApp.getActiveSheet().getRange(“E3”).getValue();

if (!ScriptProperties.getProperty(“status”)) {
ScriptProperties.setProperty(“status”, 200);
}

var response, error;

try {
response = UrlFetchApp.fetch(url);
} catch(error)
{
insertData(error, -1, “Website down”, 1);
return;
}

var code = response.getResponseCode();

if (code == 200){
insertData(“Up”, code, “Website up”, 0);
} else {
insertData(response.getContent()[0], code, “Website down”, 1);
}
}

function insertData(error, code, msg, mail) {
if (ScriptProperties.getProperty(“status”) == code){
}

var sheet = SpreadsheetApp.getActiveSheet();
var email = sheet.getRange(“E5”).getValue();

/**
/* Sheet is not infinite
var row = sheet.getLastRow() + 1;
**/

var row = sheet.getLastRow();
var lastValue = sheet.getRange(row,3).getValue();

/**
A Warning, if need the data we should care about!
**/
if(row > 19000){
MailApp.sendEmail(email, “Table almost full: ” + row, “Table almost full: ” + row);
}

if(row > 19500){
sheet.deleteRows(8, row);
MailApp.sendEmail(email, “Table cleared! Rows deleted: ” + (row-8), “Table cleared! Rows deleted: ” + (row-8));
row = 8;
}

if(lastValue != code){
row = row + 1;
}

/**
Always Wintertime / Normaltime.
**/

sheet.getRange(row,1).setValue(Utilities.formatDate(new Date(), “GMT+1”, “dd.MM.yyyy HH:mm:ss”));
sheet.getRange(row,2).setValue(error);
sheet.getRange(row,3).setValue(code);

ScriptProperties.setProperty(“status”, code);

if(mail == 1){
MailApp.sendEmail(email, msg, error);
}
}
[/PHP]

The requested URL is too large to process.

Eine interessante Meldung, vor allem weil es dem Chrome Browser handelt und bei der Webseite die Google Webmaster Sitemap, bei dem Versuch meine Nachrichten bzgl. den Crawling-Fehlern, zu löschen. Lustig auch das Title Tag “Error 414 (Request-URI Too Large)!!1” fehlt nur noch das hinten “elf” steht. Nach einer Überprüfung (www.zeichenzähler.de) stellte sich heraus das die URL tatsächlich 3130 Zeichen enthält. In einer Antwort auf Stack Overflow (http://stackoverflow.com/questions/6955302/http-error-414-the-request-url-is-too-long) wird die praktikable Länge mit 2000 Zeichen angegeben.

Der Wikipedia Artikel Query String (http://en.wikipedia.org/wiki/Query_string) benennt explizit den Internet Explorer und das dieser nur maximal 2083 Zeichen in der URL versteht. Ich bin mir nicht sicher, warum die URL in meinem Fall so lang ist bzw. die Daten nicht mit POST übertragen werden. Trotz der Fehlermeldung wurden meine Nachrichten gelöscht, was ich jetzt unbedingt erwartet hätte.

Google Webmaster Sitemap: Gekürzte Antwort Teil 2

Wie angekündigt, habe ich meine Seite nochmals mit wGet gespidert, zunächst nach der selben Methode wie im Artikel “Googlebot can’t access your site” beschrieben. Um das Logfile zu minimieren habe ich zusätzlich die Option -A html hinzugefügt, damit nur html Dateien und keine Bilder, JavaScript und Anderes herunterladen geladen wird. Im Logfile konnte ich keine Auffälligkeiten entdecken.

Als nächstes schrieb ich zwei kurze PHP-Skripte:

[PHP]
// file: start.php

$link = mysql_connect(DB_HOST, DB_NAME, DB_PASSWORD);
if (!$link) {
die(‘Could not connect: ‘ . mysql_error());
}

$db_selected = mysql_select_db(DB_NAME, $link);

mysql_query(“INSERT into statistik (ip, token, time1, script)
VALUES (‘”.$_SERVER[‘REMOTE_ADDR’].”‘, ‘”.$_SERVER[‘REQUEST_TIME’].”‘,'”.microtime().”‘,'”.mysql_real_escape_string($_SERVER[‘REQUEST_URI’]).”‘ );”);

mysql_close($link);
[/PHP]

und passend dazu auch

[PHP]
// file: stop.php

$link = mysql_connect(DB_HOST, DB_NAME, DB_PASSWORD);
if (!$link) {
die(‘Could not connect: ‘ . mysql_error());
}

$db_selected = mysql_select_db(DB_NAME, $link);

$str = “UPDATE statistik SET time2 = ‘”.microtime().”‘
WHERE ip = ‘”.$_SERVER[‘REMOTE_ADDR’].”‘ AND token = ‘”.$_SERVER[‘REQUEST_TIME’].”‘ AND script = ‘”.mysql_real_escape_string($_SERVER[‘REQUEST_URI’]).”‘;”;

mysql_query($str);

mysql_close($link);
[/PHP]

diese wurden direkt in die index.php eingebunden:

[PHP]
// file: index.php

define(‘WP_USE_THEMES’, true);

require(‘./start.php’);

/** Loads the WordPress Environment and Template */
require(‘./wp-blog-header.php’);

require_once(‘./stop.php’);
[/PHP]

Zunächst vermutete ich, das es am Favicon.ico liegen könnte

[PHP]
IP Token time1 time2 Script
6.23.4.8 1352762248 0.29693200 1352762248 0.43673200 1352762248 /5/google-webmaster-sitemap-gekurzte-antwort/2012/11/11/
6.23.4.8 1352762251 0.13867900 1352762251 /favicon.ico
6.23.4.8 1352762330 0.97333000 1352762330 0.10298000 1352762331 /5/google-webmaster-sitemap-gekurzte-antwort/2012/11/11/
6.23.4.8 1352762337 0.54685600 1352762337 /favicon.ico
[/PHP]

Also bastelte ich eines, es kam aber weiterhin zu Datenbank-Einträgen bei denen keine “time2” angegeben war.

Erst nach dem ich den WordPress Quick Cache abgeschaltet hatte, wurde auch immer eine time2 eingetragen. Mal schauen was Google bzw. Webmaster Sitemap Tools beim nächsten Crawlen sagen.