PmaControl logo PmaControl
  • مرحباً
  • PmaControl
    • وكلاء الذكاء الاصطناعي 13 وكلاء محليين
    • عروضنا المجتمع، السحابة، محليًا، المميز
    • التوثيق أدلة، API، الهندسة المعمارية
    • السوق المكونات الإضافية للمجتمع
    • عملاء أكثر من 28 شركة
    • الأسئلة الشائعة 25 سؤالا / 7 فئات
    قواعد البيانات
    • ماريا دي بي 31 مادة
    • ماي إس كيو إل 11 مادة
    • مجموعة جاليرا 6 عناصر
    • ماكس سكيل 3 عناصر
    • ProxySQL 2 عناصر
    • أمازون أورورا ماي إس كيو إل 0 العناصر
    • قاعدة بيانات أزور 0 العناصر
    • انقر البيت 0 العناصر
    • GCP CloudSQL 0 العناصر
    • بيركوناسيرفر 0 العناصر
    • متجر واحد 0 العناصر
    • تي دي بي 0 العناصر
    • سرعة 0 العناصر
    الحلول
    • دعم 24 × 7 حالات الطوارئ MariaDB وMySQL
    • Observabilité SQL المراقبة والتنبيهات والطوبولوجيا
    • Haute disponibilité النسخ المتماثل، تجاوز الفشل، جاليرا
    • Disaster Recovery النسخ الاحتياطي والاستعادة، RPO/RTO
    • Sécurité & conformité التدقيق، اللائحة العامة لحماية البيانات، SOC2
    • Migration & upgrade صفر توقف عن العمل، pt-osc، gh-ost
  • عروضنا
  • موارد
    • التوثيق الأدلة الفنية وواجهات برمجة التطبيقات
    • مركز تحسين MySQL مؤشر تخفيض السعر والمقاييس والإعدادات والحوادث
    • الأسئلة الشائعة 25 سؤالا متكررا
    • الشهادات ملاحظات العملاء وحالات الاستخدام
    • مدونة مقالات ورؤى
    • خريطة الطريق الميزات القادمة
    مجالات الخبرة
    • Observabilité SQL المراقبة والتنبيهات وطوبولوجيا Dot3
    • Haute disponibilité النسخ المتماثل، تجاوز الفشل، جاليرا
    • Sécurité & conformité التدقيق، اللائحة العامة لحماية البيانات، SOC2، ISO 27001
    • Disaster Recovery النسخ الاحتياطي والاستعادة، RPO/RTO
    • Performance & optimisation ملخصات، شرح، ضبط
    • Migration & upgrade صفر توقف عن العمل، pt-osc
    روابط سريعة
    • جيثب ويكي 26 صفحة - التثبيت والمحرك والمكونات الإضافية
    • كود المصدر مستودع جيثب الرسمي
    • دعم 24 × 7 حالات الطوارئ MariaDB وMySQL
    • احجز عرضًا توضيحيًا 30 دقيقة - هندسة معمارية حقيقية
  • دعم 24 × 7
  • احجز عرضًا توضيحيًا
احجز عرضًا توضيحيًا
🇫🇷 FR Français 🇬🇧 EN English 🇵🇱 PL Polski 🇷🇺 RU Русский 🇨🇳 ZH 中文 🇸🇦 AR العربية
← العودة إلى بلوق

إضافة خوادم MariaDB / MySQL تلقائيًا إلى PmaControl عبر خدمة الويب

تم النشر بتاريخ 13 أبريل 2026 بواسطة Aurélien LEQUOY
pmacontrol rest-api automation devops webservice
يشارك X LinkedIn Facebook Email PDF
إضافة خوادم MariaDB / MySQL تلقائيًا إلى PmaControl عبر خدمة الويب

لماذا تتم عملية إضافة الخوادم بشكل تلقائي

عندما تقوم بمراقبة 5 خوادم MariaDB / MySQL، فإن إضافتها يدويًا إلى PmaControl أمر مقبول. عند 50 أو 200 خادم، لم يعد هذا هو الحال.

يسمح API REST لـ PmaControl بتصنيع هذه الإضافة: يمكن لبرنامج نصي أو خط أنابيب CI/CD أو أداة تنسيق (Ansible وTerraform) إنشاء خادم خاضع للإشراف في طلب HTTP واحد.

المتطلبات الأساسية

  • حساب خدمة ويب نشط في PmaControl (تم إنشاؤه أثناء التثبيت عبر config.json)
  • عنوان URL لمثيل PmaControl الخاص بك
  • يجب أن يكون العميل والبيئة المستهدفين موجودين (قم بإنشائهما أولاً عبر API إذا لزم الأمر)

نقطة النهاية الأساسية

POST /fr/api/config/servers
Content-Type: application/json

المصادقة عبر حساب خدمة الويب الذي تم تكوينه في configuration/webservice.config.php.

الحمولة لإضافة خادم

{
  "id_client": 1,
  "id_environment": 1,
  "name": "prod-db-01",
  "display_name": "Production DB 01",
  "ip": "10.68.68.100",
  "hostname": "prod-db-01.internal",
  "login": "pmacontrol",
  "passwd": "SecurePassword123",
  "database": "information_schema",
  "port": 3306,
  "is_ssl": 0,
  "ssh_port": 22,
  "ssh_login": "pmacontrol",
  "is_sudo": 1,
  "is_root": 0,
  "is_monitored": 1,
  "is_proxy": 0,
  "is_vip": 0
}

مجالات مهمة

المجال الوصف
id_client معرف العميل (المؤسسة)
id_environment معرف البيئة (الإنتاج، التدريج، إلخ.)
ip عنوان IP للوصول إلى الخادم MySQL
port المنفذ MySQL (الافتراضي 3306)
login / passwd MySQL معرفات المجموعة
is_monitored 1 = الإشراف النشط، 0 = معطل
is_proxy 1 إذا كان ProxySQL/MaxScale (يختبر الاتصال بشكل مختلف)
is_vip 1 إذا كان VIP/DNS (لا يوجد اتصال مباشر، متبوعًا بإعادة التوجيه)

أنشئ التبعيات أولاً

قبل إضافة خادم، يجب أن يكون العميل والبيئة موجودين.

إنشاء عميل

curl -s -X POST http://pmacontrol.local/fr/api/config/clients \
  -H "Content-Type: application/json" \
  -d '{"name": "68Koncept", "description": "Production infrastructure"}'

خلق بيئة

curl -s -X POST http://pmacontrol.local/fr/api/config/environments \
  -H "Content-Type: application/json" \
  -d '{"name": "Production", "description": "Live servers"}'

إضافة مفتاح SSH

curl -s -X POST http://pmacontrol.local/fr/api/config/ssh-keys \
  -H "Content-Type: application/json" \
  -d '{"name": "deploy-key", "private_key": "-----BEGIN RSA PRIVATE KEY-----\n..."}'

إكمال البرنامج النصي للإضافة المجمعة

#!/bin/bash
PMAC="http://pmacontrol.local"
CLIENT_ID=1
ENV_ID=1

SERVERS=(
  "prod-db-01:10.68.68.100:3306"
  "prod-db-02:10.68.68.101:3306"
  "prod-db-03:10.68.68.102:3306"
  "prod-proxy-01:10.68.68.200:6033"
)

for entry in "${SERVERS[@]}"; do
  IFS=: read -r name ip port <<< "$entry"
  is_proxy=0
  [[ "$name" == *proxy* ]] && is_proxy=1

  curl -s -X POST "$PMAC/fr/api/config/servers" \
    -H "Content-Type: application/json" \
    -d "{
      \"id_client\": $CLIENT_ID,
      \"id_environment\": $ENV_ID,
      \"name\": \"$name\",
      \"display_name\": \"$name\",
      \"ip\": \"$ip\",
      \"port\": $port,
      \"login\": \"pmacontrol\",
      \"passwd\": \"PmacMonitor2026\",
      \"database\": \"information_schema\",
      \"is_monitored\": 1,
      \"is_proxy\": $is_proxy,
      \"ssh_port\": 22,
      \"ssh_login\": \"pmacontrol\"
    }"
  echo " → $name added"
done

قائمة الخوادم الموجودة

curl -s http://pmacontrol.local/fr/api/config/servers | jq '.[] | {id, name, ip, is_monitored}'

تحديث الخادم

PUT /fr/api/config/servers/{id}
curl -s -X PUT http://pmacontrol.local/fr/api/config/servers/5 \
  -H "Content-Type: application/json" \
  -d '{"is_monitored": 0}'

حذف الخادم

الحذف هو حذف بسيط (is_deleted = 1). يختفي الخادم من الواجهة ولكنه يظل في القاعدة:

curl -s -X DELETE http://pmacontrol.local/fr/api/config/servers/5

علامات لتنظيم خوادمك

تسمح لك العلامات بتصنيف الخوادم (مركز البيانات، الدور، الإصدار):

# Créer un tag
curl -s -X POST http://pmacontrol.local/fr/api/config/tags \
  -H "Content-Type: application/json" \
  -d '{"name": "dc-paris", "description": "Paris datacenter"}'

# Associer un tag à un serveur (via l'interface ou l'API)

التحقق بعد الإضافة

بعد الإضافة، يبدأ PmaControl تلقائيًا في جمع ما إذا كان is_monitored = 1. تحقق في الواجهة:

  1. يظهر الخادم في القائمة Server > Main
  2. تحديثات طوبولوجيا Dot3 في الدورة القادمة
  3. تصل المقاييس الأولى خلال 60 ثانية

مواصفات OpenAPI

PmaControl يوضح مواصفات OpenAPI الكاملة:

GET /fr/api/openApi

يمكن استخدامه مع Swagger UI أو لإنشاء عملاء SDK تلقائيًا.

الخلاصة

يقوم API REST لـ PmaControl بتحويل إضافة الخوادم من مهمة يدوية إلى عملية قابلة للبرمجة وقابلة للتكرار. بالاشتراك مع Ansible أو Terraform، فإنه يسمح باتباع نهج البنية التحتية كرمز لمراقبة MariaDB / MySQL.

يشارك X LinkedIn Facebook Email PDF
← العودة إلى بلوق

تعليقات (0)

لا توجد تعليقات حتى الآن.

اترك تعليقا

PmaControl
+33 6 63 28 27 47 contact@pmacontrol.com
إشعارات قانونية GitHub اتصال
لا تنتظر وقوع الحادث حتى تفهم هندستك المعمارية. © 2014-2026 PmaControl — 68Koncept