Этот репозиторий устарел. Мы перенесли код сборки в репозиторий OpenNMS. Рабочий процесс публикации и сборки теперь интегрирован как часть нашего рабочего процесса CI/CD.
Мы будем архивировать этот репозиторий с горизонтом 25 и больше не будем поддерживать этот репозиторий.
bleeding , ежедневное кровотечение версии Horizon 24 с использованием OpenJDK 1124.1.0 , последний стабильный выпуск горизонта с использованием OpenJDK 11 Этот репозиторий предоставляет снимки для горизонта в качестве изображений Docker. Изображение предоставляет сервисы мониторинга Core Horizon и веб -приложение.
Рекомендуется использовать docker-compose для создания стека услуг, используя официальное изображение PostgreSQL . Если у вас уже есть запуск базы данных PostgreSQL , вы можете предоставить конфигурацию базы данных в файлах среды .opennms.env и .postgres.env , в противном случае будут созданы пользователи и база данных.
Данные по умолчанию сохраняются на вашем хосте Docker, используя локальный драйвер объема для следующих данных:
# PostgreSQL database
psql.data :
driver : local
# OpenNMS Horizon RRD files, logs and generated PDF reports
opennms.data :
driver : local
# OpenNMS Horizon configuration files
opennms.etc :
driver : local Требуется вручную редактировать файлы конфигурации Horizon OpenNMS , вы можете добавить свои собственные файлы конфигурации, предоставив каталог etc-overlay При запуске файлы перезаписывают конфигурацию по умолчанию.
- ./etc-overlay:/opt/opennms-etc-overlayЕсли вы предпочитаете, чтобы вы OpenNMS Horizon Configuration на вашем хосте Docker в определенном каталоге вы можете установить каталог с вашей конфигурацией, как это:
volumes :
- ./myHorizonConfig:/opt/opennms/etc В случае, если каталог пуст, он будет инициализирован с помощью нетронутой конфигурации по умолчанию из /opt/opennms/share/etc-pristine .
ВАЖНО: Позаботьтесь о конфигурациях, которые можно изменить через веб-интерфейс, который сохраняется в файловой системе, например, users.xml , groups.xml , surveillance-categories.xml , snmp-config.xml и т. Д.
git clone https://github.com/opennms-forge/docker-horizon-core-web.git
cd docker-horizon-core-web
docker-compose up -dВеб -приложение выявлено на TCP Port 8980. Вы можете войти в систему с администратором пользователя по умолчанию с администратором пароля. Пожалуйста, сразу измените пароль по умолчанию на безопасный пароль.
Чтобы получить помощь для всех доступных вариантов контейнера. Просто запустите:
docker run --rm opennms/horizon-core-web Легко можно добавить варианты Java, чтобы контролировать поведение JVM для настройки или отладки. Переменная среда JAVA_OPTS передается по команде Java и может использоваться для расширения или перезаписи параметров JVM.
ВАЖНО: чтобы дать больше контроля бинарной команды Java NAGIVE в Docker-EntryPoint.SH и вариантах Java на opennms.conf не оцениваются. Процесс Java имеет PID 1 и
Используется в файле среды:
env_file :
- .java.env
cat .java.env
JAVA_OPTS=-XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintFlagsFinalИспользуется в определении среды обслуживания Docker-Compose:
opennms :
container_name : opennms.core.web
image : opennms/horizon-core-web:latest
environment :
- JAVA_OPTS=-XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintFlagsFinal Для управления и изолировать использование ресурсов процессов используются CGROUPS CRENLES CGROUPS (управляющие группы) . С комбинацией Java есть несколько дополнительных вещей, о которых можно позаботиться о максимальном размере кучи и ограниченном использовании памяти контейнера.
По умолчанию JVM Ergonomics вычисляет максимальный размер кучи на основе памяти хоста Docker, а не по набору памяти с CGROUPS .
Чтобы убедиться, что JVM вычисляет максимальный размер кучи , у вас есть два варианта:
-Xmx См. Раздел выше, установите параметры JavaJAVA_OPTS=-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap Начиная с Java SE 8U131, JVM является докером, а также прозрачно ограничивает процессор Docker. До тех пор, если -XX:ParallelGCThreads или -XX:CICompilerCount не указан, JVM будет применять предел Docker CPU в качестве числа CPU и вычисляет количество резьбов компилятора GC и JIT, как и работает на головом металле.
Сценарий точки входа используется для управления начальным поведением:
-f: Apply overlay configuration if exist and just start OpenNMS Horizon
-h: Show help
-i: If necessary initialize database, create pristine configuration, do an upgrade and apply the overlay config but do * not * start OpenNMS Horizon
-s: Same as -i but start OpenNMS Horizon, this should be your default
-n: Initialize Newts on Cassandra and the PostgreSQL database, do * not * start OpenNMS Horizon
-c: Same as -n but start OpenNMS Horizon, this should be your default when you want to use Newts on Cassandra
-t: Just test you configuration Если вы хотите обеспечить обновление, создайте файл A /opt/opennms/etc/do-upgrade . Начиная с -i или -s запустить команду install -dis один раз, чтобы обновить схему конфигурации и базы данных.
Все параметры, которые выполняют обновления или запускают OpenNMS Horizon, проверяют, является ли конфигурация действительна, и пройти тест на конфигурацию.
Если вы просто хотите поддерживать пользовательские файлы конфигурации за пределами OpenNMS, вы можете использовать каталог ETC-Overlay. Все файлы в этом каталоге только скопированы в/opt/opennms/etc в работающем контейнере. Вы можете просто установить местный каталог, как это:
volumes :
- ./etc-overlay:/opt/opennms-etc-overlay Если вы просто хотите поддерживать пользовательские файлы конфигурации для контейнера приложения Jetty, вы можете использовать каталог причала. Все файлы в этом каталоге только что скопированы в/opt/opennms/jetty-webapps/opennms/web-inf в работающем контейнере. Вы можете просто установить местный каталог, как это:
volumes :
- ./jetty-overlay:/opt/opennms-jetty-webinf-overlay Чтобы наложить произвольные файлы/структуры каталога произвольных конфигураций, вы можете использовать каталог OpenNMS-Overlay. Содержание этого каталога копируется в/opt/opennms/в работающем контейнере. Вы можете просто установить местный каталог, как это:
volumes :
- ./opennms-overlay:/opt/opennms-overlay Это изображение позволяет проверять файлы конфигурации, если они являются действительными XML, и если их можно загрузить при запуске. Он автоматически выполняется при запуске, но также может быть выполнено как одна команда выстрела.
Получите выход использования тестера конфигурации с помощью:
docker run --rm opennms/horizon-core-web:latest -tНекоторые примеры, как использовать тестер конфигурации с этим изображением:
Проверьте все файлы конфигурации:
docker run --rm opennms/horizon-core-web:latest -t -a
Проверьте только определенный файл конфигурации с помощью словесного вывода -v :
docker run --rm opennms/horizon-core-web:latest -t -v snmp-config.xml
Испытательные файлы конфигурации с помощью каталога ETC-Overlay:
docker run --rm -v $(pwd)/etc-overlay:/opt/opennms-etc-overlay opennms/horizon-core-web:latest -t -v snmp-config.xml
POSTGRES_HOST : хост базы данных postgresql, по умолчанию: databasePOSTGRES_PORT : порт для доступа к базе данных PostgreSQL, по умолчанию: 5432POSTGRES_USER : Postgresql Admin Пользователь, по умолчанию: postgresPOSTGRES_PASSWORD : postgresql Admin Password, по умолчанию: postgresOPENNMS_DBNAME : Имя базы данных для OpenNMS Horizon, по умолчанию: opennmsOPENNMS_DBUSER : Пользователь, чтобы получить доступ к базе данных OpenNMS Horizon, по умолчанию: opennmsOPENNMS_DBPASS : пароль для пользователя базы данных OpenNMS Horizon, по умолчанию: opennmsOPENNMS_KARAF_SSH_HOST : адрес прослушивания для порта KARAF SSH, по умолчанию: 0.0.0.0OPENNMS_KARAF_SSH_PORT : SSH PORT для KARAF, по умолчанию: 8101Используя кластер Cassandra:
${OPENNMS_CASSANDRA_HOSTNAMES}${OPENNMS_CASSANDRA_KEYSPACE} : Имя пространства для постоянных данных о производительности, по умолчанию: newts${OPENNMS_CASSANDRA_PORT} : порт Кассандры, по умолчанию: 9042${OPENNMS_CASSANDRA_USERNAME} : имя пользователя доступа к Cassandra${OPENNMS_CASSANDRA_PASSWORD} : Доступ к паролю Cassandra По умолчанию изображение Horizon OpenNMS будет работать с использованием RRDTOOL для хранения данных. Однако OpenNMS Horizon также можно настроить для запуска на Cassandra с использованием схемы временных рядов Newts .
Параметры конфигурации можно найти в разделе переменных среды . Представлен opennms-cassandra-helm.yml , который иллюстрирует, как запустить Horizon OpenNMS с небольшим отдельным узлом Cassandra на той же машине.
MIRROR_HOST : сервер с RPM -пактами, по умолчанию: yum.opennms.orgOPENNMS_VERSION : версия файлов RPM OpenNMS Horizon, по умолчанию: stable