Redis

Материал из Документация Ключ-АСТРОМ

Расширения / Расширения 2.0 / Redis

Redis — это база данных «ключ-значение» с открытым исходным кодом, хранящаяся в памяти (или «сервер структуры данных») с дополнительной надежностью. Redis обычно используется в качестве базы данных, кэша, очереди и брокера сообщений (публикация и подписка). По умолчанию Ключ-АСТРОМ отслеживает основные показатели Redis, включая время ответа, фрагментацию памяти, коэффициент попадания в кеш, использование кеша, количество подключений, попаданий, промахов и многое другое.

Требования и ограничения

  • Redis Server 2.8 или выше
  • ОС Linux
  • Redis должен прослушивать локальный хост. Требуется привязка между localhost и портом Redis.
  • Если у вас есть несколько экземпляров Redis на одном хосте, все экземпляры должны иметь один и тот же пароль (или не иметь пароля).
  • Это расширение не поддерживает TLS.

Поддержка Docker

Ключ-АСТРОМ поддерживает работу Redis внутри контейнеров Docker при соблюдении следующих требований:

  • ЕдиныйАгент версии 1.157+
  • Образ docker Redis версии 5.0.0+
  • Если вы используете файл конфигурации для операции переименования, вам необходимо использовать его путь в конфигурации отслеживаемого расширения. Например: docker run redis

Включение глобального мониторинга Redis

Благодаря глобальному мониторингу Redis Ключ-АСТРОМ автоматически собирает метрики Redis всякий раз, когда в вашей среде обнаруживается новый хост, на котором работает Redis.

  1. Перейдите в Настройки .
  2. Выберите Мониторинг > Отслеживаемые технологии .
  3. Откройте запись Redis для редактирования.
    • Подключено к показывает, сколько хостов Redis подключено, и предлагает ссылки непосредственно на страницы хостов.
    • Пароль — это пароль для всех хостов Redis, которые вы хотите отслеживать глобально. Определите пароль (или оставьте поле пустым, если пароль не установлен на сервере Redis). Если у вас есть несколько экземпляров Redis на одном хосте, все экземпляры должны иметь один и тот же пароль (или не иметь пароля).
    • Местоположение файла конфигурации — это необязательный файл конфигурации. Внимание! Ссылка на настройки хоста открывает Настройки > Мониторинг > Обзор мониторинга на вкладку Хосты . Если вы решили настроить Redis для каждого хоста, а не глобально, отключите мониторинг Redis глобально и выберите параметры хоста , чтобы начать настройку Redis для каждого хоста. Подробности см. в разделе «Включение мониторинга Redis для отдельных хостов» ниже.
  4. Выберите «Сохранить» , чтобы сохранить изменения.
  5. Включите переключатель Redis , чтобы начать глобальный мониторинг Redis.

Включение мониторинга Redis для отдельных хостов

Вы можете включить мониторинг Redis для конкретных хостов, а не глобально.

  1. Перейдите в Настройки .
  2. Выберите Мониторинг > Обзор мониторинга .
  3. Выберите вкладку Хосты .
  4. Выберите хост, на котором вы хотите настроить Redis.
  5. Выберите «Изменить» и дождитесь заполнения списка «Отслеживаемые технологии» . Внимание! Если Redis указан как одна из технологий, отслеживаемых глобально, вам необходимо отключить глобальный мониторинг для Redis, а затем настроить мониторинг Redis на уровне хоста. Щелкните ссылку «Включено глобально» и установите переключатель Redis в положение « Выкл.» , а затем вернитесь к конфигурации хоста.
  6. Найдите запись Redis в списке «Отслеживаемые технологии» и разверните ее для редактирования.
    • Пароль — это пароль для выбранного хоста Redis, который вы хотите отслеживать.
    • Расположение файла конфигурации — это дополнительный файл конфигурации для перезаписи команд.
  7. Выберите «Сохранить» , чтобы сохранить изменения.
  8. Включите переключатель Redis для этого хоста.
  9. При необходимости повторите эту процедуру для дополнительных хостов Redis.

Мониторинг репликации Redis

Ключ-АСТРОМ автоматически распознает экземпляры главного и реплик Redis и контролирует их репликацию. Экземпляры мастера и реплики Redis должны быть полностью синхронизированы для поддержания оптимальной производительности и стабильности ваших серверов Redis.

Индикатор текущего состояния на странице обзора процессов Redis отображает состояние ваших серверов Redis. Чтобы проанализировать изменения состояния сервера с течением времени, выберите временной интервал на диаграмме состояний реплики или проверьте диаграмму состояния , чтобы увидеть точное распределение состояний в течение заданного периода времени.

Используйте настройки для конкретных событий, чтобы настроить условия отправки оповещений для уведомления вас. Чтобы получить доступ к настройкам событий плагина, перейдите в «Настройки» > «Обнаружение аномалий» > «События расширения» и найдите записи Redis:

  • Выполняется синхронизация реплики Redis. Если синхронизация реплики Redis продолжается слишком долго, Ключ-АСТРОМ выдает это предупреждение.
  • Реплика Redis не синхронизирована. Если реплика Redis не реплицируется полностью, Ключ-АСТРОМ выдает это предупреждение.

Вы можете включить или отключить эти события, а также настроить условия, при которых выдается соответствующее оповещение.

Время ответа Redis Sentinel

Redis Sentinel — это имя процесса, отвечающего за доступность вашего развертывания Redis. Производительность процесса Redis Sentinel измеряется на основе времени отклика .

Метрики группы процессов

Чтобы просмотреть диаграммы метрик на уровне группы процессов Redis:

  1. Перейдите в раздел «Технологии и процессы Classic» (последняя версия Ключ-АСТРОМ) или «Технологии и процессы » (предыдущая версия Ключ-АСТРОМ), а затем выберите плитку Redis . Группы процессов Redis перечислены в таблице под плитками со следующими показателями для каждой строки (группы процессов): ЦП, подключение, повторные передачи, время прохождения подтверждения, пропускная способность ответа.
  2. Чтобы отобразить любую из этих метрик для определенной группы процессов, выберите эту строку, чтобы развернуть ее. Используйте список под диаграммой, чтобы выбрать другой показатель для диаграммы.
  3. Чтобы просмотреть сведения о выбранной группе процессов Redis, нажмите кнопку «Сведения о группе процессов» . На странице «Группа процессов» выберите вкладку «Метрики, специфичные для технологии» , чтобы отобразить следующие метрики для выбранной группы процессов Redis:
    • Фрагментация памятиСоотношение памяти, используемой операционной системой, по сравнению с объемом памяти, выделенным Redis.
    • Использование памятиПроцент используемой памяти Redis. Эта метрика видна только в том случае, если maxmemoryнастроен параметр Redis.
    • Время ответаВремя, прошедшее, пока сервер Redis отвечает на INFOзапросы. Redis обычно отвечает в течение миллисекунд.
    • Всего обработанных командЧисло команд, обработанных Redis в секунду.

Ключевые показатели процесса

Ценные метрики Redis отображаются на каждой странице процесса Redis в виде интуитивно понятной инфографики.

  1. На странице группы процессов выберите процесс в таблице, чтобы отобразить страницу сведений о процессе для этого процесса.
  2. Выберите вкладку «Метрики Redis» , чтобы составить диаграмму ключевых показателей для выбранного экземпляра сервера Redis.
    • Время ответаВремя, прошедшее, пока сервер Redis отвечает на INFOзапросы. Redis обычно отвечает в течение миллисекунд.
    • Фрагментация памятиСоотношение памяти, используемой операционной системой, по сравнению с объемом памяти, выделенным Redis.
      • Меньше чем 1.0означает, что Redis требует больше памяти, чем доступно в системе, и вынужден использовать ресурсы памяти подкачки.
      • Чуть больше 1.0(но не более 1.5) — это нормальный коэффициент фрагментации. Происходит фрагментация, и этот экземпляр Redis потребляет больше физической памяти, чем было запрошено, но фрагментация не является чрезмерной.
      • Больше чем 1.5указывает на чрезмерную фрагментацию. Чтобы позволить операционной системе восстановить память, которая стала непригодной для использования из-за фрагментации, перезапустите сервер Redis.

Дополнительные диаграммы метрик процесса Redis

На странице «Сведения о процессе» выберите вкладку «Дополнительные сведения» , чтобы отобразить следующие дополнительные метрики для выбранного экземпляра сервера Redis:

  • Кэш
  • Соединения
  • Slow лог

Кэш

Команды

  • Попадания в пространство ключей Число успешных поисков ключей в основном словаре.
  • Промахи в пространстве ключей Число неудачных поисков ключей.
  • Всего обработанных команд Число команд, обработанных Redis в секунду.

Память

  • Используемая память Процент использованной памяти Redis. Эта метрика видна только в том случае, если maxmemoryнастроен параметр Redis.
  • Вытесненные ключи Количество ключей, удаленных из кэша для освобождения памяти для новых элементов. Увеличение количества удаленных ключей может быть признаком использования большого количества памяти.

Ключи с истекшим сроком действия Число событий истечения срока действия ключей. События истечения срока действия запускаются, когда Redis удаляет ключи. Имейте в виду, что события истечения срока действия не запускаются, когда статус TTL (время жизни) ключа падает до нуля.

Соединения

Клиенты

  • Подключено Количество клиентских подключений (без учета подключений от реплик).
  • Заблокировано Количество заблокированных клиентов.
  • Отклоненные соединения Число подключений, отклоненных из-за maxclientsограничения. По умолчанию последние версии Redis не закрывают соединения с клиентами, даже если клиенты простаивают в течение длительного времени — соединения остаются открытыми на неопределенный срок. У вас есть возможность настроить тайм-аут, и в этом случае клиентские соединения могут быть закрыты, если они простаивают в течение определенного периода времени. Таймауты настраиваются в файле redis.conf.
  • Всего полученных соединений Число соединений, принятых сервером.

Репликация

  • Подключенные реплики Количество подключенных реплик. Эта метрика видна для мастера и тех реплик, которые подключены к другим репликам.

Slow лог

В Slow логе регистрируются запросы, время выполнения которых превысило указанное.

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

Slow лог можно настроить с двумя параметрами:

  • slowlog-log-slower-thanсообщает Redis время выполнения (в микросекундах), превышение которого означает, что запрос был медленным и будет записан в Slow лог.
  • slowlog-max-len— максимальное количество запросов, сохраняемых в Slow логе.

Стандартные метрики Redis

Эта таблица основана на стандартных описаниях метрик.

Метрика Описание
Total commands processed Количество команд, обрабатываемых Redis в секунду.
Memory usage Процент используемой памяти Redis. Эта метрика видна только в том случае, если maxmemoryнастроен параметр Redis.
Connected Количество клиентских подключений (без учета подключений от реплик).
Blocked Количество заблокированных клиентов.
Rejected connections Число подключений, отклоненных из-за maxclientsограничения. По умолчанию последние версии Redis не закрывают соединения с клиентами, даже если клиенты простаивают в течение длительного времени — соединения остаются открытыми на неопределенный срок. У вас есть возможность настроить тайм-аут, и в этом случае клиентские соединения могут быть закрыты, если они простаивают в течение определенного периода времени. Таймауты настраиваются в файле redis.conf.
Total connections received Количество соединений, принимаемых сервером.
Connected replicas Количество подключенных реплик. Эта метрика видна для мастера и тех реплик, которые подключены к другим репликам.
Keyspace hits Количество успешных поисков ключей в основном словаре.
Max memory Максимальный объем памяти, разрешенный в кеше Redis. Вы можете настроить этот параметр по своему усмотрению.
Evicted keys Количество ключей, удаленных из кэша для освобождения памяти для новых элементов. Увеличение количества удаленных ключей может быть признаком использования большого количества памяти.
Cache hit ratio Процент успешных поисков ключей в основном словаре.
Expired keys Количество событий истечения срока действия ключа. События истечения срока действия запускаются, когда Redis удаляет ключи. События истечения срока действия не запускаются, когда статус TTL (время жизни) ключа падает до нуля.
# of keys Количество ключей в выбранной базе данных.
Expires Количество ключей, имеющих параметр TTL.
Average TTL Предполагаемый средний срок жизни ключей на сервере.
Slow queries Количество запросов, записанных в Slow логе Redis.

В Slow логе регистрируются запросы, время выполнения которых превысило указанное.

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

Slow лог можно настроить с двумя параметрами:

  • slowlog-log-slower-thanсообщает Redis время выполнения (в микросекундах), превышение которого означает, что запрос был медленным и будет записан в Slow лог.
  • slowlog-max-len— максимальное количество запросов, сохраняемых в Slow логе.