انتقل إلى المحتوى الرئيسي

كتيبات الأدوات

توفر كتيبات الأدوات أدوات تشغيلية لإدارة بنية OmniCore التحتية المنفذة. تقع هذه الكتيبات في دليل util_playbooks/ ويمكن تشغيلها بشكل مستقل لأداء مهام الصيانة واستكشاف الأخطاء الشائعة.

مرجع سريع

كتيب الأدواتالغرض
proxmox.ymlتوفير VMs على Proxmox
proxmox_delete.ymlحذف VMs/LXCs على Proxmox
proxmox_lxc.ymlتوفير حاويات LXC على Proxmox
vmware.ymlتوفير VMs على VMware vSphere
vmware_delete.ymlحذف VMs على VMware vSphere
health_check.ymlإنشاء تقرير صحة شامل لجميع الخدمات
restore_hss.ymlاستعادة قاعدة بيانات HSS و/أو التكوين من النسخة الاحتياطية
restore_ocs.ymlاستعادة OCS KeyDB وMySQL والتكوين من النسخة الاحتياطية
ip_plan_generator.ymlإنشا�� وثائق الشبكة مع مخططات Mermaid
get_ports.ymlتدقيق المنافذ المفتوحة والخدمات المستمعة عبر جميع المضيفين
getLocalCapture.ymlاسترجاع ملفات التقاط الحزم من المضيفين
delete_local_user.ymlإزالة حساب مستخدم محلي من جميع المضيفين

توفير VMs

تقوم كتيبات توفير VMs بإنشاء وإدارة الآلات الافتراضية على منصات المحاكاة الافتراضية. تدعم جميع الكتيبات --limit لاستهداف مضيفين أو مجموعات معينة.

راجع نشر Proxmox للحصول على تكوين مفصل.

Proxmox

الملفات: util_playbooks/proxmox.yml, util_playbooks/proxmox_lxc.yml, util_playbooks/proxmox_delete.yml

# توفير VMs
ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/proxmox.yml

# توفير مجموعة معينة فقط
ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/proxmox.yml --limit mme

# توفير حاويات LXC
ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/proxmox_lxc.yml

# حذف VMs/LXCs
ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/proxmox_delete.yml --limit old-host

VMware vSphere

الملفات: util_playbooks/vmware.yml, util_playbooks/vmware_delete.yml

المتطلبات المسبقة: يتطلب تثبيت التبعيات من requirements.txt.

الاستخدام:

# توفير VMs
ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/vmware.yml

# توفير مجموعة معينة فقط
ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/vmware.yml --limit mme

# حذف VMs
ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/vmware_delete.yml --limit old-host

المتغيرات المطلوبة:

all:
vars:
vcenter_ip: "vcenter.example.com"
vcenter_username: "administrator@vsphere.local"
vcenter_password: "password"
vcenter_datacenter: "Datacenter"
vcenter_folder: "OmniCore"
vcenter_vm_template: "ubuntu-2404-template"
vhosts:
esxi-01:
vcenter_cluster_ip: "192.168.1.10"
vcenter_datastore: "datastore1"

فحص الصحة

الملف: util_playbooks/health_check.yml

ينشئ تقرير صحة شامل بتنسيق HTML يغطي جميع خدمات OmniCore وOmniCall المنفذة.

ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/health_check.yml

الإخراج: /tmp/health_check_YYYY-MM-DD HH:MM:SS.html

المعلومات المجمعة

المكونالبيانات المجمعة
جميع الخدماتحالة الخدمة، الإصدار، وقت التشغيل
OmniHSSحالة قاعدة البيانات، اتصالات نظير Diameter
OmniDRAاتصالات نظير Diameter والحالة
OmniTASالمكالمات النشطة، الجلسات، التسجيلات، استخدام وحدة المعالجة المركزية
OCSحالة تكرار KeyDB

استعادة HSS

الملف: util_playbooks/restore_hss.yml

يستعيد OmniHSS من ملفات النسخ الاحتياطي. يدعم استعادة قاعدة البيانات فقط، أو التكوين فقط، أو كليهما.

ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/restore_hss.yml

تنسيقات ملفات النسخ الاحتياطي

النوعنمط اسم الملفالمحتويات
قاعدة البياناتhss_dump_<hostname>_<timestamp>.sqlتفريغ MySQL لقاعدة بيانات omnihss
التكوينhss_<hostname>_<timestamp>.tar.gzأرشيف لدليل /etc/omnihss

استعادة OCS

الملف: util_playbooks/restore_ocs.yml

يستعيد OCS (CGrateS) من ملفات النسخ الاحتياطي. يتعامل مع تكرار KeyDB متعدد الماستر عن طريق الاستعادة إلى عقدة واحدة والسماح بالتكرار لمزامنة الآخرين.

ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/restore_ocs.yml

عملية الاستعادة

  1. إيقاف CGrateS وKeyDB على جميع عقد OCS
  2. مسح ملفات AOF لمنع التعارض مع البيانات المستعادة
  3. استعادة KeyDB RDB إلى العقدة الأولى، بدء KeyDB، والسماح بالتكرار للمزامنة
  4. استعادة MySQL StoreDB (اختياري)
  5. استعادة تكوين /etc/cgrates (اختياري)
  6. بدء CGrateS على جميع العقد

تنسيقات ملفات النسخ الاحتياطي

النوعنمط اسم الملفالمحتويات
بيانات KeyDBkeydb_dump_<hostname>_<timestamp>.rdbلقطة RDB لـ KeyDB
MySQL StoreDBcgrates_dump_<hostname>_<timestamp>.sqlتفريغ MySQL لقاعدة بيانات cgrates
التكوينcgrates_<hostname>_<timestamp>.tar.gzأرشيف لدليل /etc/cgrates

المطالبات

المطالبةمطلوبالوصف
مسار تفريغ KeyDB RDBنعمالمسار الكامل لملف النسخ الاحتياطي KeyDB RDB
مسار تفريغ MySQL SQLلاالمسار الكامل لتفريغ SQL لـ CGrateS (تخطي للحفاظ على StoreDB الحالي)
مسار التكوين tar.gzلاالمسار الكامل لنسخة التكوين الاحتياطية (تخطي للحفاظ على التكوين الحالي)

مولد خطة IP

الملف: util_playbooks/ip_plan_generator.yml

ينشئ وثائق الشبكة من الجرد، بما في ذلك:

  • تخصيصات IP للمضيف (NICs الأساسية والثانوية)
  • نظرة عامة على شريحة الشبكة
  • مخططات الاتصال بالواجهة (Diameter، GTP، PFCP، SIP، SS7)
ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/ip_plan_generator.yml

ملفات الإخراج

الملفالتنسيقالوصف
/tmp/ip_plan_<customer>_<site>.mdMarkdown��ثائق نصية
/tmp/ip_plan_<customer>_<site>.htmlHTMLمخطط تفاعلي مع طبقات قابلة للتصفية

تدقيق المنافذ

الملف: util_playbooks/get_ports.yml

يدقق جميع المنافذ المستمعة عبر النشر وينشئ وثائق.

ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/get_ports.yml

ملفات الإخراج

الملفالوصف
/tmp/all_ports.csvCSV مع اسم المضيف، IP، البروتوكول، المنفذ، الخدمة
./open_ports.rstجدول reStructuredText لوثائق Sphinx

البيانات المجمعة

الحقلالوصف
اسم المضيفاسم المضيف في الجرد
IPعنوان IP للمضيف ansible_host
إصدار IPIPv4 أو IPv6
النقلTCP أو UDP
المنفذرقم المنفذ المستمع
الخدمةاسم العملية

استرجاع الالتقاط المحلي

الملف: util_playbooks/getLocalCapture.yml

يسترجع أحدث ملفين لالتقاط الحزم من دليل /etc/localcapture لكل مضيف.

ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/getLocalCapture.yml

الإخراج: ./localCapturePcaps/<hostname>/*.pcap

إدارة المستخدمين

الملف: util_playbooks/delete_local_user.yml

يزيل حساب مستخدم محلي من جميع المضيفين في الجرد.

ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/delete_local_user.yml

المطالبة: أدخل اسم المستخدم للحذف عند المطالبة.

تشغيل كتيبات الأدوات

الصياغة الأساسية

ansible-playbook -i <inventory_file> util_playbooks/<playbook>.yml

الخيارات الشائعة

الخيارالوصف
-i <inventory>تحديد ملف الجرد
--limit <hosts>الحد من المضيفين أو المجموعات المحددة
-v / -vv / -vvvزيادة مستوى التفاصيل
--checkتشغيل جاف (عرض ما سيتغير)
--diffعرض اختلافات الملفات

أمثلة

# تشغيل فحص الصحة على الإنتاج
ansible-playbook -i hosts/acme/host_files/production.yml util_playbooks/health_check.yml

# استعادة HSS على مضيف معين
ansible-playbook -i hosts/acme/host_files/production.yml util_playbooks/restore_hss.yml --limit hss01

# إنشاء خطة IP مع إخراج مفصل
ansible-playbook -i hosts/acme/host_files/production.yml util_playbooks/ip_plan_generator.yml -v