Таблица YQL для журналов доступа Apache - PullRequest
0 голосов
/ 24 июня 2009

YQL SHOW TABLES имеет CSV и HTML. А как насчет таблицы для журналов доступа Apache?

Ответы [ 3 ]

1 голос
/ 01 сентября 2009

Существует таблица регулярных выражений

http://developer.yahoo.com/yql/console/?q=select%20*%20from%20regex%20where%20expression%20%3D%20%22(.*)%22%20and%20text%3D%22test%22&env=http%3A%2F%2Fdatatables.org%2Falltables.env

Если у вас есть регулярное выражение для вашего формата журнала, вы можете использовать эту таблицу для его анализа.

0 голосов
/ 11 июля 2010

Вот начало общей таблицы анализа журнала. Код «как есть» будет слепо разбиваться на пустые места, что не совсем точно, но это только начало. Возможно, вы захотите передать URL файла журнала, разделить записи на новую строку, а затем проанализировать каждую строку.

<?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>

Вы можете запустить его так: используйте "http://{your domain} /table.xml" в качестве таблицы; выбрать * из таблицы

Затем вы можете расширить поиск географических данных по ip: используйте "http://{your domain} /table.xml" в качестве таблицы; выберите * из pidgets.geoip, где ip in (выберите IP из таблицы)

0 голосов
/ 29 июня 2009

Журналы Apache на самом деле имеют настраиваемый формат, поэтому я предполагаю, что вы имеете в виду общий формат журнала или одно из значений по умолчанию. Если мы добавим что-то подобное, это, скорее всего, будет с помощью читателя строк на основе регулярных выражений, который вы затем сможете применить к журналам Apache. Спасибо за предложение.

...