Redis: различия между версиями
ENetrebin (обсуждение | вклад) |
ENetrebin (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
Redis — это база данных «ключ-значение» с открытым исходным кодом, хранящаяся в памяти (или «сервер структуры данных») с дополнительной надежностью. Redis обычно используется в качестве базы данных, кэша, очереди и брокера сообщений (публикация и подписка). По умолчанию Ключ-АСТРОМ отслеживает основные | '''''[https://doc.ruscomtech.ru/index.php/%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F Расширения] / [https://doc.ruscomtech.ru/index.php/%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F#.D0.A0.D0.B0.D1.81.D1.88.D0.B8.D1.80.D0.B5.D0.BD.D0.B8.D1.8F_2.0 Расширения 2.0] / Redis''''' | ||
Redis — это база данных «ключ-значение» с открытым исходным кодом, хранящаяся в памяти (или «сервер структуры данных») с дополнительной надежностью. Redis обычно используется в качестве базы данных, кэша, очереди и брокера сообщений (публикация и подписка). По умолчанию Ключ-АСТРОМ отслеживает основные метрики Redis, включая время ответа, фрагментацию памяти, коэффициент попадания в кэш, использование кэша, количество подключений, попаданий, промахов и многое другое. | |||
== Требования и ограничения == | == Требования и ограничения == | ||
Строка 123: | Строка 125: | ||
* <code>slowlog-log-slower-than</code>сообщает Redis время выполнения (в микросекундах), превышение которого означает, что запрос был медленным и будет записан в Slow лог. | * <code>slowlog-log-slower-than</code>сообщает Redis время выполнения (в микросекундах), превышение которого означает, что запрос был медленным и будет записан в Slow лог. | ||
* <code>slowlog-max-len</code>— максимальное количество запросов, сохраняемых в Slow логе. | * <code>slowlog-max-len</code>— максимальное количество запросов, сохраняемых в Slow логе. | ||
== Стандартные метрики Redis == | |||
Эта таблица основана на стандартных описаниях метрик. | |||
{| class="wikitable" | |||
!Метрика | |||
!Описание | |||
|- | |||
|Total commands processed | |||
|Количество команд, обрабатываемых Redis в секунду. | |||
|- | |||
|Memory usage | |||
|Процент используемой памяти Redis. Эта метрика видна только в том случае, если <code>maxmemory</code>настроен параметр Redis. | |||
|- | |||
|Connected | |||
|Количество клиентских подключений (без учета подключений от реплик). | |||
|- | |||
|Blocked | |||
|Количество заблокированных клиентов. | |||
|- | |||
|Rejected connections | |||
|Число подключений, отклоненных из-за <code>maxclients</code>ограничения. По умолчанию последние версии Redis не закрывают соединения с клиентами, даже если клиенты простаивают в течение длительного времени — соединения остаются открытыми на неопределенный срок. У вас есть возможность настроить тайм-аут, и в этом случае клиентские соединения могут быть закрыты, если они простаивают в течение определенного периода времени. Таймауты настраиваются в файле <code>redis.conf</code>. | |||
|- | |||
|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 лог можно настроить с двумя параметрами: | |||
* <code>slowlog-log-slower-than</code>сообщает Redis время выполнения (в микросекундах), превышение которого означает, что запрос был медленным и будет записан в Slow лог. | |||
* <code>slowlog-max-len</code>— максимальное количество запросов, сохраняемых в Slow логе. | |||
|} |
Текущая версия на 08:31, 24 января 2024
Расширения / Расширения 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.
- Перейдите в Настройки .
- Выберите Мониторинг > Отслеживаемые технологии .
- Откройте запись Redis для редактирования.
- Подключено к показывает, сколько хостов Redis подключено, и предлагает ссылки непосредственно на страницы хостов.
- Пароль — это пароль для всех хостов Redis, которые вы хотите отслеживать глобально. Определите пароль (или оставьте поле пустым, если пароль не установлен на сервере Redis). Если у вас есть несколько экземпляров Redis на одном хосте, все экземпляры должны иметь один и тот же пароль (или не иметь пароля).
- Местоположение файла конфигурации — это необязательный файл конфигурации. Внимание! Ссылка на настройки хоста открывает Настройки > Мониторинг > Обзор мониторинга на вкладку Хосты . Если вы решили настроить Redis для каждого хоста, а не глобально, отключите мониторинг Redis глобально и выберите параметры хоста , чтобы начать настройку Redis для каждого хоста. Подробности см. в разделе «Включение мониторинга Redis для отдельных хостов» ниже.
- Выберите «Сохранить» , чтобы сохранить изменения.
- Включите переключатель Redis , чтобы начать глобальный мониторинг Redis.
Включение мониторинга Redis для отдельных хостов
Вы можете включить мониторинг Redis для конкретных хостов, а не глобально.
- Перейдите в Настройки .
- Выберите Мониторинг > Обзор мониторинга .
- Выберите вкладку Хосты .
- Выберите хост, на котором вы хотите настроить Redis.
- Выберите «Изменить» и дождитесь заполнения списка «Отслеживаемые технологии» . Внимание! Если Redis указан как одна из технологий, отслеживаемых глобально, вам необходимо отключить глобальный мониторинг для Redis, а затем настроить мониторинг Redis на уровне хоста. Щелкните ссылку «Включено глобально» и установите переключатель Redis в положение « Выкл.» , а затем вернитесь к конфигурации хоста.
- Найдите запись Redis в списке «Отслеживаемые технологии» и разверните ее для редактирования.
- Пароль — это пароль для выбранного хоста Redis, который вы хотите отслеживать.
- Расположение файла конфигурации — это дополнительный файл конфигурации для перезаписи команд.
- Выберите «Сохранить» , чтобы сохранить изменения.
- Включите переключатель Redis для этого хоста.
- При необходимости повторите эту процедуру для дополнительных хостов Redis.
Мониторинг репликации Redis
Ключ-АСТРОМ автоматически распознает экземпляры главного и реплик Redis и контролирует их репликацию. Экземпляры мастера и реплики Redis должны быть полностью синхронизированы для поддержания оптимальной производительности и стабильности ваших серверов Redis.
Индикатор текущего состояния на странице обзора процессов Redis отображает состояние ваших серверов Redis. Чтобы проанализировать изменения состояния сервера с течением времени, выберите временной интервал на диаграмме состояний реплики или проверьте диаграмму состояния , чтобы увидеть точное распределение состояний в течение заданного периода времени.
Используйте настройки для конкретных событий, чтобы настроить условия отправки оповещений для уведомления вас. Чтобы получить доступ к настройкам событий плагина, перейдите в «Настройки» > «Обнаружение аномалий» > «События расширения» и найдите записи Redis:
- Выполняется синхронизация реплики Redis. Если синхронизация реплики Redis продолжается слишком долго, Ключ-АСТРОМ выдает это предупреждение.
- Реплика Redis не синхронизирована. Если реплика Redis не реплицируется полностью, Ключ-АСТРОМ выдает это предупреждение.
Вы можете включить или отключить эти события, а также настроить условия, при которых выдается соответствующее оповещение.
Время ответа Redis Sentinel
Redis Sentinel — это имя процесса, отвечающего за доступность вашего развертывания Redis. Производительность процесса Redis Sentinel измеряется на основе времени отклика .
Метрики группы процессов
Чтобы просмотреть диаграммы метрик на уровне группы процессов Redis:
- Перейдите в раздел «Технологии и процессы Classic» (последняя версия Ключ-АСТРОМ) или «Технологии и процессы » (предыдущая версия Ключ-АСТРОМ), а затем выберите плитку Redis . Группы процессов Redis перечислены в таблице под плитками со следующими показателями для каждой строки (группы процессов): ЦП, подключение, повторные передачи, время прохождения подтверждения, пропускная способность ответа.
- Чтобы отобразить любую из этих метрик для определенной группы процессов, выберите эту строку, чтобы развернуть ее. Используйте список под диаграммой, чтобы выбрать другой показатель для диаграммы.
- Чтобы просмотреть сведения о выбранной группе процессов Redis, нажмите кнопку «Сведения о группе процессов» . На странице «Группа процессов» выберите вкладку «Метрики, специфичные для технологии» , чтобы отобразить следующие метрики для выбранной группы процессов Redis:
- Фрагментация памятиСоотношение памяти, используемой операционной системой, по сравнению с объемом памяти, выделенным Redis.
- Использование памятиПроцент используемой памяти Redis. Эта метрика видна только в том случае, если
maxmemory
настроен параметр Redis. - Время ответаВремя, прошедшее, пока сервер Redis отвечает на
INFO
запросы. Redis обычно отвечает в течение миллисекунд. - Всего обработанных командЧисло команд, обработанных Redis в секунду.
Ключевые показатели процесса
Ценные метрики Redis отображаются на каждой странице процесса Redis в виде интуитивно понятной инфографики.
- На странице группы процессов выберите процесс в таблице, чтобы отобразить страницу сведений о процессе для этого процесса.
- Выберите вкладку «Метрики Redis» , чтобы составить диаграмму ключевых показателей для выбранного экземпляра сервера Redis.
- Время ответаВремя, прошедшее, пока сервер Redis отвечает на
INFO
запросы. Redis обычно отвечает в течение миллисекунд. - Фрагментация памятиСоотношение памяти, используемой операционной системой, по сравнению с объемом памяти, выделенным Redis.
- Меньше чем
1.0
означает, что Redis требует больше памяти, чем доступно в системе, и вынужден использовать ресурсы памяти подкачки. - Чуть больше
1.0
(но не более1.5
) — это нормальный коэффициент фрагментации. Происходит фрагментация, и этот экземпляр Redis потребляет больше физической памяти, чем было запрошено, но фрагментация не является чрезмерной. - Больше чем
1.5
указывает на чрезмерную фрагментацию. Чтобы позволить операционной системе восстановить память, которая стала непригодной для использования из-за фрагментации, перезапустите сервер Redis.
- Меньше чем
- Время ответаВремя, прошедшее, пока сервер 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 лог можно настроить с двумя параметрами:
|