بنية لوحات معلومات Azure

يتنقل هذا المستند عبر بنية لوحة معلومات Azure، باستخدام لوحة المعلومات التالية كمثال:

Screenshot of a sample dashboard in the Azure portal.

نظرا لأن لوحات معلومات Azure المشتركة هي موارد، يمكن تمثيل لوحة المعلومات هذه على أنها JSON. تمثل JSON التالية لوحة المعلومات الموضحة أعلاه.


{
    "properties": {
        "lenses": {
            "0": {
                "order": 0,
                "parts": {
                    "0": {
                        "position": {
                            "x": 0,
                            "y": 0,
                            "rowSpan": 2,
                            "colSpan": 3
                        },
                        "metadata": {
                            "inputs": [],
                            "type": "Extension[azure]/HubsExtension/PartType/MarkdownPart",
                            "settings": {
                                "content": {
                                    "settings": {
                                        "content": "## Azure Virtual Machines Overview\r\nNew team members should watch this video to get familiar with Azure Virtual Machines.",
                                        "title": "",
                                        "subtitle": ""
                                    }
                                }
                            }
                        }
                    },
                    "1": {
                        "position": {
                            "x": 3,
                            "y": 0,
                            "rowSpan": 4,
                            "colSpan": 8
                        },
                        "metadata": {
                            "inputs": [],
                            "type": "Extension[azure]/HubsExtension/PartType/MarkdownPart",
                            "settings": {
                                "content": {
                                    "settings": {
                                        "content": "This is the team dashboard for the test VM we use on our team. Here are some useful links:\r\n\r\n1. [Getting started](https://www.contoso.com/tsgs)\r\n1. [Troubleshooting guide](https://www.contoso.com/tsgs)\r\n1. [Architecture docs](https://www.contoso.com/tsgs)",
                                        "title": "Test VM Dashboard",
                                        "subtitle": "Contoso"
                                    }
                                }
                            }
                        }
                    },
                    "2": {
                        "position": {
                            "x": 0,
                            "y": 2,
                            "rowSpan": 2,
                            "colSpan": 3
                        },
                        "metadata": {
                            "inputs": [],
                            "type": "Extension[azure]/HubsExtension/PartType/VideoPart",
                            "settings": {
                                "content": {
                                    "settings": {
                                        "title": "",
                                        "subtitle": "",
                                        "src": "https://www.youtube.com/watch?v=YcylDIiKaSU&list=PLLasX02E8BPCsnETz0XAMfpLR1LIBqpgs&index=4",
                                        "autoplay": false
                                    }
                                }
                            }
                        }
                    },
                    "3": {
                        "position": {
                            "x": 0,
                            "y": 4,
                            "rowSpan": 3,
                            "colSpan": 11
                        },
                        "metadata": {
                            "inputs": [
                                {
                                    "name": "queryInputs",
                                    "value": {
                                        "timespan": {
                                            "duration": "PT1H",
                                            "start": null,
                                            "end": null
                                        },
                                        "id": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1",
                                        "chartType": 0,
                                        "metrics": [
                                            {
                                                "name": "Percentage CPU",
                                                "resourceId": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
                                            }
                                        ]
                                    }
                                }
                            ],
                            "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
                            "settings": {}
                        }
                    },
                    "4": {
                        "position": {
                            "x": 0,
                            "y": 7,
                            "rowSpan": 2,
                            "colSpan": 3
                        },
                        "metadata": {
                            "inputs": [
                                {
                                    "name": "queryInputs",
                                    "value": {
                                        "timespan": {
                                            "duration": "PT1H",
                                            "start": null,
                                            "end": null
                                        },
                                        "id": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1",
                                        "chartType": 0,
                                        "metrics": [
                                            {
                                                "name": "Disk Read Operations/Sec",
                                                "resourceId": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
                                            },
                                            {
                                                "name": "Disk Write Operations/Sec",
                                                "resourceId": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
                                            }
                                        ]
                                    }
                                }
                            ],
                            "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
                            "settings": {}
                        }
                    },
                    "5": {
                        "position": {
                            "x": 3,
                            "y": 7,
                            "rowSpan": 2,
                            "colSpan": 3
                        },
                        "metadata": {
                            "inputs": [
                                {
                                    "name": "queryInputs",
                                    "value": {
                                        "timespan": {
                                            "duration": "PT1H",
                                            "start": null,
                                            "end": null
                                        },
                                        "id": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1",
                                        "chartType": 0,
                                        "metrics": [
                                            {
                                                "name": "Disk Read Bytes",
                                                "resourceId": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
                                            },
                                            {
                                                "name": "Disk Write Bytes",
                                                "resourceId": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
                                            }
                                        ]
                                    }
                                }
                            ],
                            "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
                            "settings": {}
                        }
                    },
                    "6": {
                        "position": {
                            "x": 6,
                            "y": 7,
                            "rowSpan": 2,
                            "colSpan": 3
                        },
                        "metadata": {
                            "inputs": [
                                {
                                    "name": "queryInputs",
                                    "value": {
                                        "timespan": {
                                            "duration": "PT1H",
                                            "start": null,
                                            "end": null
                                        },
                                        "id": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1",
                                        "chartType": 0,
                                        "metrics": [
                                            {
                                                "name": "Network In",
                                                "resourceId": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
                                            },
                                            {
                                                "name": "Network Out",
                                                "resourceId": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
                                            }
                                        ]
                                    }
                                }
                            ],
                            "type": "Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart",
                            "settings": {}
                        }
                    },
                    "7": {
                        "position": {
                            "x": 9,
                            "y": 7,
                            "rowSpan": 2,
                            "colSpan": 2
                        },
                        "metadata": {
                            "inputs": [
                                {
                                    "name": "id",
                                    "value": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
                                }
                            ],
                            "type": "Extension/Microsoft_Azure_Compute/PartType/VirtualMachinePart",
                            "asset": {
                                "idInputName": "id",
                                "type": "VirtualMachine"
                            },
                            "defaultMenuItemId": "overview"
                        }
                    }
                }
            }
        },
        "metadata": {
            "model": {
                "timeRange": {
                    "value": {
                        "relative": {
                            "duration": 24,
                            "timeUnit": 1
                        }
                    },
                    "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"
                }
            }
        }
    },
    "id": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/dashboards/providers/Microsoft.Portal/dashboards/aa9786ae-e159-483f-b05f-1f7f767741a9",
    "name": "aa9786ae-e159-483f-b05f-1f7f767741a9",
    "type": "Microsoft.Portal/dashboards",
    "location": "eastasia",
    "tags": {
        "hidden-title": "Created via API"
    }
}

خصائص الموارد الشائعة

دعونا نفصل الأقسام ذات الصلة من JSON. تتم مشاركة خصائص المستوى الأعلى والمعرفوالاسم والنوعوالموقعوالعلامات عبر جميع أنواع موارد Azure. أي أنه ليس لديهم علاقة كبيرة بمحتوى لوحة المعلومات.

المعرف

معرف مورد Azure، يخضع لاصطلاحات تسمية موارد Azure. عندما تنشئ البوابة الإلكترونية لوحة معلومات، فإنها تختار بشكل عام معرفا في شكل معرف عمومي، ولكن يمكنك استخدام أي اسم صالح عند إنشائها برمجيا.

الاسم

الاسم هو جزء معرف المورد الذي لا يتضمن الاشتراك أو نوع المورد أو معلومات مجموعة الموارد. بشكل أساسي ، إنه الجزء الأخير من معرف المورد.

النوع

جميع لوحات المعلومات من نوع Microsoft.Portal/dashboards.

‏‏الموقع

على عكس الموارد الأخرى ، لا تحتوي لوحات المعلومات على مكون وقت تشغيل. بالنسبة إلى لوحات المعلومات، يشير الموقع إلى الموقع الجغرافي الأساسي الذي يخزن تمثيل JSON للوحة المعلومات. يجب أن تكون القيمة أحد رموز الموقع التي يمكن جلبها باستخدام واجهة برمجة تطبيقات المواقع على مورد الاشتراكات.

علامات

تعد العلامات سمة شائعة لموارد Azure التي تتيح لك تنظيم المورد الخاص بك بواسطة أزواج قيم الأسماء العشوائية. تتضمن لوحات المعلومات علامة خاصة واحدة تسمى العنوان المخفي. إذا كانت لوحة المعلومات تحتوي على هذه الخاصية المملوءة، استخدام هذه القيمة كاسم عرض للوحة المعلومات في البوابة الإلكترونية. لا يمكن إعادة تسمية معرفات موارد Azure، ولكن يمكن إعادة تسمية العلامات. تمنحك هذه العلامة طريقة للحصول على اسم عرض قابل لإعادة تسمية لوحة المعلومات الخاصة بك.

"tags": { "hidden-title": "Created via API" }

الخصائص

يحتوي كائن الخصائص على خاصيتين، العدساتوبيانات التعريف. تحتوي خاصية العدسات على معلومات حول اللوحات الموجودة على لوحة المعلومات. خاصية البيانات الوصفية موجودة للميزات المستقبلية المحتملة.

العدسات

تحتوي خاصية العدسات على لوحة المعلومات. يحتوي كائن العدسة في هذا المثال على خاصية واحدة تسمى "0". العدسات هي مفهوم تجميع لا يتم تنفيذه حاليا. في الوقت الحالي ، تحتوي جميع لوحات المعلومات الخاصة بك على هذه الخاصية الفردية على كائن العدسة ، مرة أخرى ، تسمى "0".

اجزاء

يحتوي الكائن الموجود أسفل "0" على خاصيتين ، ترتيبوأجزاء. في الإصدار الحالي من لوحات المعلومات ، يكون الطلب دائما 0. تحتوي خاصية الأجزاء على كائن يعرف الأجزاء الفردية (يشار إليها أيضا باسم البلاط) على لوحة المعلومات.

يحتوي كائن الأجزاء على خاصية لكل جزء، حيث يكون اسم الخاصية رقما. الرقم ليس كبيرا.

كل كائن جزء فردي له موضعوبيانات وصفية.

‏‏الموضع

تحتوي خاصية الموضع على معلومات الحجم والموقع للجزء المعبر عنه ب x و y و rowSpan و colSpan. القيم هي من حيث وحدات الشبكة. تكون وحدات الشبكة هذه مرئية عندما تكون لوحة المعلومات في وضع التخصيص كما هو موضح هنا. إذا كنت تريد أن يكون لعرض لوحة وحدتي شبكة، وارتفاع وحدة شبكة واحدة، وموقع في الزاوية العلوية اليسرى من لوحة المعلومات، فسيبدو كائن الموضع كما يلي:

location: { x: 0, y: 0, rowSpan: 2, colSpan: 1 }

Screenshot showing the grid units for a dashboard in the Azure portal.

بيانات التعريف

يحتوي كل جزء على خاصية بيانات التعريف ، ويحتوي الكائن على خاصية واحدة مطلوبة فقط تسمى النوع. تخبر هذه السلسلة البوابة الإلكترونية بالتجانب الذي تريد إظهاره. تستخدم لوحة المعلومات النموذجية هذه الأنواع من اللوحات:

  1. Extension/Microsoft_Azure_Monitoring/PartType/MetricsChartPart – تستخدم لإظهار مقاييس المراقبة
  2. Extension[azure]/HubsExtension/PartType/MarkdownPart - تستخدم للعرض مع النص أو الصور مع التنسيق الأساسي للقوائم والروابط وما إلى ذلك.
  3. Extension[azure]/HubsExtension/PartType/VideoPart - يستخدم لعرض مقاطع الفيديو من YouTube و Channel9 وأي نوع آخر من مقاطع الفيديو التي تعمل في علامة فيديو HTML.
  4. Extension/Microsoft_Azure_Compute/PartType/VirtualMachinePart - يستخدم لإظهار اسم وحالة جهاز Azure الظاهري.

كل نوع من الأجزاء له تكوينه الخاص. تسمى خصائص التكوين المحتملة المدخلاتوالإعداداتوالأصول.

الإدخالات

يحتوي كائن المدخلات بشكل عام على معلومات تربط تجانب بمثيل مورد. يحتوي جزء الجهاز الظاهري في لوحة معلومات العينة على إدخال واحد يستخدم معرف مورد Azure للتعبير عن الربط. تنسيق معرف المورد هذا متسق عبر جميع موارد Azure.

"inputs":
[
    {
        "name": "id",
        "value": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
    }
]

يحتوي جزء مخطط المقاييس على إدخال واحد يعبر عن المورد المراد ربطه به، بالإضافة إلى معلومات حول المقياس (المقاييس) التي يتم عرضها. فيما يلي إدخال اللوحة التي تعرض مقياسي الشبكة الداخلة والخارجة من الشبكة.

"inputs":
[
    {
        "name": "queryInputs",
        "value": 
        {
            "timespan": 
            {
                "duration": "PT1H",
                "start": null,
                "end": null
           },
            "id": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1",
            "chartType": 0,
            "metrics": 
            [
                {
                    "name": "Network In",
                    "resourceId": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
                },
                {
                    "name": "Network Out",
                    "resourceId": "/subscriptions/6531c8c8-df32-4254-d717-b6e983273e5d/resourceGroups/contoso/providers/Microsoft.Compute/virtualMachines/myVM1"
                }
            ]
        }
    }
]

الإعدادات

يحتوي كائن الإعدادات على العناصر القابلة للتكوين لجزء. في لوحة المعلومات النموذجية الخاصة بنا، يستخدم جزء Markdown الإعدادات لتخزين محتوى تخفيض الأسعار المخصص إلى جانب عنوان وعنوان فرعي قابل للتكوين.

"settings": 
{
    "content": 
    {
        "settings": 
        {
            "content": "This is the team dashboard for the test VM we use on our team. Here are some useful links:\r\n\r\n1. [Getting started](https://www.contoso.com/tsgs)\r\n1. [Troubleshooting guide](https://www.contoso.com/tsgs)\r\n1. [Architecture docs](https://www.contoso.com/tsgs)",
            "title": "Test VM Dashboard",
            "subtitle": "Contoso"
        }
    }
}

وبالمثل ، تحتوي لوحة الفيديو على إعداداتها الخاصة التي تحتوي على مؤشر إلى الفيديو المراد تشغيله وإعداد تشغيل تلقائي ومعلومات عنوان اختيارية.

"settings": 
{
   "content": 
    {
        "settings": 
        {
            "title": "",
            "subtitle": "",
            "src": "https://www.youtube.com/watch?v=YcylDIiKaSU&list=PLLasX02E8BPCsnETz0XAMfpLR1LIBqpgs&index=4",
            "autoplay": false
        }
    }
}

الأصل

تحتوي اللوحات المرتبطة بكائنات البوابة الإلكترونية القابلة للإدارة من الدرجة الأولى (تسمى الأصول) على هذه العلاقة التي يتم التعبير عنها عبر كائن الأصل. في لوحة معلومات المثال، تحتوي لوحة الجهاز الظاهري على وصف الأصل هذا. تخبر الخاصية idInputName البوابة الإلكترونية بأن إدخال المعرف يحتوي على المعرف الفريد للأصل، وفي هذه الحالة معرف المورد. تحتوي معظم أنواع موارد Azure على أصول محددة في البوابة الإلكترونية.

"asset": { "idInputName": "id", "type": "VirtualMachine" }

الخطوات التالية