Spec-Zone.ru › OpenTSDB

uid

Утилита UID предоставляет различные функции для поиска или изменения информации в таблице tsdb-uid. Это включает назначение UID для метрик, имен тегов и значений тегов, а также метаданных UID, метаданных временных рядов и определений или данных дерева.

Используйте утилиту UID с командной строкой:

uid <subcommands> [arguments]

Общие параметры командной строки

Параметры, специфичные для утилиты UID, включают:

Поиск

Команда поиска является по умолчанию для uid и используется для поиска UID, назначенного имени, или имени, назначенного UID для заданного типа.

Формат команды

<kind> <name>
<kind> <UID>

Пример команды

./tsdb uid tagk host

Пример ответа

tagk host: [0, 0, 1]

grep

Подкоманда grep выполняет поиск по регулярному выражению для заданного типа UID и возвращает список всех имен UID, которые соответствуют выражению. Поля, необходимые для команды grep, включают:

Имя Тип данных Описание По умолчанию Пример
kind Строка Тип UID для поиска. Должен быть одним из metrics, tagk или tagv tagk
expression Строка Регулярное выражение для поиска disk.*write

Формат команды

grep <kind> '<expression>'

Пример команды

./tsdb uid grep metrics 'disk.*write'

Пример ответа

metrics iostat.disk.msec_write: [0, 3, -67]
metrics iostat.disk.write_merged: [0, 3, -69]
metrics iostat.disk.write_requests: [0, 3, -70]
metrics iostat.disk.write_sectors: [0, 3, -68]

assign

Эта подкоманда используется для назначения идентификаторов новым уникальным именам для метрик, имен тегов или значений тегов. Укажите список одного или нескольких значений для назначения UID, и список назначений будет возвращен.

Имя Тип данных Описание Пример
kind Строка Тип UID, который представляют имена. Должен быть одним из metrics, tagk или tagv tagk
name Строка Одно или несколько имен для назначения UID. Имена не должны быть в кавычках и не могут содержать пробелы. owner

Формат команды

assign <kind> <name> [<name>...]

Пример команды

./tsdb uid assign metrics disk.d0 disk.d1 disk.d2 disk.d3

Пример ответа

rename

Изменяет имя уже назначенного UID. Если UID данного типа не существует, будет возвращено сообщение об ошибке.

Примечание

После изменения имени UID необходимо очистить кэш (см. /api/dropcaches) или перезапустить все TSD для применения изменений. TSD не перезагружают карты UID периодически.

Имя Тип данных Описание Пример
kind Строка Тип UID, который представляет имя. Должен быть одним из metrics, tagk или tagv tagk
name Строка Существующее имя UID owner
newname Строка Новое имя UID server_owner

Формат команды

rename <kind> <name> <newname>

Пример команды

./tsdb uid rename metrics disk.d0 disk.d0.bytes_read

delete

Удаляет отображение UID из таблицы tsdb-uid. Убедитесь, что все источники больше не записывают данные, используя UID, и что прошло достаточно времени, чтобы пользователи не запрашивали данные, использующие UID.

Примечание

После удаления UID он все еще может оставаться в кэшах работающих серверов TSD. Убедитесь, что очистили их кэши после удаления записи.

Предупреждение

Удаление UID не удалит подлежащие данные, связанные с UID (мы работаем над этим). Для метрик это безопасно, это не повлияет на запросы. Но для имен и значений тегов, если запрос сканирует данные, содержащие старый UID, запрос завершится ошибкой, потому что он больше не может найти сопоставление имени.

Имя Тип данных Описание Пример
kind Строка Тип UID, который представляет имя. Должен быть одним из metrics, tagk или tagv tagk
name Строка Существующее имя UID owner

Формат команды

delete <kind> <name>

Пример команды

./tsdb uid delete disk.d0

fsck

Команда UID FSCK проверит всю таблицу UID на наличие ошибок, связанных с именами и отображениями UID. По умолчанию запуск будет сканировать каждый столбец в таблице и регистрировать любые обнаруженные ошибки. В версии 2.1 можно исправить ошибки в таблице, передав флаг «fix». Объекты UIDMeta пропускаются во время сканирования. Возможные ошибки включают:

Ошибка Описание Исправление
Максимальный ID для метрик — 42, но найдено только 41 запись. Возможно, 1 ID был удалён? Это указывает на то, что один или несколько UID не использовались для сопоставления записей. Если UID был удалён, это нормально. Если UID не удалялись, это может указывать на неиспользуемые UID из-за автоматического назначения серверами TSD, когда данные поступали слишком быстро. Попробуйте назначать UID заранее по возможности. Исправление не требуется
Найден ID 42 для метрик, но максимальный ID — только 41! Будущие ID могут быть двойными! Если это происходит, обычно это связано с повреждением и указывает на то, что строка максимального ID не была обновлена должным образом. Установите строку максимального ID на максимальное обнаруженное значение
Неверный максимальный ID для метрик: должен быть 8 байт Указывает на повреждение строки максимального ID. Пока нет исправления.
Отсутствует обратное отображение для прямого отображения метрик: foo -> 000001 Это может произойти, если сервер TSD упал до записи обратного отображения, и это будет препятствовать выполнению запросов к временным рядам, использующим UID, поскольку они не смогут найти имя. Восстановить отсутствующее обратное отображение.
Прямое отображение метрик bar -> 000001 отличается от обратного отображения: 000001 -> foo Обратное отображение указывает на другое имя, чем прямое отображение, и это случается редко. Оно будет связано с другим сообщением. Зависит от второго сообщения
Несогласованное прямое отображение метрик bar -> 000001 против bar -> foo / foo -> 000001 При несовпадении прямого/обратного отображения возможно, что UID был назначен нескольким именам одного типа. Если это происходит, то данные для двух разных имён были записаны в один и тот же временной ряд, и эти данные фактически повреждены. Исправление заключается в удалении прямых отображений для всех имен, которые сопоставляются с одним UID. Затем UID присваивается новое имя, которое представляет собой объединение предыдущих имён через точку с префиксом «fsck». Например, в приведённом выше примере новое имя будет «fsck.bar.foo». Это имя может быть использовано для доступа к данным из повреждённого временного ряда. При записи данных для ошибочных имён в следующий раз каждому из них будет назначен новый UID, и будут созданы новые временные ряды.
Дублирующее прямое отображение метрик bar -> 000002 и null -> foo В этом случае UID использовался не более одного раза, но обратное отображение было неправильным. Обратное отображение будет восстановлено, в этом случае: 000002 -> bar
Отсутствует обратное отображение метрик bar -> 000002 Найдено обратное отображение без прямого отображения. UID может быть удалён. Удалить обратное отображение
Несогласованное обратное отображение метрик 000003 -> foo против 000001 -> foo / foo -> 000001 Если сирота обратного отображения указывает на решенный прямое отображение, возникает эта ошибка. Удалить обратное отображение

Параметры

  • fix - Попытка исправить ошибки, описанные в таблице выше
  • delete_unknown - Удаляет любые столбцы в таблице UID, которые не принадлежат OpenTSDB

Формат команды

fsck [fix] [delete_unknown]

Пример команды

./tsdb uid fsck fix

Пример ответа

INFO  [main] UidManager: ----------------------------------
INFO  [main] UidManager: -  Running fsck in FIX mode  -
INFO  [main] UidManager: -    Remove Unknowns: false  -
INFO  [main] UidManager: ----------------------------------
INFO  [main] UidManager: Maximum ID for metrics: 2
INFO  [main] UidManager: Maximum ID for tagk: 4
INFO  [main] UidManager: Maximum ID for tagv: 2
ERROR [main] UidManager: Forward tagk mapping is missing reverse mapping: bar -> 000004
INFO  [main] UidManager: FIX: Restoring tagk reverse mapping: 000004 -> bar
ERROR [main] UidManager: Inconsistent reverse tagk mapping 000003 -> bar vs 000004 -> bar / bar -> 000004
INFO  [main] UidManager: FIX: Removed tagk reverse mapping: 000003 -> bar
ERROR [main] UidManager: tagk: Found 2 errors.
INFO  [main] UidManager: 17 KVs analyzed in 334ms (~50 KV/s)
WARN  [main] UidManager: 2 errors found.

metasync

Эта команда будет проходить через всю таблицу данных, сканируя каждую строку данных временных рядов и генерируя отсутствующие объекты TSMeta и UIDMeta или обновляя созданные метки времени для каждого типа объекта, если это необходимо. Используйте эту команду после включения отслеживания метаданных с существующими данными или если вы подозреваете, что некоторые временные ряды могут быть не проиндексированы должным образом. Команда также будет передавать новые или обновлённые записи метаданных в поисковый движок, если плагин настроен. Если существующие метаданные повреждены, то есть TSD не может десериализовать объект, он будет заменён новой записью.

Безопасно запускать эту команду в любое время, так как она не будет уничтожать или перезаписывать действительные данные. (Если вы не будете изменять столбцы непосредственно в HBase способом, несовместимым с форматами метаданных). Утилита разделит таблицу данных на блоки, обрабатываемые несколькими потоками, поэтому чем больше ядер в вашем процессоре, тем быстрее будет выполнена команда.

Формат команды

metasync

Пример команды

./tsdb uid metasync

metapurge

Эта подкоманда пометит все объекты TSMeta и UIDMeta для удаления в таблице UID. Это полезно для понижения версии с 2.0 до 1.x или просто для очистки всех метаданных и начала заново с metasync.

Формат команды

metapurge

Пример команды

./tsdb uid metapurge

treesync

Обрабатывает список объектов TSMeta в таблице UID, обрабатывая каждый из них во всех настроенных и включенных деревьях для компиляции ветвей. Эту команду можно запускать в любое время, и она не повлияет на существующие объекты.

Формат команды

treesync

Пример команды

./tsdb uid treesync

treepurge

Удаляет все ветви, столкновения, несовпавшие данные и, по желанию, само определение дерева для заданного дерева. Параметры включают:

class="docutils">
Имя Тип данных Описание Пример
id Целое число ID дерева для очистки 1
definition Флаг Добавьте это литерал после ID, чтобы удалить определение дерева, а также данные definition

Формат команды

treepurge <id> [definition]

Пример команды

./tsdb uid treepurge 1

© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/user_guide/cli/uid.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API