تم إهمال هذا المستودع. لقد نقلنا رمز الإنشاء إلى مستودع OpenNMS. تم دمج سير العمل النشر والبناء الآن كجزء من سير عمل CI/CD.
سنقوم أرشفة هذا المستودع مع Horizon 25 ولن يحتفظ هذا المستودع.
bleeding ، نسخة حافة النزيف اليومية من Horizon 24 باستخدام OpenJDK 1124.1.0 ، آخر إصدار مستقر من Horizon باستخدام OpenJDK 11 يوفر هذا المستودع لقطات لـ Horizon كصور Docker. توفر الصورة خدمات مراقبة Horizon Core وتطبيق الويب.
يوصى باستخدام 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إذا كنت تفضل أن تفتح تكوين Horizon على مضيف Docker الخاص بك في دليل معين ، فيمكنك تركيب دليل مع التكوين الخاص بك مثل هذا:
volumes :
- ./myHorizonConfig:/opt/opennms/etc في حالة فارغ الدليل ، سيتم تهيئته بتكوين PRISTINE الافتراضي من /opt/opennms/share/etc-pristine .
هام: اعتن بالتكوينات التي يمكن تغييرها من خلال واجهة المستخدم على الويب والتي تستمر في نظام الملفات ، eg 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 8980. يمكنك تسجيل الدخول باستخدام مسؤول المستخدم الافتراضي مع مسؤول كلمة المرور. يرجى تغيير كلمة المرور الافتراضية على الفور إلى كلمة مرور آمنة.
للحصول على مساعدة لجميع خيارات الحاويات المتاحة فقط تشغيل:
docker run --rm opennms/horizon-core-web من الممكن بسهولة إضافة خيارات Java للتحكم في سلوك JVM لضبط الأداء أو تصحيح الأخطاء. يتم تمرير متغير البيئة JAVA_OPTS على أمر Java ويمكن استخدامه لتمديد أو كتابة خيارات JVM.
هام: لإعطاء مزيد من التحكم في قيادة Java الثنائية أصلاً في خيارات 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-Corm:
opennms :
container_name : opennms.core.web
image : opennms/horizon-core-web:latest
environment :
- JAVA_OPTS=-XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintFlagsFinal للتحكم وعزل استخدام الموارد للعمليات ، يتم استخدام ميزة kernel cgroups (مجموعات التحكم) . مع وجود مزيج من Java ، هناك بعض الأشياء الإضافية لرعايتها فيما يتعلق بالحجم القصوى للكومة وتقييد استخدام الذاكرة للحاوية.
بشكل افتراضي ، تحسب بيئة العمل JVM الحد الأقصى لحجم السموات استنادًا إلى ذاكرة مضيف Docker وليس بواسطة الذاكرة التي تم تعيينها مع Cgroups .
لضمان حساب JVM الحد الأقصى لحجم الكومة ، لديك خياران:
-Xmx انظر القسم أعلاه تعيين خيارات JavaJAVA_OPTS=-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap اعتبارًا من Java SE 8U131 ، فإن JVM مدرك مع حدود وحدة المعالجة المركزية Docker بشفافية. طالما لم يتم تحديد -XX:ParallelGCThreads أو -XX:CICompilerCount ، سوف يطبق JVM حد وحدة المعالجة المركزية Docker كوحدة المعالجة المركزية للرقم ويحسب عدد مؤشرات ترابط 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 ، الافتراضي: 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 : منفذ SSH لـ KARAF ، افتراضي: 8101باستخدام مجموعة كاساندرا:
${OPENNMS_CASSANDRA_HOSTNAMES} : اسم المضيف أو عنوان IP لمجموعة كاساندرا ، تقبل قائمة مفصول فاصلة أيضًا${OPENNMS_CASSANDRA_KEYSPACE} : مساحة الاسم لاستمرار بيانات الأداء في ، الافتراضي: newts${OPENNMS_CASSANDRA_PORT} : ميناء كاساندرا ، الافتراضي: 9042${OPENNMS_CASSANDRA_USERNAME} : اسم المستخدم للوصول إلى كاساندرا${OPENNMS_CASSANDRA_PASSWORD} : كلمة المرور التي تصل إلى كاساندرا بشكل افتراضي ، سيتم تشغيل صورة OpenNMS Horizon باستخدام RRDTool لتخزين بيانات الأداء. ومع ذلك ، يمكن أيضًا تكوين Horizon OpenNMS لتشغيله على كاساندرا باستخدام مخطط سلسلة Newts .
يمكن العثور على خيارات التكوين في قسم متغيرات البيئة . يتم توفير opennms-cassandra-helm.yml الذي يوضح كيفية تشغيل Horizon OpenNMS مع عقدة كاساندرا واحدة صغيرة على نفس الجهاز.
MIRROR_HOST : خادم مع حزم RPM ، افتراضي: yum.opennms.orgOPENNMS_VERSION : إصدار ملفات OpenNMS Horizon RPM ، افتراضي: stable