Domanda

YQL SHOW TABLES ha CSV e HTML . Che dire di una tabella per i log di accesso di Apache?

È stato utile?

Altri suggerimenti

I registri di Apache hanno in realtà un formato personalizzabile, quindi presumo che tu intenda il formato di registro comune o uno dei valori predefiniti. Se aggiungiamo qualcosa del genere, sarà probabilmente con un lettore di linee basato su regex che potresti applicare ai log di Apache. Grazie per il suggerimento.

Ecco l'inizio di una tabella di analisi dei log comune. Il codice così com'è verrà diviso ciecamente su spazi vuoti, il che non è preciso, ma è un inizio. Probabilmente vorrai passare l'URL del file di registro, dividere le voci su newline e quindi analizzare ogni riga.

<?xml version="1.0" encoding="UTF-8"?>
<table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">
    <meta>
        <author></author>
        <sampleQuery>select * from {table}</sampleQuery>
    </meta>
    <bindings>
        <select itemPath="" produces="XML">
            <inputs>
                <key id="url" type="xs:string" paramType="variable"/>
            </inputs>
            <execute><![CDATA[

                    //http://en.wikipedia.org/wiki/Common_Log_Format
            var entry = '208.240.243.170 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326';

            var names = ['IP', 'RFC 1413', 'userid', 'date', 'request', 'status', 'size'];
            var values = entry.split(' ');

            var resp = {};

            for (var i in names) {
                var name = names[i];
                resp[name] = values[i];
            }

            response.object = resp;

      ]]></execute>
        </select>
    </bindings>
</table>

Puoi eseguirlo in questo modo: usa " http: // {il tuo dominio} /table.xml" come tavolo; seleziona * dalla tabella

È quindi possibile estenderlo cercare i dati geografici tramite ip: usa " http: // {il tuo dominio} /table.xml" come tavolo; seleziona * da pidgets.geoip dove ip (seleziona IP dalla tabella)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top