কম্পিউটার টিউটোরিয়াল

Kibana-এ 써드-পার্টি ম্যাপ টাইল ইন্টিগ্রেট করা: উন্নত জিওস্পেশিয়াল ভিজ্যুয়ালাইজেশনের জন্য

বক্সের বাইরে, Kibana Elastic-এর টাইল সার্ভিস দ্বারা প্রদত্ত ম্যাপে জিও-ডেটা প্রদর্শনের ক্ষমতা অন্তর্ভুক্ত করে। এটি Kibana কী করতে পারে তার একটি দারুণ পরিচয় দেয়, কিন্তু সর্বোচ্চ জুম লেভেল সীমাবদ্ধ যদি আপনার কাছে X-Pack লাইসেন্স না থাকে। উদাহরণস্বরূপ, ObjectRocket-এর হোম বেস Austin, Texas-এর জন্য সর্বোচ্চ জুম নিচের মত:

Kibana-এ 써드-পার্টি ম্যাপ টাইল ইন্টিগ্রেট করা: উন্নত জিওস্পেশিয়াল ভিজ্যুয়ালাইজেশনের জন্য

খুব খুশির খবর হলো Kibana কনফিগার করা অন্য একটি টাইল সার্ভিস বা WMS কম্প্লায়েন্ট ম্যাপিং সার্ভারের সাথে খুব সহজ।

কেন ভিন্ন ম্যাপিং সার্ভিস ব্যবহার করবেন?

Elastic টাইল সার্ভিস সব ব্যবহারকারীর জন্য একটি সুবিধা, কিন্তু এমন সময় থাকতে পারে আপনি ডিফল্ট সার্ভিস থেকে আলাদা होना চান। কিছু কারণ:

  • আপনি রাস্তা-স্তরের ডেটা পর্যন্ত আরও জুম করতে চান
  • আপনি নতুন লেয়ার যোগ করতে চান বা ভিন্ন ম্যাপ স্টাইল দিতে চান
  • আপনি একটি ফুলি কাস্টম ম্যাপ চান, যেমন একটি বিল্ডিং-এর ভেতর

এই সব একটিことに összую koncentriert: আপনি যা ডেটা চান সেটি প্রদানকারী একটি সার্ভার খুঁজে বের করা এবং তারপর Kibana কনফিগার করা সেই সার্ভার ব্যবহার করার জন্য।

দুর্ভাগ্যক্রমে, Kibana কিছু বিভ্রান্তি সৃষ্টি করতে পারে কারণ এটি দুটি সম্পূর্ণ ভিন্ন টাইপের ম্যাপ সার্ভিস লিভারেজ করতে পারে। আমি সেগুলো পরিচয় করিয়ে দিচ্ছি সেটিংস-এ যাওয়ার আগে। ডিফল্টভাবে, Kibana ম্যাপ আঁকে একটি Tile Map Service (TMS)- থেকে। টাইল সার্ভিস ম্যাপগুলো বর্গাকার টাইলে ভাগ করে যা তাদের কোঅর্ডিনেট এবং জুম লেভেল দিয়ে অ্যাক্সেস করা যায়। এটি Elastic তাদের সার্ভিসের মাধ্যমে প্রদান করে এবং এটি গ্লোবালি kibana.yml কনফিগারেশন ফাইলে কনফিগার করা হয়। Kibana-এ ম্যাপ প্রদর্শনের একটি বিকল্প পথ হলো WMS-কম্প্লায়েন্ট Map Service (WMS) ব্যবহার করা। একটি ওয়েব ম্যাপ সার্ভিস একটি ভিন্ন প্রোটোকল ব্যবহার করে এবং GIS ডেটাবেসের ডেটা থেকে ম্যাপ জেনারেট করে। এটি Kibana UI-র ভিতর থেকে সেট করা যায়।

থার্ড পার্টি ম্যাপ সার্ভিস ব্যবহার করা

বহু সारे কমার্শিয়াল ম্যাপ সার্ভিস রয়েছে, serta ফ্রি ডেটা সোর্স ম্যাপ তৈরি করার জন্য যেমন OpenStreetMap। টেস্টিং উদ্দেশ্যে, OpenStreetMap-ভিত্তিক ফ্রি টাইল সার্ভিস রয়েছে, যেমন Stamen, যা আপনি টেস্ট করতে পারেন। WMS পক্ষের জন্যও কিছু ফ্রি ম্যাপ সার্ভার রয়েছে টেস্টের জন্য, যেমন যুক্তরাষ্ট্রে National Map। চূড়ান্তে, নিজের ম্যাপিং সার্ভিস সেট আপ করার অপশনও রয়েছে, যা আমি পরে কভার করব।

Kibana কনফিগার করা একটি ভিন্ন টাইল সার্ভিস ব্যবহার করার জন্য

একবার আবার, ডিফল্ট ম্যাপিং Kibana-র জন্য টাইল সার্ভিস-ভিত্তিক। Stamen, যা উপরে উল্লেখ করা হয়েছে, আমার পছন্দের ফ্রি টেস্ট সার্ভিসগুলোর একো এবং অনেক শার্প ম্যাপ স্টাইল অফার করে, তাই আমরা সেটি দিয়ে টেস্ট করব।

আপনার kibana.yml ফাইলে অ্যাক্সেস দরকার হবে এই পরিবর্তন করার জন্য, তাই আপনি যদি হোস্টেড সার্ভিসে থাকেন, যেমন ObjectRocket for Elasticsearch, আপনি একটি লোকাল Kibana ইনস্টল ব্যবহার করে প্রথমে টেস্ট করতে পারেন। একবার আপনি kibana.yml ফাইলটি খুঁজে পেলে, নিচের এন্ট্রিগুলো যোগ করুন:

tilemap.url: "https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.jpg"
tilemap.options.maxZoom: 20
tilemap.options.attribution: 'Map tiles by [Stamen Design](https://stamen.com), under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0). Data by [OpenStreetMap](https://openstreetmap.org), under ODbL(https://www.openstreetmap.org/copyright).'

প্রথম সেটিংটি টাইল সার্ভিসের URL যা সাধারণ endpoint/{z}/{x}/{y}.jpg/png ফরম্যাট ফলো করে যা স্ট্যান্ডার্ড টাইল সার্ভিসগুলো ব্যবহার করে। লক্ষ্য করুন Stamen-এর অনেক কুল স্টাইল রয়েছে, যেমন 'toner' এবং 'watercolor', যা আপনি URL-এ 'terrain' রিপ্লেস করে ব্যবহার করতে পারেন। দ্বিতীয় সেটিংটি সর্বোচ্চ জুম সেটিং-এর সংখ্যা। কিছু সার্ভিস এডভার্টাইজ করে না এটা, তাই একটু ট্রায় অ্যান্ড এরর লাগবে। চূড়ান্তে, এবং খুব গুরুত্বপূর্ণ হলো ম্যাপগুলোর সঠিক অ্যাট্রিবিউশন ক্রিয়েটরকে। অ্যাট্রিবিউশন মার্কডাউন ম্যাপ ভিজ্যুয়ালাইজেশনের নিচের ডান কোণে দেখানো হবে।

এটা সেট হলে এবং Kibana রিস্টার্ট করলে, আপনি এখন দেখবেন আপনি অনেক বেশি জুম করতে পারছেন এবং কিছু খুব কুল স্টাইলাইজড ম্যাপ পাচ্ছেন। নিচের ছবিটি উপরের ছবির সাথে তুলনা করুন:

Kibana-এ 써드-পার্টি ম্যাপ টাইল ইন্টিগ্রেট করা: উন্নত জিওস্পেশিয়াল ভিজ্যুয়ালাইজেশনের জন্য

Kibana-এ 써드-পার্টি ম্যাপ টাইল ইন্টিগ্রেট করা: উন্নত জিওস্পেশিয়াল ভিজ্যুয়ালাইজেশনের জন্য

Kibana-র সাথে একটি WMS ম্যাপ কানেক্ট করা

WMS ম্যাপের জন্য কনফিগারেশন কিছুটা ভিন্ন এবং এটি Kibana-র ভিতর থেকে সেট করা হয়, কনফিগারেশন ফাইল থেকে না। এই উদাহরণের জন্য, আমি United States Geological Services-এর Nationalmap ব্যবহার করব, বিশেষ করে ট্রান্সপোর্টেশন ম্যাপস যাতে আমরা উপলব্ধ বিভিন্ন লেয়ার দেখতে পারি। প্রথম, আপনাকে Kibana-এ একটি কোঅর্ডিনেট ম্যাপ ভিজ্যুয়ালাইজেশন লোড করতে হবে এবং তারপর "options" বাটনে ক্লিক করুন। সেখান থেকে, আপনি সিলেক্ট করবেন "WMS compliant map server."

Kibana-এ 써드-পার্টি ম্যাপ টাইল ইন্টিগ্রেট করা: উন্নত জিওস্পেশিয়াল ভিজ্যুয়ালাইজেশনের জন্য

এটি সিলেক্ট করলে, অনেক নতুন সেটিংস দেখাবে। আপনাকে WMS সার্ভারের URL, কোন লেয়ারগুলো ব্যবহার করবেন, সার্ভার কোন ভার্সনของ WMS স্ট্যান্ডার্ড রান করছে, কোন ইমেজ টাইপ লোড করবেন, এবং কোন স্টাইল ব্যবহার করবেন সেটি ফিল আপ করতে হবে। এই সেটিংস Kibana ডকুমেন্টেশনে বর্ণনা করা আছে।

এটি টাইল সার্ভিসের চেয়ে কিছুটা জটিল যা কয়েকটি কোঅর্ডিনেট নেয়, কিন্তু সৌভাগ্যক্রমে আমরা যে ম্যাপ সার্ভিসটি ব্যবহার করব সেটিতে কিছু বিল্ট-ইন টুলস রয়েছে। প্রথমে, আপনি যদি Nationalmap পেজে যান, তবে সেটি ম্যাপ এবং এর ফিচারগুলোর একটি সুন্দর ডেসক্রিপশন পেজ দেবে। এই পেজটি ম্যাপ এবং এর সকল লেয়ার ডেসক্রাইব করে। আপনি যদি ম্যাপের ক্যাপাবিলিটি সম্পর্কে আরও ডিটেল চান, উপরের ছোট WMS লিংকে ক্লিক করুন, এবং আপনি সার্ভারের ক্যাপাবিলিটির ডিটেইল্ড XML দেখতে পাবেন, যেমন ভার্সন, সাপোর্টেড ইমেজ ফরম্যাট এবং আরও। এই ইনফরমেশন এবং WMS লিংক ভিত্তিকেই, আমরা এই ম্যাপের জন্য নিচের সেটিংস ব্যবহার করব:

  • WMS url: https://services.nationalmap.gov/arcgis/services/transportation/MapServer/WMSServer
  • WMS layers: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36
  • WMS version: 1.3.0
  • WMS format: image/png
  • WMS attribution: Provided by the United States Geological Service (Nationalmap.gov)
  • Styles: blank

লেয়ার সম্পর্কে একটা নোট। লাগছে ম্যাপটিতে লেয়ার হায়ারার্কি রয়েছে, কিন্তু সবগুলো কল করার জন্য কোন শর্টহ্যান্ড আমি খুঁজে পাইনি তাই প্রতিটি লেয়ার আলাদা আলাদা লিস্ট করা হয়েছে।

যদি সব সেট আপ হয়ে যায়, আপনি এখন এ্যাহ দেখতে পাবেন:

Kibana-এ 써드-পার্টি ম্যাপ টাইল ইন্টিগ্রেট করা: উন্নত জিওস্পেশিয়াল ভিজ্যুয়ালাইজেশনের জন্য

WMS সেটিংস Kibana Advanced Settings স্ক্রিনে সব ভিজ্যুয়ালাইজেশনের জন্য ডিফল্ট হিসেবেও সেট করা যায়।

নিজের ম্যাপ বা টাইল সার্ভার সেট আপ করা

চূড়ান্ত নোট হিসেবে, একবার আপনি এটি প্রোডাকশনে নিয়ে যেতে চান, নিজের টাইল/ম্যাপ সার্ভার চালানো হয়তো পথ। আপনি ফুলি কাস্টম ম্যাপ করতে পারেন, যেমন একটি NHL রিংক, বা OpenStreetMap-এর মতো কিছু থেকে স্ট্রিট ম্যাপ বা টপোগ্রাফিক্যাল ম্যাপ তৈরি করে নিজের লেয়ার অ্যাপ্লাই করতে পারেন। geoserver সरीখে চমৎকার ওপেন সোর্স টুলস রয়েছে, যা Elastic ব্লগে উল্লেখ করা আছে, বা TileCache যা সব টিউটোরিয়াল এবং ডিটেইল্ড ডকস দিয়ে কীভাবে শুরু করবেন সেটি বোঝায়। এছাড়া, OpenStreetMap তাদের উইকিতে টন ইনফরমেশন দিয়ে থাকে শুরুতে সাহায্য করার জন্য এবং SWITCH2OSM সাইটটি OpenStreetMap ডেটা সার্ভ করার রিসোর্স দিয়ে থাকে।

Elasticsearch আপনার অ্যাপের জন্য কী করতে পারে তা জানতে আগ্রহী? আমরা ফুলি ম্যানেজড এবং হোস্টেড Elasticsearch ইনস্ট্যান্স অফার করি DBA এক্সপার্টসহ যা আপনাকে Elasticsearch এবং Kibana-র সর্বোত্তম আউটপুট পেতে সাহায্য করতে পারেন আপনার ডেভেলপমেন্ট রিসোর্স বাঁধা ছাড়া। কনসাল্টেশনের জন্য আমাদের সাথে যোগাযোগ করুন।

  1. RoboMongo ObjectRocket-এ ইন্টিগ্রেট করা: আপনার MongoDB ডেটাবেস ভিজ্যুয়ালাইজ করুন

  2. ObjectRocket Elasticsearch-এ Kibana 4 দিয়ে শুরু করা

  3. Fluentd এবং ObjectRocket দিয়ে হাইব্রিড ক্লাউড লগিং স্ট্রিমলাইন করুন

  4. systemctl মাস্টার করুন: সার্ভিস লিস্ট, মনিটর, ও ম্যানেজ করার পূর্ণ গাইড