Проблемы с использованием Java на сервере Linux [закрыто]

Вопрос или проблема

У нас около 250 серверов Red Hat Linux. На всех из них была установлена Oracle JDK/JRE. Нам нужно заменить Oracle JDK/JRE на OpenJDK/JRE.

Меня попросили выяснить, используется ли Java на этих машинах. Oracle предлагает Java Usage Tracker.

Я пытался следовать инструкциям, но пока это не сработало. Вот мой файл usagetracker.properties

# Файл свойств шаблона UsageTracker.
# Скопируйте в <каталог JRE>/conf/management/usagetracker.properties
# (или <каталог JRE>/lib/management/usagetracker.properties для
# версий JRE до 9) и отредактируйте, раскомментировав необходимые параметры, чтобы включить.
com.oracle.usagetracker.enabled = true
# Настройки для логирования в файл:
# Используйте прямые слэши (/) потому что обратный слэш - это символ экранирования в
# файле свойств.
com.oracle.usagetracker.logToFile = ~/.java_usagetracker
# com.oracle.usagetracker.logToFile = /u01/downloads/javausage.log
# Настройки для логирования в UDP сокет:
# com.oracle.usagetracker.logToUDP = hostname.domain:32139

# (Дополнительно) Укажите предел размера файла в байтах:
com.oracle.usagetracker.logFileMaxSize = 10000000

# Если запись должна включать дополнительные свойства Java,
# это может быть список, разделенный запятыми:
# com.oracle.usagetracker.additionalProperties =

# Дополнительные параметры:
# com.oracle.usagetracker.verbose = true
com.oracle.usagetracker.separator = ,
com.oracle.usagetracker.quote = "
com.oracle.usagetracker.innerquote="

Я не вижу лог-файла в указанном месте в usagetracker.properties. Пожалуйста, дайте знать, что я делаю не так.

Если это будет работать на одной машине, я смогу использовать Ansible, чтобы распространить это на остальные.

Ответ или решение

К сожалению, ваш вопрос был закрыт как требующий уточнений и дополнительных деталей. Однако я постараюсь ответить на ваш запрос и помочь вам с настройкой Java Usage Tracker на ваших серверах.

Вы пытаетесь включить трекер использования Java (Java Usage Tracker) для определения, используется ли Java на ваших серверах с Red Hat Linux. Давайте разберемся, какую помощь я могу вам оказать.

  1. Проверка настройки файла usagetracker.properties:

    • Убедитесь, что файл usagetracker.properties находится в правильной директории. Для JRE 9 и выше он должен находиться в <JRE directory>/conf/management/. Если у вас более ранняя версия JRE, он должен находиться в <JRE directory>/lib/management/.
    • Убедитесь, что вы правильно установили и раскомментировали настройки, включая com.oracle.usagetracker.enabled = true.
  2. Логирование:

    • В строке, где указано com.oracle.usagetracker.logToFile = ~/.java_usagetracker, обратите внимание, что ~ может не интерпретироваться корректно в некоторых окружениях, поэтому попробуйте указать полный путь к каталогу. Например:
      com.oracle.usagetracker.logToFile = /home/ваш_пользователь/.java_usagetracker
    • Проверьте, есть ли у пользователя, под которым работает Java (например, при запуске вашего приложения), права на запись в каталог, указанный для лога.
  3. Запуск Java с поддержкой Usage Tracker:

    • Убедитесь, что вы запускаете ваше Java-приложение с правильными разрешениями и что системные переменные настроены правильно. Например, возможно, вам потребуется установить переменную окружения JAVA_HOME на правильный путь к вашему JRE.
  4. Тестирование:

    • После внесения изменений перезапустите приложение, использующее Java, для того чтобы проверить, начинает ли созданный лог файл записывать данные.
    • Если у вас есть доступ к командной строке, вы можете выполнить простую Java-программу, чтобы проверить работоспособность трекера. Например:
      public class TestJavaUsage {
       public static void main(String[] args) {
           System.out.println("Java Usage Tracker test.");
       }
      }
    • Скомпилируйте и выполните эту программу, чтобы проверить, создается ли файл лога и записывает ли он данные.
  5. Использование Ansible для развертывания:

    • После успешного тестирования на одной машине вы можете подготовить плейбук Ansible для автоматического развертывания настроек на оставшиеся серверы.
    • Пример плейбука может выглядеть следующим образом:
      - hosts: all
      tasks:
       - name: Copy usagetracker.properties
         copy:
           src: /path/to/local/usagetracker.properties
           dest: /path/to/remote/jre/conf/management/usagetracker.properties
         become: yes

Надеюсь, эта информация окажется полезной в решении вашей задачи. Если у вас возникнут дальнейшие вопросы или проблемы, пожалуйста, не стесняйтесь уточнять!

Оцените материал
Добавить комментарий

Капча загружается...