كتيبات الأدوات
توفر كتيبات الأدوات أدوات تشغيلية لإدارة بنية 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
عملية الاستعادة
- إيقاف CGrateS وKeyDB على جميع عقد OCS
- مسح ملفات AOF لمنع التعارض مع البيانات المستعادة
- استعادة KeyDB RDB إلى العقدة الأولى، بدء KeyDB، والسماح بالتكرار للمزامنة
- استعادة MySQL StoreDB (اختياري)
- استعادة تكوين
/etc/cgrates(اختياري) - بدء CGrateS على جميع العقد
تنسيقات ملفات النسخ الاحتياطي
| النوع | نمط اسم الملف | المحتويات |
|---|---|---|
| بيانات KeyDB | keydb_dump_<hostname>_<timestamp>.rdb | لقطة RDB لـ KeyDB |
| MySQL StoreDB | cgrates_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>.md | Markdown | ��ثائق نصية |
/tmp/ip_plan_<customer>_<site>.html | HTML | مخطط تفاعلي مع طبقات قابلة للتصفية |
تدقيق المنافذ
الملف: util_playbooks/get_ports.yml
يدقق جميع المنافذ المستمعة عبر النشر وينشئ وثائق.
ansible-playbook -i hosts/customer/host_files/production.yml util_playbooks/get_ports.yml
ملفات الإخراج
| الملف | الوصف |
|---|---|
/tmp/all_ports.csv | CSV مع اسم المضيف، IP، البروتوكول، المنفذ، الخدمة |
./open_ports.rst | جدول reStructuredText لوثائق Sphinx |
البيانات المجمعة
| الحقل | الوصف |
|---|---|
| اسم المضيف | اسم المضيف في الجرد |
| IP | عنوان IP للمضيف ansible_host |
| إصدار IP | IPv4 أو 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