이 저장소는 더 이상 사용되지 않습니다. 빌드 코드를 OpenNMS 저장소로 옮겼습니다. 게시 및 빌드 워크 플로는 이제 CI/CD 워크 플로의 일부로 통합되었습니다.
우리는이 저장소를 Horizon 25로 보관할 것이며 더 이상이 저장소를 유지하지 않습니다.
bleeding , 일일 출혈 엣지 버전의 Horizon 24 사용 OpenJDK 1124.1.0 , OpenJDK 11을 사용한 Horizon의 마지막 안정적인 릴리스 이 저장소는 Docker 이미지로 Horizon 용 스냅 샷을 제공합니다. 이 이미지는 Horizon Core 모니터링 서비스 및 웹 응용 프로그램을 제공합니다.
공식 PostgreSQL 이미지를 사용하여 docker-compose 사용하여 서비스 스택을 구축하는 것이 좋습니다. 이미 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 OpenNMS Horizon 구성 파일을 수동으로 편집해야하며 etc-overlay 디렉토리를 제공하여 고유 한 구성 파일을 추가 할 수 있습니다. 시작시 파일은 기본 구성을 덮어 씁니다.
- ./etc-overlay:/opt/opennms-etc-overlay특정 디렉토리의 Docker 호스트에서 Horizon Configuration을 Opennms Horizon 구성을 선호하는 경우 다음과 같은 구성으로 디렉토리를 장착 할 수 있습니다.
volumes :
- ./myHorizonConfig:/opt/opennms/etc 디렉토리가 비어있는 경우 /opt/opennms/share/etc-pristine 의 기본 원시 구성으로 초기화됩니다.
snmp-config.xml : 파일 시스템에 지속되는 groups.xml UI surveillance-categories.xml 통해 변경할 수있는 구성에 대해주의를 기울이십시오 users.xml
git clone https://github.com/opennms-forge/docker-horizon-core-web.git
cd docker-horizon-core-web
docker-compose up -d웹 응용 프로그램은 TCP 포트 8980에 노출되며 비밀번호 관리자 로 기본 사용자 관리자 로 로그인 할 수 있습니다. 기본 비밀번호를 보안 비밀번호로 즉시 변경하십시오.
사용 가능한 모든 컨테이너 옵션에 대한 도움을 얻으려면 다음과 같습니다.
docker run --rm opennms/horizon-core-web 성능 튜닝 또는 디버깅을 위해 JVM의 동작을 제어하기 위해 Java 옵션을 추가 할 수 있습니다. 환경 변수 JAVA_OPTS Java 명령에 전달되며 JVM 옵션을 확장하거나 덮어 쓰는 데 사용될 수 있습니다.
중요 : opennms.conf 의 Docker-entrypoint.sh 및 Java 옵션의 기본적으로 Java Binary 명령을보다 제어하기 위해 평가되지 않습니다 . Java 프로세스에는 PID 1과가 있습니다
환경 파일에서 사용 :
env_file :
- .java.env
cat .java.env
JAVA_OPTS=-XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintFlagsFinalDocker-Compose 서비스 환경 정의에 사용 :
opennms :
container_name : opennms.core.web
image : opennms/horizon-core-web:latest
environment :
- JAVA_OPTS=-XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintFlagsFinal 프로세스의 자원 사용을 제어하고 분리하기 위해 커널 기능 CGROUPS (제어 그룹)가 사용됩니다. Java의 조합으로 최대 힙 크기 와 컨테이너의 메모리 사용 제한과 관련하여 처리해야 할 추가 사항이 있습니다.
기본적으로 JVM 인체 공학은 CGROUPS 와 함께 메모리 세트가 아닌 Docker 호스트 메모리를 기반으로 최대 힙 크기를 계산합니다.
JVM이 최대 힙 크기를 계산하도록하려면 두 가지 옵션이 있습니다.
-Xmx 로 수동으로 올바른 최대 힙 크기 설정 위의 섹션을 참조하십시오 .JAVA_OPTS=-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap Java SE 8U131 현재 JVM은 Docker-Aware가 Docker CPU 제한을 투명하게 제한합니다. -XX:ParallelGCThreads 또는 -XX:CICompilerCount 가 지정되지 않으면 JVM은 Docker CPU 한계를 CPU 숫자로 적용하고 Bare Metal에서 실행되는 것처럼 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 업데이트를 시행하려면 /opt/opennms/etc/do-upgrade 파일을 만듭니다. -i 또는 -s 로 시작하면 install -dis 명령을 한 번 실행하여 구성 및 데이터베이스 스키마를 업데이트합니다.
업그레이드 또는 시작 OpenNMS Horizon을 수행하는 모든 옵션 구성이 유효한지 확인하고 구성 테스트를 통과합니다.
OpenNM 이외의 사용자 정의 구성 파일을 유지하려면 ETC-OverLay 디렉토리를 사용할 수 있습니다. 이 디렉토리의 모든 파일은 실행중인 컨테이너에서/opt/opennms/etc에 복사됩니다. 다음과 같은 로컬 디렉토리를 장착 할 수 있습니다.
volumes :
- ./etc-overlay:/opt/opennms-etc-overlay Jetty Application 컨테이너의 사용자 정의 구성 파일을 유지하려면 Jetty-Overlay 디렉토리를 사용할 수 있습니다. 이 디렉토리의 모든 파일은 달리기 컨테이너의/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
Verbose Output -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 관리자 사용자, 기본값 : postgresPOSTGRES_PASSWORD : postgresql 관리자 암호, 기본값 : 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 : KARAF 용 SSH 포트, 기본값 : 8101카산드라 클러스터 사용 :
${OPENNMS_CASSANDRA_HOSTNAMES} : CASSANDRA 클러스터의 호스트 이름 또는 IP 주소, 쉼표 분리 목록도 허용됩니다.${OPENNMS_CASSANDRA_KEYSPACE} : 성능 데이터를 지속 할 수있는 공간, 기본값 : newts${OPENNMS_CASSANDRA_PORT} : CASSANDRA 포트, 기본값 : 9042${OPENNMS_CASSANDRA_USERNAME} : CASSANDRA에 액세스하는 사용자 이름${OPENNMS_CASSANDRA_PASSWORD} : CASSANDRA에 액세스하는 비밀번호 기본적으로 OpenNMS Horizon 이미지는 성능 데이터 저장에 RRDTool을 사용하여 실행됩니다. 그러나 OpenNMS Horizon은 Newts 시계열 스키마를 사용하여 Cassandra 에서 실행하도록 구성 할 수도 있습니다.
구성 옵션은 환경 변수 섹션에서 찾을 수 있습니다. opennms-cassandra-helm.yml 은 동일한 기계에 작은 단일 카산드라 노드로 OpenNMS Horizon을 실행하는 방법을 보여줍니다.
MIRROR_HOST : rpm 패키지가있는 서버, 기본값 : yum.opennms.orgOPENNMS_VERSION : OpenNMS Horizon RPM 파일의 버전, 기본값 : stable