Kibana دليل المستخدم. التصور. الجزء 6

خمس من ترجمة وثائق التصور البيانات الرسمية في Kibana.

رابط إلى المادة الأصلية: دليل مستخدم Kibana [6.6] »تصور

رابط إلى الجزء 1: دليل مستخدم Kibana. التصور. الجزء 1
رابط إلى الجزء 2: دليل مستخدم Kibana. التصور. الجزء 2
رابط إلى الجزء 3: دليل مستخدم Kibana. التصور. الجزء 3
رابط إلى الجزء 4: دليل مستخدم Kibana. التصور. الجزء 4
رابط إلى الجزء 5: دليل مستخدم Kibana. التصور. الجزء 5

المحتويات:

1. فيغا الرسوم البيانية

2. فحص المرئيات

التهم فيغا


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

ابدأ باستخدام Vega


اتبع هذه الخطوات لإنشاء أول تصوّر فيغا.

  1. في Kibana ، حدد Visualize وإضافة تصوّر Vega. يجب أن تشاهد الرسم البياني الافتراضي.
  2. حاول تغيير mark من line إلى point أو area أو bar أو circle أو square ، ... (راجع الوثائق ).
  3. جرب بقية تصورات Vega أو VegaLite. قد تحتاج إلى جعل عناوين URL مطلقة ، على سبيل المثال ، استبدال "url": "data/world-110m.json" بـ "url": "https://vega.imtqy.com/editor/data/world-110m.json" (انظر الملاحظة أدناه).
  4. باستخدام الأداة المساعدة makelogs ، قم بإنشاء بعض بيانات logstash وجرب أمثلة logstash ( لا تستخدم makelogs على كتلة الإنتاج).

فيغا vs فيجولايت


VegaLite هو إصدار مبسط من Vega ، مفيد لبداية سريعة ، ولكن مع عدد من القيود. يتم تحويل VegaLite تلقائيًا إلى Vega قبل التنفيذ. قارن logstash-simple_line-vega و logstash-simple_line-vegalite (كلاهما يستخدم بعض بيانات logstash من Elasticsearch). يمكنك استخدام هذا المحرر لتحويل VegaLite إلى Vega.

استفسارات Elasticsearch


بشكل افتراضي ، يمكن لعنصر بيانات Vega استخدام البيانات الداخلية والخارجية مع معلمة "url" . يضيف Kibana دعمًا لاستعلامات Elasticsearch المباشرة من خلال إعادة تحميل قيمة "url" .
فيما يلي مثال لاستعلام Elasticsearch يحسب عدد المستندات في جميع الفهارس. يستخدم الاستعلام الحقل @timestamp لتصفية النطاق الزمني وتقسيمه إلى مقاطع المدرج التكراري.

 // An object instead of a string for the url value // is treated as a context-aware Elasticsearch query. url: { // Filter the time picker (upper right corner) with this field %timefield%: @timestamp // Apply dashboard context filters when set %context%: true // Which indexes to search index: _all // The body element may contain "aggs" and "query" subfields body: { aggs: { time_buckets: { date_histogram: { // Use date histogram aggregation on @timestamp field field: @timestamp // interval value will depend on the daterange picker // Use an integer to set approximate bucket count interval: { %autointerval%: true } // Make sure we get an entire range, even if it has no data extended_bounds: { min: { %timefilter%: "min" } max: { %timefilter%: "max" } } // Use this for linear (eg line, area) graphs // Without it, empty buckets will not show up min_doc_count: 0 } } } // Speed up the response by only including aggregation results size: 0 } } 

النتيجة الكاملة لها نوع الهيكل التالي:

 { "aggregations": { "time_buckets": { "buckets": [{ "key_as_string": "2015-11-30T22:00:00.000Z", "key": 1448920800000, "doc_count": 28 }, { "key_as_string": "2015-11-30T23:00:00.000Z", "key": 1448924400000, "doc_count": 330 }, ... 

لاحظ أن "key" هو طابع زمني لـ Unix ويمكن استخدامه دون تحويل بواسطة تعبيرات تاريخ Vega.

بالنسبة لمعظم الرسوم البيانية ، نحتاج فقط إلى قائمة قيم الشرائح ، لذلك نستخدم format: {property: "aggregations.time_buckets.buckets"} التعبير format: {property: "aggregations.time_buckets.buckets"} للتركيز فقط على البيانات التي نحتاجها.

يمكن تحديد الطلب باستخدام نطاق فردي ولوحة معلومات سياقية. هذا الاستعلام يعادل "%context%": true, "%timefield%": "@timestamp" ، باستثناء "%context%": true, "%timefield%": "@timestamp" النطاق الزمني قبل 10 دقائق.

 { body: { query: { bool: { must: [ // This string will be replaced // with the auto-generated "MUST" clause "%dashboard_context-must_clause%" { range: { // apply timefilter (upper right corner) // to the @timestamp variable @timestamp: { // "%timefilter%" will be replaced with // the current values of the time filter // (from the upper right corner) "%timefilter%": true // Only work with %timefilter% // Shift current timefilter by 10 units back shift: 10 // week, day (default), hour, minute, second unit: minute } } } ] must_not: [ // This string will be replaced with // the auto-generated "MUST-NOT" clause "%dashboard_context-must_not_clause%" ] } } } } 

يمكن أيضًا استخدام "%timefilter%" لتحديد الحد الأدنى أو الحد الأقصى لقيمة واحدة. كما هو موضح أعلاه ، يمكن تعيين ext_bounds في date_histogram بقيمتين - الحد الأدنى والحد الأقصى. بدلاً من الترميز الثابت للقيمة ، يمكنك استخدام "min": {"%timefilter%": "min"} ، والتي سيتم استبدالها في بداية النطاق الزمني الحالي. كما يتم دعم القيم shift unit . يمكن تعيين "الفاصل الزمني" بشكل حيوي ، اعتمادًا على النطاق المحدد حاليًا: "interval": {"%autointerval%": 10} سيحاول الحصول على حوالي 10-15 نقطة بيانات (مقاطع).

ملفات خريطة مرنة


هذه هي القدرة على الوصول إلى ملفات خدمة الخرائط المرنة وفقًا لبعض الآليات.

 url: { // "type" defaults to "elasticsearch" otherwise type: emsfile // Name of the file, exactly as in the Region map visualization name: World Countries } // The result is a geojson file, get its features to use // this data source with the "shape" marks // https://vega.imtqy.com/vega/docs/marks/shape/ format: {property: "features"} 

فيغا مع الخريطة


يمكن استخدام خريطة Kibana افتراضيًا كقاعدة للرسم البياني فيغا. للتمكين ، يجب أن يحدد الرسم البياني type=map في تكوين المضيف.

 { "config": { "kibana": { "type": "map", // Initial map position "latitude": 40.7, // default 0 "longitude": -74, // default 0 "zoom": 7, // default 2 // defaults to "default". Use false to disable base layer. "mapStyle": false, // default 0 "minZoom": 5, // defaults to the maximum for the given style, // or 25 when base is disabled "maxZoom": 13, // defaults to true, shows +/- buttons to zoom in/out "zoomControl": false, // defaults to true, disables mouse wheel zoom "scrollWheelZoom": false, // When false, repaints on each move frame. // Makes the graph slower when moving the map "delayRepaint": true, // default true } }, /* the rest of Vega JSON */ } 

ستضمّن هذه الصورة المرئية تلقائيًا إسقاطًا يسمى "projection" . استخدم هذا لحساب موضع جميع العلامات الجغرافية المنحى. بالإضافة إلى ذلك ، يمكنك استخدام خطوط الطول والعرض والحجم. يمكن استخدام هذه الإشارات في الرسم البياني أو يمكن تحديثها لتغيير موضع الخريطة.

تصحيح الأخطاء


متصفح تصحيح وحدة التحكم


استخدم أدوات المتصفح لتصحيح الأخطاء (على سبيل المثال ، F12 أو Ctrl + Shift + J في Chrome) لفحص المتغير VEGA_DEBUG : * view - الوصول إلى عرض كائن Vega. راجع دليل تصحيح الأخطاء Vega لمعرفة كيفية فحص البيانات والإشارات في وقت التشغيل. بالنسبة لـ VegaLite ، VEGA_DEBUG.view.data('source_0') على مجموعة البيانات الرئيسية. بالنسبة لـ Vega ، يستخدم هذا اسم البيانات ، وهو على وجه التحديد في مواصفات Vega الخاصة بك. * vega_spec مواصفات الرسم البياني Vega JSON بعد بعض التعديلات من Kibana. في حالة VegaLite ، هذا هو ناتج مترجم VegaLite. * vegalite_spec - إذا كان رسم بياني VegaLite ، فإن مواصفات JSON للرسم البياني قبل تجميع VegaLite

معطيات


إذا كنت تستخدم استعلام Elasticsearch ، فتأكد من أن البيانات المستلمة هي ما تتوقعه. أسهل طريقة لرؤية ذلك هي استخدام علامة التبويب "الشبكات" في أدوات تصحيح أخطاء المستعرض لديك (على سبيل المثال ، F12). قم بتعديل الرسم البياني قليلاً بحيث يجعل استعلام البحث وينظر في استجابة الخادم. هناك طريقة أخرى تتمثل في استخدام علامة تبويب أدوات Kibana Dev - ضع اسم الفهرس داخل السطر الأول: GET <INDEX_NAME>/_search ، وأضف استعلامك مع السطر التالي (قيمة حقل "query" ).
إذا كنت بحاجة إلى مشاركة الرسم البياني مع شخص ما ، فيمكنك نسخ استجابة سلسلة البيانات إلى gist.github.com ، وربما باستخدام ملحق jj. ، واستخدام الزر [raw] ، واستخدام عنوان url هذا مباشرةً في الرسم البياني الخاص بك.
لمنع Vega من استخدام مصادر بيانات غير ES ، أضف vega.enableExternalUrls: false إلى ملف kibana.yml.

روابط مفيدة



باستخدام أمثلة Vega و VegaLite


عند استخدام أمثلة Vega و VegaLite ، تحتاج إلى تعديل قسم "البيانات" لاستخدام عنوان URL مطلق. على سبيل المثال ، "url": "data/world-110m.json" بـ "url": "https://vega.imtqy.com/editor/data/world-110m.json" . أيضًا ، في أمثلة Vega العادية ، يستخدمون نموذج تخطيط "autosize": "pad" ، ويستخدم Kibana fit . إزالة جميع القيم autosize width height . انظر أدناه الأبعاد وتحديد المواقع.

خيارات التكوين الإضافية


هذه الخيارات خاصة بـ Kibana. يحتوي دعم البطاقة على خيارات تكوين إضافية.

 { config: { kibana: { // Placement of the Vega-defined signal bindings. // Can be `left`, `right`, `top`, or `bottom` (default). controlsLocation: top // Can be `vertical` or `horizontal` (default). controlsDirection: vertical // If true, hides most of Vega and VegaLite warnings hideWarnings: true // Vega renderer to use: `svg` or `canvas` (default) renderer: canvas } } /* the rest of Vega code */ } 

الحجم والموقف


فيغا و Vegaite.

بشكل افتراضي ، ستستخدم الرسوم البيانية فيغا في Kibana autosize = { type: 'fit', contains: 'padding' } نموذج تخطيط autosize = { type: 'fit', contains: 'padding' } للرسوم البيانية Vega و VegaLite. يستخدم الطراز fit كل المساحة المتاحة ، متجاهلاً قيم width height ، ولكنه يأخذ في الاعتبار قيم المسافة البادئة. يمكنك تجاوز هذا السلوك عن طريق تحديد قيمة autosize مختلفة.

فيغا على الخريطة.

ستتجاهل جميع الرسوم البيانية Vega autosize width height padding باستخدام نموذج fit المسافة البادئة الصفرية.

التفتيش التصور


تسمح لك العديد من المرئيات بفحص البيانات الكامنة وراء التصور.
لفحص التصور ، انقر فوق الزر " فحص" في المحرر أو حدد " فحص" من قائمة لوحة Dashboard.

تعرض الشاشة الأولية البيانات الأساسية للتصور. يمكنك تحميل البيانات كملف قيم مفصولة بفواصل (CSV) بتنسيقات منسقة أو خام . تنسيق الأحمال البيانات في تنسيق الجدول. يقوم Raw بتحميل البيانات كما هو معروض - التواريخ مثل الطوابع الزمنية والأرقام بدون فواصل الألف وما إلى ذلك.

لعرض الطلبات التي تجمع البيانات ، حدد الطلبات من القائمة عرض في أعلى اليمين.

ما هي وجهات النظر المتاحة يعتمد على التصور تفتيشها.

Source: https://habr.com/ru/post/ar442278/


All Articles