Graphite / Graphite: Configuring Carbon

← →
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Настройка Carbon
================

nipman 17.02.14 в 07:53

0

Файлы настроек Carbon живут в ``/opt/graphite/conf/``. При первоначальной настройке файлы отсутствуют, но для каждого будет ``.conf.example``. Просто скопируйте файлы с примерами, предварительно удалив расширение .example и внеся измененя.

nipman 17.02.14 в 07:55

0

carbon.conf
----------------

nipman 17.02.14 в 13:33

0

Это главный конфигурационный файл, описывающий параметры каждого демона Carbon.

nipman 17.02.14 в 07:56

0

**Каждный параметр в этом файле имеет описание в виде комментариев** Параметры разбиты на группы для каждого демона - за настройку carbone-cache отвечает секция ``[cache]``, за carbon-relay - ``[relay]``, а carbon-aggregator - ``[aggregator]``. При первоначально настройке вам пока понадобится только секция ``[cache]``.

nipman 17.02.14 в 08:00

0

.. TIP::
Допускается запуск carbon-cache и carbon-relay на одной машине. Вы можете поменять местами номера портов `LINE_RECEIVER_PORT`` и ``PICKLE_RECEIVER_PORT`` в секциях ``[cache]`` и ``[relay]`` соответственно, что бы избежать перенастройки агентов. Задавая параметр ``DESTINATIONS`` секции ``[relay]`` следует учитывать какое значение было присвоено параметру ``PICKLE_RECEIVER_PORT`` секции ``[cache]``.

nipman 17.02.14 в 08:03

0

storage-schemas.conf
--------------------

nipman 17.02.14 в 08:09

0

Данный конфигурационный файл управляет коэффициентами детализации метрик. В нем задается соответствие шаблонов метрик частоте и длительности хранения точек, с которыми будет работать whisper.

nipman 17.02.14 в 08:12

0

Важные замечания

nipman 17.02.14 в 08:58

0

* В файле могут быть несколько секций.
* Параметры секций применяют сверхку (с первого) вниз (до последнего).
* Шаблоны представляют из себя регулярные выражения, в отличии от символов замены в URL API.
* Первый шаблон соответствует имени метрики.
* Детализация задается при первой передаче метрики.
* Изменение этого файла не повлияет на уже записанные даныне в .wsp файлах. Используйте whisper-resize.py что бы внести изменения.

nipman 17.02.14 в 09:06

0

Правило задается тремя строками:

nipman 17.02.14 в 09:06

0

* имя, задается внутри квадратных скобок;
* регулярное выражение - после "pattern=";
* строка коэффициента детализации - после "retentions=".

nipman 17.02.14 в 09:08

0

В строка детализации могут быть задаваны сразу несколько значений ``частота:срок хранения``, разделяемых запятой.

nipman 17.02.14 в 09:11

0

Частоты и сроки хранения могут включать суффиксы:

nipman 17.02.14 в 09:12

0

* s - сукенда,
* m - минута,
* h - час,
* d - день,
* y - год.

nipman 17.02.14 в 09:12

0

Ниже представлен простой пример настройки детализации:

nipman 17.02.14 в 09:12

0

.. code-block:: none

nipman 17.02.14 в 13:33

0

[garbage_collection]
pattern = garbageCollections$
retentions = 10s:14d

nipman 17.02.14 в 13:33

0

Имя ``[garbage_collection]`` служит в основном для аудита и будет отражено в ``creates.log`` при создании заданной метрики.

nipman 17.02.14 в 09:14

0

Регулярное выражение соответствует метрике заканчивающейся на ``garbageCollections``. Например ``com.acmeCorp.instance01.jvm.memory.garbageCollections`` сработает, а ``com.acmeCorp.instance01.jvm.memory.garbageCollections.full`` нет.

nipman 17.02.14 в 09:17

0

Строка задает соответствие каждой точки 10 секундам и сроку хранения точек а течение 14 дней.

nipman 17.02.14 в 09:19

0

Вот пример более сложной настройки детализации.

nipman 17.02.14 в 09:20

0

.. code-block:: none

nipman 17.02.14 в 13:34

0

[apache_busyWorkers]
pattern = ^servers\.www.*\.workers\.busyWorkers$
retentions = 15s:7d,1m:21d,15m:5y

nipman 17.02.14 в 13:34

0

Допустим схема именования метрик задана как ``servers.<servername>.<metrics>``. Этот шаблон будет соответствовать серверам с именами начинающимися с 'www', а метрикам завершающимися на '.workers.busyWorkers' (обратите внимание на '\' перед символами '.')

nipman 17.02.14 в 09:24

0

Кроме того, пример содержит несколько уровней детализации. Основное правило - выражения должны задаваться от самых свежих к самым старым, whisper будет тщательно сэмплировать метрики (По имолчанию усредняя) по достижении заданной границы.

nipman 17.02.14 в 09:27

0

Задавая несколько уровней детализации, вы сможете хранить данных за длительный период, экономя на дисковом пространстве и операциях ввода-вывода. Так как whisper усредняет (по-умолчанию) во время семплирования, он получает возможность рассчитывать суммарные значения, выполняя обратный процесс в будущем.

nipman 17.02.14 в 09:35

0

Пример: Вы храните поминутные данные о продажах за год и почасовые за 5 лет. Вам нужно вычислить продажи за 1-е Января прошлого года. Можно получить 24 точки за каждый час, запросить сырые данные. Вероятно это будут числа с плавающей точкой. Вы можете умножить каждое значение на 60 (соотношение между детализированными и недетализированными точками) и получить почасовые продажи.

nipman 17.02.14 в 09:40

0

Помимо описанного виже, в целях сохранения обратной совместимости поддерживается еще устаревший формат - ``секунд на точку:количество точек``

nipman 17.02.14 в 09:43

0

.. code-block:: none

nipman 17.02.14 в 13:34

0

retentions = 60:1440

nipman 17.02.14 в 13:34

0

60 - количество секунд на точку, 1440 - количество хранимых точек. Для работы с этим форматом требуются избыточные и запутанные математические операции, что позволит получить аналогичный результат. Однако, мы не рекомендуем пользоваться этим мехаинизмом.

nipman 17.02.14 в 09:45

0

storage-aggregation.conf
--------------------------------

nipman 17.02.14 в 13:34

0

Данный файл содержит правила агрегации данные для уменьшения детализации. Формат идентичен ``storage-schemas.conf``.
Важные заменания:

nipman 17.02.14 в 09:47

0

* Данный файл опционален. При его отсутствии будут использованы значения по-умолчанию.
* Здесь нет сроки ``retentions``, вместо нее используются ``xFilesFactor`` и ``aggregationMethod``.
* ``xFilesFactor`` - число с плавающей точкой в диапазоне от 0 до 1, задающее долю от предыдущего значения, которую должно иметь следующее отсутствующее значение. По-умолчанию 0.5.
* ``aggregationMethod`` задает метод агрегации значений для достижения следующего уровеня точности. Допустимые методы ``average``, ``sum``, ``min``, ``max``, and ``last``. По-умолчанию ``average``.
* Значения применяют при первой передаче метрики.
* Изменение этого файла не повлияет уже записанные даныне в .wsp файлах. Используйте whisper-set-aggregation-method.py что бы внести изменения.

nipman 17.02.14 в 09:52

0

Пример:

nipman 17.02.14 в 09:56

0

.. code-block:: none

nipman 17.02.14 в 13:34

0

[all_min]
pattern = \.min$
xFilesFactor = 0.1
aggregationMethod = min

nipman 17.02.14 в 13:34

0

Шаблон сработает для любой метрики заканчивающейся символами ``.min``.

nipman 17.02.14 в 09:57

0

``xFilesFactor`` задает минимум 10% слотов предыдущего уровня точности для вычисления средних значений следующего уровня.
``aggregationMethod`` задает использование минимального значения для аггрегации.

nipman 17.02.14 в 09:59

0

Отсутствие значение ``xFilesFactor`` и ``aggregationMethod`` приведет к поведению предусмотренному по умолчанию.

nipman 17.02.14 в 10:00

0

Параметры аггрегации задаются отдельно от параметров точности, потому как первые зависят от типа сбора данных, а вторые от объема и приоритета.

nipman 17.02.14 в 10:03

0

relay-rules.conf
--------------------

nipman 17.02.14 в 13:34

0

Правила рэлеев используются для управлением передачей определенных метрик заданным бэкэндам. Их необходимо задать для работы релеев. Допустимо использование регулярных выражений для определения соответсвтия метрик и серверов.

nipman 17.02.14 в 10:07

0

Пример:

nipman 17.02.14 в 13:34

0

.. code-block:: none

nipman 17.02.14 в 13:35

0

[example]
pattern = ^mydata\.foo\..+
servers = 10.1.2.3, 10.1.2.4:2004, myserver.mydomain.com

nipman 17.02.14 в 13:35

0

Необходмо задать минимум одну строку в качестве парамера по-умолчанию.

nipman 17.02.14 в 10:08

0

aggregation-rules.conf
-----------------------------

nipman 17.02.14 в 13:35

0

Правила аггрегации позволяют группировать метрики по мере их поступления, убирая потребность в sum() в каждой URL. Обратите внимание, что в отличии от предыдущих файлов изменения внесенные в этот файла вступят в силу автоматически. Для обеспечения необходимо запустить сервис carbon-aggregator.

nipman 17.02.14 в 10:13

0
Минутку...

Следующая страница →