Skip to content

Latest commit

 

History

History
63 lines (55 loc) · 3.93 KB

README_RU.md

File metadata and controls

63 lines (55 loc) · 3.93 KB

Интеграция с Logs API

Данный скрипт реализует функциональность интеграции Logs API от Яндекс.Метрики с ClickHouse.

По вопросам работы скрипта можно обращаться в комментариях на GitHub или по e-mail: [email protected].

Требования

Скрипт написан на Python 2.7, в нем используются библиотека requests, которую можно установить с помощью менеджера пакетов pip

pip install requests

Кроме того, для работы необходима СУБД ClickHouse, инструкцию по ее установке можно найти на официальном сайте.

Настройка

Прежде всего, необходимо заполнить config

{
	"token" : "<your_token>", // токен для доступа к API Яндекс.Метрики
	"counter_id": "<your_counter_id>", // номер счетчика
	"visits_fields": [ // список параметров визитов
	    "ym:s:counterID",
	    "ym:s:dateTime",
	    "ym:s:date",
	    "ym:s:firstPartyCookie"
	],
	"hits_fields": [ // список параметров хитов
	    "ym:pv:counterID",
	    "ym:pv:dateTime",
	    "ym:pv:date",
	    "ym:pv:firstPartyCookie"
	],
	"log_level": "INFO", // уровень логирования
	"retries": 1, // количество попыток перезапустить скрипт в случае ошибки
	"retries_delay": 60, // перерыв между попытками
	"clickhouse": {
		"host": "http://localhost:8123", // адрес поднятого инстанса ClickHouse
		"user": "", // логин для доступа к БД
		"password": "", // пароль для доступа в БД
		"visits_table": "visits_all", // имя таблицы для хранения визитов
		"hits_table": "hits_all", // имя таблицы для хранения хитов
		"database": "default" // имя базы данных для таблиц
	}
}

При первом запуске скрипт создает необходимые таблицы в базе данных согласно заданным спискам полей. Поэтому при изменении списка в конфиге нужно либо полностью удалить таблицу и скачать данные заново, либо вручную добавить нужные колонки в базе данных с помощью команды ALTER TABLE.

Запуск программы

При запуске программы необходимо указать источник данных (хиты или визиты) с помощью опции -source.

Скрипт умеет работать в нескольких режимах:

  • history - скрипт выгрузит все данные с даты создания счетчика Метрики до позавчерашнего дня
  • regular - в таком режиме будут выгружены данные за позавчера (рекомендуется использовать такой режим для регулярных выгрузок)
  • regular_early - будут получены данные за вчерашний день

Пример запуска программы:

python metrica_logs_api.py -mode history -source visits

Кроме того, есть возможность получить данные за конкретный промежуток времени:

python metrica_logs_api.py -source hits -start_date 2016-10-10 -end_date 2016-10-18