Мониторинг F5 BIG-IP LTM

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

Узнайте о настройке, развертывании и работе с данными F5 BIG-IP LTM Extension.

Прежде чем вы начнете

Убедитесь, что на указанном вами АктивныйШлюз активен и работает модуль Extensions 2.0.

  1. В меню Ключ-АСТРОМ выберите Статус развертывания > АктивныйШлюз и разверните сведения о назначенном АктивныйШлюз.
  2. В разделе «Свойства» убедитесь, что АктивныйШлюз назначен группе .
  3. В разделе «Модули» убедитесь, что модуль «Расширения 2.0» включен.

Если какое-либо из этих свойств необходимо изменить, см. Конфигурационные свойства и параметры АктивныйШлюз .

Примечание . Любые изменения, сделанные с помощью файлов конфигурации АктивныйШлюз, требуют перезапуска служб АктивныйШлюз и Extensions Execution Controller (EEC).

Развертывание расширения

  1. В меню Ключ-АСТРОМ выберите Расширения . Найдите плитку F5 BIG-IP LTM в Ключ-АСТРОМ Extensions 2.0, которую вы можете добавить в раздел своей среды.
  2. Выберите плитку, затем выберите Добавить в среду .

Конфигурация мониторинга

  1. Убедитесь, что ожидаемая версия отображается в списке Версии внизу страницы.
  2. Добавьте конфигурацию мониторинга, выбрав Добавить конфигурацию мониторинга .

Определить устройства

Выберите Добавить устройство, чтобы определить устройства, с которых вы хотите получать данные, и предоставить сведения о подключении устройства:

  • IP-адрес или имя устройства
  • Порт
  • Версия SNMP и соответствующие данные аутентификации

Группа АктивныйШлюз

Выберите группу АктивныйШлюз, чтобы определить, какие АктивныйШлюз будут запускать расширение. Когда закончите, выберите Следующий шаг .

Настроить мониторинг

Следующим шагом в активации расширения является настройка мониторинга. См. полный список наборов функций и собранных показателей .

Фильтры соответствуют именам сущностей, чтобы включать/исключать экземпляры из мониторинга. Это делает данные более актуальными и экономит ненужное потребление лицензий. Фильтры работают с определенным типом объекта и поддерживают следующий синтаксис:

  • $eq(<str>)- проверьте, <str>соответствует ли то, что вы фильтруете
  • $prefix(...)– надо начинать с…
  • $suffix(...)- должно заканчиваться …
  • $contains(...)- должен содержать …
  • $and(<expr1>, <expr2>)- может использоваться для объединения двух или более приведенных выше выражений с оператором И.
  • $or(<expr1>, <expr2>)– может использоваться для объединения двух или более приведенных выше выражений с оператором ИЛИ.
  • $not(<expr>)- может использоваться для отрицания выражения

Например, чтобы исключить все пулы из общего раздела, вы можете добавить фильтр:$not($prefix(/Common/))

Последним шагом является выбор Activate , который передаст АктивныйШлюз конфигурацию мониторинга вместе с расширением, определяющим, как собираются данные.

Визуализация данных и конфигурация

Расширение поставляется с обзорной панелью мониторинга, которая публикуется, как только вы добавляете ее в свою среду. Перейдите в Dashboards и найдите предустановленную панель под названием F5 BIGIP LTM Overview .

На панели инструментов представлен обзор основных компонентов платформы, а также ярлыки для списков различных типов объектов (в разделе « Переход к объектам F5 »). В настоящее время это самый быстрый способ перехода к спискам сущностей. В противном случае вы можете вручную добавить путь в адресную строку:.../ui/entity/list/<entity-type>

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

Поиск неисправностей

Состояние конфигурации не в порядке

Всякий раз, когда создается или обновляется конфигурация мониторинга, полная активация и запуск мониторинга может занять несколько минут. До тех пор состояние конфигурации может измениться на «Предупреждение» или «Ошибка», поскольку конфигурация запланирована для конечной точки, поставлена ​​в очередь на загрузку, активирована, проверена и запущена. Выделите для этого не менее 5 минут. Если статус все еще не в порядке, выберите цветную точку рядом с ним; это откроет интерфейс просмотра журнала для более подробной информации.

Сбои быстрой проверки

Fastcheck — это простой запрос SNMP Get, целью которого является получение одного OID от устройства, представляющего его системное имя. У устройства есть 18 секунд на ответ, иначе проверка не пройдёт. Это самый первый шаг перед сбором любых других деталей с устройства.

Сбои Fastcheck указывают на проблему со связью с устройством

  • Неправильные учетные данные для подключения к устройству
  • Сетевые брандмауэры не разрешают связь
  • Неправильно настроенные устройства, не разрешающие запросы SNMP

GetBulk вернул ошибку

GetBulk — это операция запроса SNMP, используемая для извлечения данных из устройства F5. Когда это появляется в сообщении об ошибке, это означает, что устройство доступно (FastCheck пройден), но данные не могут быть получены.

Этот тип ошибки может иметь несколько причин:

  • Предоставленные учетные данные (например, строка сообщества) недействительны.
  • Сеть ненадежна, что вызывает проблемы со связью
  • Слишком много данных для извлечения; попробуйте уменьшить наборы функций или оптимизировать дополнительные настройки

Недопустимые ошибки конфигурации

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

Высокий процессор

HIGH_CPUстатус означает, что на АктивныйШлюз достигнуто максимально допустимое потребление ЦП для модуля источника данных Extension Execution Controller (EEC).

  • Объем данных не может быть собран и обработан без превышения встроенного лимита ресурсов 5% использования ЦП.
  • Попробуйте изначально включить меньшее количество наборов функций (подразумевается меньше метрик, а значит, меньше запросов для обработки) или, в качестве альтернативы, распределить наборы функций по нескольким конфигурациям.

Журналы расширений

Журналы расширения можно найти в каталогах АктивныйШлюз . Найдите столбец Extensions 2.0 configuration, logsНазначение столбца .

Оптимизация для больших устройств

Конфигурации мониторинга снабжены набором расширенных настроек, влияющих на то, как данные запрашиваются с устройства через SNMP. Значения по умолчанию будут работать в большинстве случаев, но вы можете изменить их, если у вас возникли проблемы, например, если вам не хватает данных:

  • Тайм-аут и повторные попытки относятся к максимальному времени ожидания возврата запроса SNMP и количеству повторных попыток запроса в случае сбоя.
  • Макс. повторения относятся к тому, сколько раз OID (идентификатор метрики в SNMP) может повторяться как часть одного ответа на запрос SNMP GetBulk, когда одна и та же метрика собирается для нескольких объектов/экземпляров. Меньшее значение означает большее количество запросов между расширением и устройством для сбора большого набора данных. Из-за скорости и ненадежности протокола SNMP эффективнее использовать меньшее значение (например, 20). По умолчанию = 50.
  • Макс. OID на запрос относится к максимальному количеству OID, которое может быть запрошено для каждого запроса SNMP GetBulk. В очень больших средах рекомендуется установить значение 5. Это повышает производительность за счет дальнейшего разделения рабочей нагрузки на большее количество запросов.

Метрики

Просмотрите метрики, собранные расширением, с разбивкой по наборам функций.

  • N/A
Название метрики Ключ метрики Описание
System uptime sys.uptime.sec The system up time since boot
  • instance-memory-basic
Название метрики Ключ метрики Описание
Total memory sys.host.memory.total The total host memory in bytes (not including TMM) for a single host system.
Memory used (%) sys.host.memory.used.percent The total memory usage of the host system.
Used memory sys.host.memory.used The host memory in bytes currently in use (not including TMM) for a single host system.
  • instance-memory-advanced
Название метрики Ключ метрики Описание
Total swap mem.total.swap The total amount of swap space configured for this host.
Available swap mem.avail.swap The amount of swap space currently unused or available.
Shared memory mem.shared The total amount of real or virtual memory currently allocated for use as shared memory. This object will not be implemented on hosts where the underlying operating system does not explicitly identify memory as specifically reserved for this purpose.
Cached memory mem.cached The total amount of real or virtual memory currently allocated for use as cached memory. This object will not be implemented on hosts where the underlying operating system does not explicitly identify memory as specifically reserved for this purpose.
Buffer memory mem.buffer The total amount of real or virtual memory currently allocated for use as memory buffers. This object will not be implemented on hosts where the underlying operating system does not explicitly identify memory as specifically reserved for this purpose.
  • instance-sync
Название метрики Ключ метрики Описание
Failover status sys.cm.failover.status.id The failover status ID on the system.
  • 0 - the failover status of the device is unknown;
  • 1 - the device is offline;
  • 2 - the device is forced offline;
  • 3 - the device is standby;
  • 4 - the device is active.
Sync status sys.cm.sync.status.id The sync status ID on the system.
  • instance-cpu-basic
Название метрики Ключ метрики Описание
Idle CPU sys.global.host.cpu.idle1m The average time spent by the specified processor doing nothing for the system in the last one minute.
IO Wait CPU sys.global.host.cpu.iowait1m The average time spent by the specified processor waiting for external I/O to complete for the system in the last one minute.
IRQ CPU sys.global.host.cpu.irq1m The average time spent by the specified processor servicing hardware interrupts for the system in the last one minute.
Soft IRQ CPU sys.global.host.cpu.softirq1m.count The average time spent by the specified processor servicing soft interrupts for the system in the last one minute.
Stolen CPU sys.global.host.cpu.stolen1m The average time 'stolen' from the system in the last one minute.
System CPU sys.global.host.cpu.system1m The average time spent by the specified processor servicing system calls for the system in the last one minute.
User CPU sys.global.host.cpu.user1m The average time spent by the specified processor in user context for the system in the last one minute.
  • disk
Название метрики Ключ метрики Описание
Block size sys.host.disk.block.size The number of bytes in the specified partition.
Total blocks sys.host.disk.total.blocks The number of total blocks in the specified partition.
Free blocks sys.host.disk.free.blocks The number of total blocks in the specified partition.
Free Disk (%) sys.host.disk.free.percent The percentage disk free (available) for a specific partition.
Used Disk (%) sys.host.disk.used.percent The percentage disk used for a specific partition.
Free Disk sys.host.disk.free.byte The total amount of free disk space for a specific partition.
Used Disk sys.host.disk.used.byte The total amount of used disk space for a specific partition.
  • interface
Название метрики Ключ метрики Описание
Status sys.interface.status The current state of the specified interface.
Bytes received sys.interface.stat.bytes.in.count The number of bytes received on the specified interface.
Bytes transmitted sys.interface.stat.bytes.out.count The number of bytes transmitted out of the specified interface.
Packets received sys.interface.stat.pkts.in.count The number of packets received on this interface.
Packets transmitted sys.interface.stat.pkts.out.count The number of packets transmitted out of the specified interface.
Dropped incoming packets sys.interface.stat.drops.in.count The number of packets dropped on ingress for various reasons on the specified interface.
Dropped outgoing packets sys.interface.stat.drops.out.count The number of packets aged out or with excessive transmission delays due to multiple deferrals on the specified interface.
Incoming errors sys.interface.stat.errors.in.count The number of received packets that are either undersized, oversized, or have FCS errors by the specified interface.
Outgoing errors sys.interface.stat.errors.out.count The number of excessive collisions, incremented for each frame that experienced 16 collisions during transmission and was aborted on the specified interface.
  • pool-basic
Название метрики Ключ метрики Описание
Requests pool.stat.tot.requests.count The total number of requests to the specified pool.
Connections pool.stat.server.tot.conns.count The total connections from server-side to the specified pool.
Current sessions pool.stat.cur.sessions The current number of sessions to the specified pool.
Active members pool.active.member.cnt The number of the current active members in the specified pool.
Members pool.member.cnt The total number of members in the specified pool.
Enabled state pool.enablestate The activity status of the specified pool, as specified by the user. Can be none (0), enabled (1), disabled (2), disabledbyparent(3).
  • pool-advanced
Название метрики Ключ метрики Описание
Bytes received pool.stat.server.bytes.in.count The number of bytes received by the specified pool from server-side.
Bytes transmitted pool.stat.server.bytes.out.count The number of bytes sent to server-side from the specified pool.
Packets received pool.stat.server.pkts.in.count The number of packets received by the specified pool from server-side.
Packets transmitted pool.stat.server.pkts.out.count The number of packets sent to server-side from the specified pool.
  • node-basic
Название метрики Ключ метрики Описание
Monitor status node.monitor.status The hierarchical load balance state for the specified node address, including parent status - unchecked(0), checking(1), inband(2), up(3), addr-down(18), down(19), forced-down(20), maint(21), irule-down(22), inband-down(23), down-manual-resume(24)
Enabled state node.enablestate The activity status of the specified pool member, as specified by the user.
Availability state node.availstate The state of the specified pool member availability indicated in color. Mapped as none(0), green(1), yellow(2), red(3), blue(4), gray(5)
Requests node.stat.tot.requests.count The total number of requests going through the specified pool member.
Connections node.stat.server.tot.conns.count The total connections from server-side to the specified pool member.
  • node-advanced
Название метрики Ключ метрики Описание
Bytes received node.stat.server.bytes.in.count The number of bytes received by the specified pool member from server-side.
Bytes transmitted node.stat.server.bytes.out.count The number of bytes sent to server-side from the specified pool member.
Packets received node.stat.server.pkts.in.count The number of packets received by the specified pool member from server-side.
Packets transmitted node.stat.server.pkts.out.count The number of packets sent to server-side from the specified pool member.
  • virtualserver-basic
Название метрики Ключ метрики Описание
Enabled state virtualserver.enabled The state indicating whether the specified virtual server is enabled or not.
Enabled state virtualserver.status.enablestate The activity status of the specified virtual server, as specified by the user.
Availability state virtualserver.status.availstate The availability of the specified virtual server indicated in color. none - error; green - available in some capacity; yellow - not currently available; red - not available; blue - availability is unknown; gray - unlicensed.
Requests virtualserver.stat.tot.requests.count The total number of requests going through the specified virtual server.
CPU Usage virtualserver.stat.vs.usage.ratio1m The percentage of time Virtual Server was busy over the last 1 minute.
Connections virtualserver.stat.client.tot.conns.count The total connections from client-side to the specified virtual server.
Ephemeral connections virtualserver.stat.ephemeral.tot.conns.count The total ephemeral connections to the specified virtual server.
Slow connections killed virtualserver.stat.client.slow.killed.count The number of slow client-side connections that have been killed on the specified virtual server.
Evicted connections virtualserver.stat.client.evicted.conns.count The number of client-side connections that have been evicted on the specified virtual server.
Accepted syn cookies virtualserver.stat.wl.syncookie.accepts.count The number of allowlist syn cookies received that were accepted.
Rejected syn cookies virtualserver.stat.wl.syncookie.rejects.count The number of allowlist syn cookies received that were rejected.
  • virtualserver-advanced
Название метрики Ключ метрики Описание
Bytes received virtualserver.stat.client.bytes.in.count The number of bytes received by the specified virtual server from client-side.
Ephemeral bytes received virtualserver.stat.ephemeral.bytes.in.count The number of bytes received ephemeral by the specified virtual server.
Bytes transmitted virtualserver.stat.client.bytes.out.count The number of bytes sent to client-side from the specified virtual server.
Ephemeral bytes transmitted virtualserver.stat.ephemeral.bytes.out.count The number of bytes transmitted ephemeral from the specified virtual server.
Packets received virtualserver.stat.client.pkts.in.count The number of packets received by the specified virtual server from client-side.
Ephemeral packets received virtualserver.stat.ephemeral.pkts.in.count The number of packets received ephemeral by the specified virtual server.
Packets transmitted virtualserver.stat.client.pkts.out.count The number of packets sent to client-side from the specified virtual server.
Ephemeral packets transmitted virtualserver.stat.ephemeral.pkts.out.count The number of packets transmitted ephemeral from the specified virtual server.
  • profile-serverssl
Название метрики Ключ метрики Описание
Common connections profile.server.ssl.stat.tot.compat.conns.count The total number of concurrent compat connections with established SSL sessions being maintained by the filter.
Native connections profile.server.ssl.stat.tot.native.conns.count The total number of concurrent native connections with established SSL sessions being maintained by the filter.
Fatal alerts profile.server.ssl.stat.fatal.alerts.count The total number of the fatal alerts.
Secure handshakes profile.server.ssl.stat.secure.handshakes.count The number of handshakes, including mid-stream re-negotiations, performed with peers supporting SSL secure renegotiation.
Handshake failures profile.server.ssl.stat.handshake.failures.count The total number of handshake failures.
Insecure handshakes accepted profile.server.ssl.stat.insecure.handshake.accepts.count The number of handshakes, including mid-stream re-negotiations, performed with peers not supporting SSL secure renegotiation.
Insecure handshakes rejected profile.server.ssl.stat.insecure.handshake.rejects.count The number of rejected initial handshakes with peers not supporting SSL secure renegotiation.
Insecure renegotiations rejected profile.server.ssl.stat.insecure.renegotiation.rejects.count The number of rejected renegotiation attempts by peers not supporting SSL secure renegotiation.
DTLSv1 connections profile.server.ssl.stat.dtlsv1.count The total connections for SSL DTLS protocol version 1.
DTLSv2 connections profile.server.ssl.stat.sslv2.count The total connections for SSL protocol version 2.
SSLv3 connections profile.server.ssl.stat.sslv3.count The total connections for SSL protocol version 3.
TLSv1.1 connections.count profile.server.ssl.stat.tlsv11 The total connections for SSL TLS protocol version 1.1.
TLSv1.2 connections profile.server.ssl.stat.tlsv12.count The total connections for SSL TLS protocol version 1.2.
TLSv1 connections profile.server.ssl.stat.tlsv1.count The total connections for SSL TLS protocol version 1.
Common connections profile.client.ssl.stat.tot.compat.conns.count The total number of concurrent compat connections with established SSL sessions being maintained by the filter.
Native connections profile.client.ssl.stat.tot.native.conns.count The total number of concurrent native connections with established SSL sessions being maintained by the filter.