Устранение неполадок при установке ЕдиногоАгента

Материал из Документация Ключ-АСТРОМ
Версия от 17:03, 1 сентября 2025; IKuznetsov (обсуждение | вклад) (Новая страница: «Узнайте, как устранить неполадки при установке ЕдиногоАгента в '''AIX''', '''Linux''' и '''Windows'''. ==...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Узнайте, как устранить неполадки при установке ЕдиногоАгента в AIX, Linux и Windows.

Общее устранение неполадок

Почему ЕдиныйАгент не начинает отслеживать процесс Apache после перезапуска?

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

Дополнительную информацию о различных типах доступных перезапусков см. в разделе Остановка и перезапуск сервера Apache HTTP.

Как выполнить полную перезагрузку

Linux и AIX

Возможно, вы привыкли перезапускать Apache с помощью команды apachectl restart. Однако эта команда приводит лишь к частичному перезапуску Apache.

Чтобы полностью перезапустить Apache и включить глубокий мониторинг с помощью Ключ-АСТРОМ ЕдиногоАгента, необходимо сначала полностью завершить работу с помощью apachectl stop команды. Только после этого можно перезапустить сервер с помощью команды apachectl start.

Этот service apache2 restart можно использовать в системах Ubuntu. Однако учтите, что для любых команд вам, скорее всего, понадобятся права суперпользователя (sudo).

Windows

В Windows для перезапуска служб Apache можно использовать встроенную функцию управления службами Windows или монитор служб Apache (httpd.exe). Перезапуск службы Apache с помощью управления службами Windows гарантирует полный перезапуск httpd.exe. Возможно, вы привыкли перезапускать Apache с помощью команды httpd.exe -k restart -n "Apache2.4". Однако эта команда приводит лишь к частичному перезапуску Apache.

Чтобы полностью перезапустить Apache и включить глубокий мониторинг с помощью ЕдиногоАгента, необходимо сначала выполнить полное завершение работы с помощью команды httpd.exe -k stop -n "Apache2.4". Только после этого можно перезапустить сервер с помощью команды httpd.exe -k start -n "Apache2.4".

Проверка сертификата сервера не удалась

ЕдиныйАгент поставляется с доверенными SSL-сертификатами Ключ-АСТРОМ, которые используются для проверки успешного подключения ЕдиногоАгента к серверу Ключ-АСТРОМ или к АктивномуШлюзу.

Если в вашей среде используется прокси-сервер (что требует обновления SSL-сертификата удаленного сервера) или у вас есть Environment АктивныйШлюз с собственным сертификатом, во время первоначальной проверки соединения вы можете столкнуться с сообщением Server certificate check failed.

Чтобы решить эту проблему, см. раздел Безопасность ЕдиногоАгента.

Процессы не обнаружены

Могло произойти одно из следующих событий:

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

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

Проблемы ЕдиногоАгента начались после глобального обновления ОС хоста

Мы не поддерживаем серьезные изменения операционной системы на хосте, на котором установлен ЕдиныйАгент.

Изменения ОС, которые могут повлиять на ЕдиныйАгент, включают обновления или модификации, такие как:

  • Патч ядра системы
  • Крупное обновление ОС
  • Любое другое изменение конфигурации системы, приводящее к существенному обновлению или модификации ОС.

Значительные изменения ОС могут привести к таким проблемам, как:

  • Проблемы мониторинга ЕдиногоАгента
  • Перезапуск или удаление службы ЕдиногоАгента
  • Удаление ЕдиногоАгента

Для внесения существенных изменений в ОС хоста ЕдиногоАгента

  1. Удалите ЕдиногоАгента
  2. Примените модификации ОС
  3. Переустановите ЕдиныйАгент. При переустановке может потребоваться предоставить установщику данные для подключения. Однако часть конфигурации ЕдиногоАгента, например, идентификация хоста, сохранится после удаления.

Эта информация применима ко всем операционным системам, на которых поддерживается полная установка ЕдиногоАгента.

Инициализация SDK и обработка ошибок

Если заглушка SDK сталкивается с проблемами загрузки или инициализации модуля ЕдиногоАгента (особенно если onesdk_initialize или onesdk_initalize_2 возвращает код ошибки), включите ведение логов для заглушки SDK, чтобы диагностировать проблему.

Для включения ведения логов используйте один из следующих вариантов:
  • Установите переменную окружения DT_LOGLEVELSDK={level} (самый простой вариант).
  • Вызовите функцию onesdk_stub_set_logging_level(ONESDK_LOGGING_LEVEL_{LEVEL}).
  • Если ваша программа передает аргументы командной строки в SDK (onesdk_stub_process_cmdline_args), используйте аргумент командной строки --dt_loglevelsdk={level}.


Какой бы вариант вы ни выбрали, обязательно примените его перед проверкой onesdk_initialize или onesdk_initalize_2.

По умолчанию после включения ведения логов вывод логов заглушки направляется в stderr. Если вам нужен альтернативный метод обработки сообщений логов заглушки, см. документацию по функции onesdk_stub_set_logging_callback.

Если инициализация не удалась, наиболее часто встречающийся код ошибки — ONESDK_ERROR_LOAD_AGENT (числовой код 2952658951, -1342308345 или 0xaffe0007, сообщение об ошибке "Could not load agent.").

Две основные причины этой проблемы:

  • Причина : ЕдиныйАгент не установлен на хосте, где выполняется программа.
    Решение : Установите ЕдиныйАгент и перезапустите программу.
  • Причина : Программа инициирована с помощью отладчика, поэтому ЕдиныйАгент не выполнит внедрение.
    Решение : Запустите программу без отладчика. Отладчик можно подключить позже, после запуска программы.

Устранение неполадок SDK после инициализации

После успешной инициализации SDK вы всё равно можете столкнуться с проблемами, такими как отсутствие путей в пользовательском интерфейсе или неожиданные коды ошибок ONESDK_INVALID_HANDLE, например:

  • Проверьте сообщения от обратных вызовов логов ЕдиногоАгента. См. документацию по onesdk_agent_set_warning_callback и onesdk_agent_set_verbose_callback.
  • Проверьте файлы логов ЕдиногоАгента.
    Точное местоположение файлов логов смотрите на следующих страницах:

Безопасность ЕдиногоАгента в Windows

    • Безопасность ЕдиногоАгента в Linux Уровень ведения логов ЕдиногоАгента можно повысить, установив переменную среды DT_LOGLEVELFILE={level} или передав аргумент --dt_loglevelfile={level} командной строки в SDK.
      В качестве альтернативы вы можете использовать DT_LOGLEVELCON={level} или --dt_loglevelcon={level}, если хотите получить вывод логов ЕдиногоАгента через stderr.
  • В определенных сценариях может предоставить дополнительную информацию onesdk_agent_get_current_state.

Устранение неполадок, специфичных для ОС

Linux

ЕдиныйАгент, установленный в развертываниях Chef Habitat, не внедряется в процессы

Несмотря на то, что вы можете успешно установить ЕдиныйАгент на машины, на которых размещены службы, развернутые Chef Habitat, ЕдиныйАгент не сможет внедряться в процессы, поскольку в таких развертываниях Chef Habitat использует собственную специфичную для хоста супервизора библиотеку glibc, а не системную библиотеку glibc, на которую полагается ЕдиныйАгент.

Решение

В качестве обходного решения создайте файл ld.so.preload для каждой версии glibc, установленной Chef, содержимое которого указывает на модуль процесса ЕдиногоАгента на хосте супервизора Chef Habitat. Выполните следующую команду от имени пользователя root:

[ -d /hab/pkgs/core/glibc ] && for v in $(find /hab/pkgs/core/glibc -type d -name etc); do sudo echo "/opt/astromkey/oneagent/agent/bin/current/linux-x86-64/liboneagentproc.so" > $v/ld.so.preload && echo "Installed workaround in '$v'"; done

Эту команду необходимо выполнять каждый раз, когда Chef Habitat обновляет версию glibc. Вы также можете запустить её как cron. В таких случаях убедитесь, что она запускается до запуска службы, которую вы хотите отслеживать. В противном случае вам потребуется перезапустить службу, чтобы включить внедрение ЕдиногоАгента.

Operation not permitted

Если вы видите ошибку Operation not permitted в консоли Linux или логах установки, убедитесь, что установка ЕдиногоАгента не заблокирована антивирусным программным обеспечением, установленным на хосте.

Проблемы со связью ЕдиногоАгента при включенном SELinux

ЕдиныйАгент поддерживает SELinux только при загрузке целевой политики. Многоуровневая политика безопасности не поддерживается. При попытке установить ЕдиныйАгент в системе, где SELinux использует многоуровневый режим безопасности, появится следующее сообщение об ошибке: Installation with SELinux loaded in multi-level security mode is not supported. Astromkey OneAgent may not work correctly.

Если вы используете систему с SELinux в принудительном режиме и внедренные ЕдиныеАгенты не могут обмениваться данными, хотя для модуля ОС ЕдиногоАгента связь работает нормально, попробуйте выполнить следующие действия. Обратите внимание, что пример ниже основан на процессе httpd, но это может произойти и с NGINX и другими процессами.

  1. Проверьте /var/log/audit/audit.log на наличие отказов journalctl, например:
    # grep type=AVC /var/log/audit/audit.log
    # journalctl --utc -a -t "audit"
  2. Если вы обнаружили отказ в рассматриваемом процессе, например:
    type=AVC msg=audit(1535366769.867:209537): avc:  denied  { name_connect } for  pid=8348 comm="httpd" dest=9999 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:jboss_management_port_t:s0 tclass=tcp_socket`
    Сначала проверьте, разрешает ли SElinux соединение, с помощью следующей команды: # sesearch -AC -s httpd_t -t jboss_management_port_t
    Чтобы интерпретировать вывод команды, см. раздел Использование логических значений SELinux.
  3. Чтобы узнать, разрешено ли соединение, выполните следующую команду: # setsebool -P httpd_can_network_connect on
    Команда будет постоянно (сохраняться при перезагрузках хоста) включать логическое значение SELinux httpd_can_network_connect, позволяя внедрить ЕдиныйАгент в процесс httpd для установления соединения с АктивнымШлюзом.
  4. Перезапустите процесс и проверьте, работает ли связь.

ЕдиныйАгент на дисках NFS

Сообщается о нестабильной работе ЕдиногоАгента на Linux при развёртывании на некачественных дисках NFS. Для корректной работы автоматического внедрения и автоматических обновлений убедитесь, что ваше развёртывание ЕдиногоАгента соответствует следующим рекомендациям:

Пользовательский путь установки

Настройте установку ЕдиногоАгента так, чтобы она не находилась в директориях NFS (расположение ЕдиногоАгента по умолчанию — /opt/astromkey). Используйте параметр ЕдиногоАгента INSTALL_PATH. Подробнее см. в разделе Настройка установки ЕдиногоАгента в Linux .

Путь выполнения

Убедитесь, что путь выполнения /var/lib/astromkey/oneagent не находится в директориях NFS.

Доступность файловой системы

Доступность файловой системы критически важна не только для мониторинга ЕдиногоАгента, но и для запуска любых процессов на хосте. Даже при настройке установки ЕдиногоАгента он всё равно создаёт символические ссылки /opt/astromkey для своих модулей глубокого мониторинга и автоматического внедрения. Убедитесь, что /opt/astromkey доступна при запуске системы как можно раньше. ЕдиныйАгент запускается относительно рано, поэтому /opt/astromkey должна быть доступна как можно раньше.

Остановка процессов обновления ЕдиногоАгента

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

FUSE не поддерживается

Файловые системы, использующие FUSE, не поддерживаются.

Мы работаем над устранением проблем, связанных с развертыванием NFS, поэтому вы можете ожидать, что эти рекомендации со временем изменятся.

Несовместимость со Splunk

Компонент splunkd Splunk версии 8.2+ аварийно завершает работу при включении автоматического внедрения ЕдиногоАгента.

Проблема

Согласно проблеме Splunk SPL-207550, Splunk не запускается после установки в Linux, если существует Ключ-АСТРОМ ЕдиныйАгент, выдавая ошибку ERROR: pid XXXX terminated with signal 4 (core dumped), поскольку существует конфликт между библиотеками Splunk Watchdog и Ключ-АСТРОМ ЕдиныйАгент.

Решение

Установите следующее в server.conf, [watchdog]:

usePreloadedPstacks = false

Совместимость с антивирусным программным обеспечением

Блокировка в ядре Linux может привести к тому, что CrowdStrike Falcon заблокирует ЕдиныйАгент при чтении данных процесса из /proc, который содержит один подкаталог на каждый процесс, запущенный в системе.

  • Когда ЕдиныйАгент пытается прочитать данные /proc/<pid>, CrowdStrike Falcon блокирует в ядре для создания директорий идентификаторов процессов. ЕдиныйАгент будет находиться в состоянии непрерывности, что означает, что вы сможете завершить процессы, только перезагрузив сервер или дождавшись ответа ввода-вывода.
  • Установка ЕдиногоАгента может быть нарушена в любой момент из-за отсутствия единого правила, вызывающего проблему.

Oracle Database Server 19c не отвечает

Проблема

Автоматическое инструментирование ЕдиногоАгента невозможно, если установлен Oracle Database Server 19c из-за несовместимости с модулем процесса ЕдиногоАгента.

Подробности

Модуль процесса ЕдиногоАгента требует базовых функций системной библиотеки libc для выполнения автоматического инструментирования. Когда другой продукт переопределяет функциональность (в данном случае функцию __errno_location), модуль процесса не может отличить символ, предоставляемый продуктом, от самого продукта libc. Вызов символа, предоставляемого продуктом, приводит к сбою, поскольку он ещё не инициализирован.

Область проблемы

Хосты Linux с Oracle Database Server 19c

Решение

Подойдет любой из приведенных ниже вариантов:

  • Используйте Oracle Database Server 21c или более новую версию
  • Отключить внедрение Process Agent builtin:host.monitoring.advanced через схему/пользовательский интерфейс
  • Отключить внедрение агента процесса через oneagentctl --set-auto-injection-enabled false
  • Запустите следующий фрагмент [PATH-TO-DATABASE-EXECUTABLE] и замените его путем к исполняемому файлу Oracle Database 19c.
    unshare -m -- sh -c 'mount --bind /dev/null /etc/ld.so.preload && [PATH-TO-DATABASE-EXECUTABLE]'
  • Установите следующую переменную среды, чтобы она применялась к базе данных Oracle при запуске (применимо только к системам на основе glibc; не поддерживается в musl libc, например в Alpine Linux)
    LD_AUDIT=/opt/astromkey/oneagent/agent/bin/current/linux-x86-64/liboneagentaudit.so

Если на хостах есть процессы, требующие внедрения Code Module, их можно включить вручную через переменную окружения LD_PRELOAD=/lib{64}/liboneagentproc.so. Для получения дополнительной помощи обратитесь к специалистам службы поддержки Ключ-АСТРОМ в чате.

Windows

Совместимость с антивирусным программным обеспечением

Чтобы обеспечить бесперебойную работу ЕдиногоАгента и избежать лишних расходов, мы рекомендуем исключить все файлы в директории установки ЕдиногоАгента из антивирусной проверки.

Мы также рекомендуем настроить антивирусное ПО так, чтобы оно считало процесс ЕдиногоАгента доверенным и невредоносным. Чтобы узнать, как это сделать, обратитесь к документации вашего антивируса.

Если вы используете McAfee, вы можете столкнуться с перегрузкой процессора. Чтобы решить эту проблему, переведите McAfee в режим совместимости с Exploit Prevention.

  1. Отключите самозащиту и предотвращение эксплойтов в консоли ENS.
  2. Установите следующие параметры реестра как DWORD:
    • HKEY_LOCAL_MACHINE\SOFTWARE\McAfee\Endpoint\Ips\BO\dwBOCompatibilityMode=1
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\McAfee\EndPoint\Ips\BO\dwBOCompatibilityMode=1
  3. Повторно включите самозащиту и предотвращение эксплойтов в консоли ENS.

Процессы не обнаружены

Могло произойти одно из следующих событий:

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

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

Как восстановить установку ЕдиногоАгента

Установщик ЕдиногоАгента для Windows не поддерживает операции изменения и восстановления. Вы не сможете переустановить ЕдиныйАгент, используя ту же версию установщика, что и установленный ЕдиныйАгент.

Чтобы переустановить ЕдиныйАгент в Windows, либо удалите его, а затем установите заново, либо установите более новую версию поверх существующей.

Не удалось обновить ЕдиныйАгент из-за отсутствия пакета MSI в кэше установщика Windows

Установщик ЕдиногоАгента для Windows использует кэш установщика Windows, который по умолчанию расположен в папке C:\Windows\Installer. В нём хранятся важные файлы, необходимые для удаления и обновления продукта. Если в логах установки (папка по умолчанию: C:\ProgramData\astromkey\oneagent\log\installer\installation_msiexec_*.log ) вы обнаружите записи, подобные следующим:

MSI (s) (C0:E4) [09:27:14:308]: Warning: Local cached package 'C:\Windows\Installer\312c0.msi' is missing.

...

Error 1714. The older version of astromkey OneAgent cannot be removed.  Contact your technical support group.  System Error 1612.

MSI (s) (C0:54) [09:27:56:489]: Product: astromkey OneAgent -- Error 1714. The older version of astromkey OneAgent cannot be removed.  Contact your technical support group.  System Error 1612.

Попробуйте выполнить следующие шаги для решения проблемы:

  1. Загрузите и распакуйте пакет MSI из установщика текущей установленной версии, следуя инструкциям по получению пакета MSI.
  2. Скопируйте пакет MSI в C:\Windows\Installer и переименуйте его в соответствии с именем, указанным в логах (в этом примере, 312c0.msi).

Дополнительные сведения см. в разделе Отсутствие кэша установщика Windows требует переустановки компьютера.

Папка AI_RecycleBin заполняет место на диске

Это известная проблема с Advanced Installer. В качестве обходного решения установщик ЕдиногоАгента очищает папку AI_RecycleBin в конце установки. Однако эта очистка может не сработать, если установка завершится сбоем на раннем этапе, например, если в кэше установщика Windows отсутствует пакет MSI. Подробнее см. обсуждение на форумах Advanced Installer.

AIX

Внедрение не работает из-за ручной настройки предыдущей версии

Если вы использовали ЕдиныйАгент для AIX версии до 1.137, возможно, вы настроили его JAVA_OPTS с помощью скрипта astromkey-java-env.sh. Перед использованием унифицированных скриптов мониторинга его необходимо удалить astromkey-agentXX.sh.

  • Убедитесь, что astromkey-java-env.sh не вызывается нигде в вашей оболочке при использовании скрипта astromkey-agentXX.sh. astromkey-java-env.sh устарел и должен использоваться только в качестве запасного варианта.
  • Проверьте наличие и удалите следующий параметр из командной строки Java или сценариев запуска (конкретная директория может отличаться):
    -agentpath:/opt/astromkey/oneagent/agent/lib64/liboneagentloader.so

LDR_PRELOAD64: параметр не установлен

Подобная ошибка может возникнуть при использовании скрипта оболочки astromkey-agentXX.sh.

Info: using DT_HOME: /opt/astromkey/oneagent

.profile[33] LDR_PRELOAD64: parameter not set

Это происходит, если вы обрабатываете неустановленные переменные set -u и параметры как ошибки. Скрипт astromkey-agentXX.sh экспортирует переменные, которые, хотя и могут отсутствовать в вашем скрипте, тем не менее необходимы и являются ключом к его корректной работе. Чтобы избежать этого, вызовите скрипт set +u раньше astromkey-agentXX.sh.

# avoid error

set +u

export DT_HOME=/opt/astromkey/oneagent

. $DT_HOME/astromkey-agent64.sh