Баки є невеликий веб-сервер для збору та перекладу показників для графіту і NBSP ;. Він може ток зібрати метричні дані з CollectD демонів і від клієнтів StatsD.
Установка
Ви можете встановити з easy_install або PIP Відповідно до звичайної ментаторамі
І NBSP; easy_install Баки
# Або ж
пункт встановити Баки
Після установки, ви можете запустити Баки як:
Баки
За замовчуванням, Баки буде відкрити сокет CollectD UDP на 127.0.0.1:25826, StatsD роз'єм на 127.0.0.1:8125, а також при спробі підключення до локальної Графіт (Carbon) демона на 127.0.0.1:2003.
Ці є необов'язковими, як показано нижче. Ви також можете відключити сервери CollectD або StatsD повністю, якщо вам так хочеться.
Запуск Баки для реального
Проникливий спостерігач помітить, що Баки не має прапори для демонізації. Це цілком за призначенням. Рекомендований спосіб для запуску Баки виробництва здійснюється через runit. Там це служба каталогів приклад у вихідному сховище Баки-х років.
Параметри командного рядка
Параметри командного рядка зводиться до контролю параметрів мережі. Якщо ви хочете налаштувати деякі з більш складних розробок вам потрібно використовувати конфігураційний файл. Ось Баки -h вихід:
Використання: main.py [опції] [CONFIG_FILE]
Комплектація:
І NBSP; - collectd-IP = IP IP-адресу, щоб зв'язати для сокета CollectD UDP
І NBSP; [127.0.0.1]
І NBSP; - collectd-порт = INT Порт для прив'язки до розетки CollectD UDP [25826]
І NBSP; - collectd-типи = Фото
І NBSP; Шлях до файлу types.db collectd
І NBSP; - відключити-collectd Відключити сервер CollectD UDP
І NBSP; - statsd-IP = IP IP-адресу, щоб зв'язати для сокета StatsD UDP
І NBSP; [127.0.0.1]
І NBSP; - statsd-порт = INT Порт для прив'язки до розетки StatsD UDP [8125]
І NBSP; - відключити-statsd Відключити сервер StatsD
І NBSP; - графіт-IP = IP IP-адреса / сервер углеграфіт [127.0.0.1]
І NBSP; - графіт-порт = INT Порт / сервер углеграфіт [2003]
І NBSP; - повний слід Показати повний помилкою, якщо конфігураційний файл не вдається завантажити
І NBSP; - Версія шоу-програма в номер версії і вийти
І NBSP; -h, --help показати цю довідку і вийти
Параметри Файл конфігурації
Файл конфігурації звичайний файл Python, який визначає кількість змінних. Більшість опцій командного рядка також може бути вказаний в цьому файлі (видалити "-" префікс і замінити "-" з "_"), але якщо це зазначено в обох місцях, командний рядок має пріоритет. Налаштування за замовчуванням файлі конфігурації:
# Префікс для collectd метричних імен
НЕ collectd_conv_prefix = Немає
# Postfix для collectd метричних імен
НЕ collectd_conv_postfix = Немає
# Замінити крапки (.) В метричних імен з цим значенням
collectd_replace = "_"
# Якщо шлях має однакову повторні компоненти, колапс
# Їх до одного екземпляра. Тобто, a.b.b.c стає a.b.c
collectd_strip_duplicates = True
# Ці імена хостів будуть видалені з хостів, що
# Приймаються. Тобто, якщо "foo.bar.cloudant.com" входить до
# І "cloudant.com" знаходиться в списку, то в результаті
# Ім'я хоста буде "foo.bar".
collectd_host_trim = []
# CollectD показники мають бути ім'я генерується для
# Використання графіту. Тут ви можете зареєструватися спеціальна
# Оброблювач для метрик на основі плагіна CollectD
# Ім'я.
#
# Наприклад, плагін CollectD CPU закінчується
# Метричних імена, як "host.cpu.0.cpu.idle", щоб видалити
# Другий примірник процесора ми можемо зареєструвати плагін
# Для отримання назви.
#
# Ключ диктує має бути ім'я плагіна CollectD
# І значення має бути викликаним який приймає
# Єдиний аргумент і повертає список рядків.
collectd_converters = {}
# Можна відключити загальносистемні пошук
# Конвертор плагінів.
# Перетворювачі.
collectd_use_entry_points = True
# Кількість секунд, демон StatsD повинні
# Очікувати перед промиванням значення.
statsd_flush_time = 10
Налаштування CollectD
Ви повинні тільки додати щось на зразок цього на ваш collectd.conf:
LoadPlugin "мережа"
І NBSP; сервер "127.0.0.1" "25826"
Очевидно, що ви хочете, щоб співпасти з IP-адреси та порти, і переконайтеся, що ваші брандмауера налаштовані, щоб дозволити пакети UDP через.
Налаштування StatsD
Просто наведіть ваших клієнтів StatsD в Баки в IP / Port, і ви повинні бути добре йти.
записка по перетворювачів CollectD
CollectD показники не зовсім прямо перекладні в графіт метричних імена. За замовчуванням перекладач намагається зробити краще припущення, але це може призвести до трохи менше, ніж красиві графіту дерев.
З цієї причини, Баки має настроюються конвертери. Вони сконструйовані з ім'я модуля CollectD. Вихідні дані для таких функцій уявлення метрики CollectD, який виглядає як наприклад:
{
І NBSP; «господар»: «toroid.local ',
І NBSP; 'інтервал': 10,0,
І NBSP; 'плагін': 'пам'яті',
І NBSP; 'plugin_instance': '',
І NBSP; 'час': +1320970329,175534,
І NBSP; 'тип': 'пам'яті',
І NBSP; 'type_instance': 'неактивні »,
І NBSP; 'значення': +823009280,0,
І NBSP; 'value_name': 'значення',
І NBSP; 'value_type': 1
}
Результатом цієї функції має бути списком рядків, які представляють частину метрики ім'я графіту. Наприклад, якщо перетворювач повертається ["Foo", "бар"], остаточне ім'я метрики в кінцевому підсумку, як: префікс $ $ hostname.foo.bar $ Postfix ...
Приклад вбудовані Конвертор виглядає такою:
# Це може бути, як ви визначаєте перетворювач в
# Ваш конфігураційний файл
клас MemoryConverter (об'єкт):
І NBSP; ПРІОРИТЕТ = 0
І NBSP; Def __call __ (сам, зразок):
І NBSP; повернутися ["пам'яті", зразка ["type_instance"]]
collectd_converters = [MemoryConverter ()]
Колекціонери також мати уявлення про пріоритетному порядку для вирішення конфліктів. Це просто власність на відзивної імені «Пріоритет» і великих пріоритетів є кращими. Я не думаю, це необхідно буде використовувати дуже часто, але його там на всякий випадок.
Перетворювачі можуть бути або оголошених та / або імпортувати в додатковому файлі конфігурації, або вони можуть бути autodiscovered за допомогою точок входу. Точка входу, який шукали це "bucky.collectd.converters". . Назва точки входу має бути ім'я плагіна CollectD
Вимоги
- Python
Коментар не знайдено