আপনি যদি আপনার মিলিয়ন মিলিয়ন (বা বিলিয়ন!) Elasticsearch ডকুমেন্টকে চোখ ধাঁধানো চার্ট, গ্রাফ, এবং টেবিলে রূপান্তর করতে চান, Kibana হলো উত্তর। একটি Elastic প্রোডাক্ট হিসেবে, এটি Elasticsearch-র সাথে ঘনিষ্ঠভাবে ইন্টিগ্রেটেড এবং মাউন্টেন ডেটার বোঝার জন্য একটি ইজি-টু-ইউজ ইন্টারফেস প্রদান করে।
বর্তমানে, সব ObjectRocket Elasticsearch ইনস্ট্যান্স Kibana 3 প্রি-লোডেড থাকে, যা আপনি অ্যাক্সেস করতে পারেন /_plugin/kibana-এ আপনার যেকোনো Elasticsearch HTTP এন্ডপয়েন্টে। যাইহোক, Kibana 4 কিছু উন্নতি এবং নতুন ফিচার চালু করেছে, তাই আমরা কঠোর পরিশ্রম করছি এটি প্রতিটি Elasticsearch ইনস্ট্যান্সের পাশাপাশি প্রদান করার জন্য যা আপনি ObjectRocket-এ তৈরি করবেন। মিয়ানটাইমে, এই টিউটোরিয়াল আপনাকে গাইড করবে আপনার Elasticsearch ইনস্ট্যান্সের সাথে কানেক্ট করতে Kibana 4 ব্যবহার করে যা একটি Docker কন্টেইনারে চলছে।

প্রারম্ভিক দরকারি জিনিসগুলো
আপনার যদি ইতিমধ্যে Docker ইনস্টলড থাকে এবং আমাদের সাথে একটি Elasticsearch ইনস্ট্যান্স থাকে, আপনি গুড টু গো। শুধু নিশ্চিত করুন আপনার Docker হোস্টের IP অ্যাড্রেস Elasticsearch ইনস্ট্যান্সে হোয়াইটলিস্টেড এবং আপনার কানেকশন ইনফরমেশন নিন "Running Kibana 4 in Docker" সেকশনের নিচে।
Elasticsearch
শুরু করতে, আপনাকে ObjectRocket-এ একটি Elasticsearch ইনস্ট্যান্স দরকার। আপনার যদি ইতিমধ্যে একটি না থাকে, আমাদের চমৎকার ডকুমেন্টেশন রয়েছে Elasticsearch-এ শুরু করার জন্য। আমরা লোকালি Docker চালাব, তাই নিশ্চিত করুন আপনার কারেন্ট IP অ্যাড্রেস (icanhazip.com থেকে) ACL-এ হোয়াইটলিস্টেড। একবার আপনার ইনস্ট্যান্স আপ হলে, আপনাকে নিচের ইনফরমেশন দরকার হবে Kibana 4-র থেকে কানেক্ট করার জন্য:
- আপনার ইনস্ট্যান্সের HTTPS কানেকশন স্ট্রিং, যেমন https://iad1-19999-0.es.objectrocket.com:29999। HA উদ্দেশ্যে, প্রতিটি ইনস্ট্যান্সের চারটি ক্লায়েন্ট নোড রয়েছে যেগুলো আপনি কানেক্ট করতে পারেন, যাইহোক এই কেসে আপনাকে শুধু একটি দরকার।
- ইনস্ট্যান্সে একটি অ্যাডমিন ইউজারের জন্য একটি ইউজারনেম/পাসওয়ার্ড কম্বিনেশন।
Docker
Docker-এ শুরু করার সবচেয়ে সহজ উপায় এই দিন হলো Docker Machine। ইনস্টল এবং কনফিগার করা এই আর্টিকেলের স্কোপ বাইর, কিন্তু তাদের গেটিং স্টার্টেড গাইড একটি ভালো জায়গা শুরু করার জন্য।
Docker-এ Kibana 4 চালানো
এখন যেহেতু আপনার একটি Elasticsearch ইনস্ট্যান্স অনলাইন এবং Docker ইনস্টলড, সময় Kibana 4 আপ এবং রানিং করার!
আপনি যদি Docker Machine ব্যবহার করেন, নিশ্চিত করুন আপনার এনভায়রনমেন্ট যথাযথভাবে সেট আপ করা আছে:
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
dockerbox virtualbox Running tcp://192.168.99.100:2376
$ eval "$(docker-machine env dockerbox)"
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
এনভায়রনমেন্ট ফাইল তৈরি করা
আমরা যে Kibana 4 Docker ইমেজটি ব্যবহার করব (objectrocket/kibana) সেটি রিকোয়ার করে ELASTICSEARCH_URL এনভায়রনমেন্ট ভেরিয়েবল সেট থাকা যাতে সেটি জানে কীভাবে Elasticsearch-এ কানেক্ট করবে। এই উদাহরণে, আমরা হোস্ট iad1-19999-3.es.objectrocket.com পোর্ট 29999 (HTTPS) এর সাথে কানেক্ট করছি ইউজারনেম alice এবং পাসওয়ার্ড password দিয়ে।
$ echo 'ELASTICSEARCH_URL=https://alice:password@iad1-19999-3.es.objectrocket.com:29999' > kibana4.env
নোট: আপনি যেন -e ফ্ল্যাগ দিয়ে এই এনভায়রনমেন্ট ভেরিয়েবল পাস করতে পারেন, কিন্তু যেহেতু এগুলোর মধ্যে সেনসিটিভ ক্রেডেনশিয়াল রয়েছে, এনভি ফাইলে সেগুলো রাখা बुद्धিমানের কাজ।
কন্টেইনার শুরু করা
এখন আমরা আমাদের Kibana 4 কন্টেইনার শুরু করতে পারি:
# Use `-p $PORT:5601` if you wish to change the bind port
$ docker run -d --name kibana4 -p 5601:5601 --env-file kibana4.env objectrocket/kibana:4.1.2
Unable to find image 'objectrocket/kibana:4.1.2' locally
4.1.2: Pulling from objectrocket/kibana
8a648f689ddb: Pull complete
6a9f09112d11: Pull complete
98c91eb0b06a: Pull complete
f5030fbbffc3: Pull complete
0a7a2d9eb5d6: Pull complete
1f9563800fc7: Pull complete
f43ab0bd66e0: Pull complete
Digest: sha256:352e95077d0312fa12de6cec3bc66d221391952b8cf98e890cd7324b6b6605ce
Status: Downloaded newer image for objectrocket/kibana:4.1.2
cc341ff14d492a30e106007896201639964bdef6a93d03d497957a2738f5ac24
আপডেট: আপনি যদি Elasticsearch 2.0+ রান করছেন, আপনাকে objectrocket/kibana:4.2.0 (অথবা উচ্চতর) ইমেজ ব্যবহার করতে হবে।
আপনার কন্টেইনার তৈরি হলে, এটি docker ps আউটপুটে দৃশ্যমান থাকবেঃ
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc341ff14d49 objectrocket/kibana "/opt/kibana/run.sh" About a minute ago Up About a minute 0.0.0.0:5601->5601/tcp kibana4
আপনি যদি কন্টেইনার চালাতে সমস্যা ফেস করেন, আপনার ELASTICSEARCH_URL ভেরিয়েবল ডাবল চেক করুন এবং নিশ্চিত করুন URL-এর প্রতিটি অংশ সঠিক। এটাও লক্ষ্য করুন যে @ বা : এর মত সিম্বলসহ পাসওয়ার্ড URL স্কিম ভাঙতে পারে। আপনি docker logs kibana4 ও রান করতে পারেন যেকোনো এরর মেসেজ দেখতে যা Kibana stdout বা stderr-এ পাঠিয়েছে।
Kibana 4-এ কানেক্ট করা
আপনার এখন Kibana 4-এ পোর্ট 5601-এ (অথবা আপনি পिछলা ধাপে যে পোর্ট বেছে ন였던) আপনার Docker হোস্টে কানেক্ট করতে পারবেন। আপনি যদি লোকালি রান করছেন, https://localhost:5601 ব্যবহার করুন। আপনি যদি Docker Machine রান করছেন, docker-machine ip থেকে আপনার Docker Machine VM-এর IP অ্যাড্রেস ব্যবহার করুন, যেমন https://192.168.99.100:5601।
সফলভাবে কানেক্ট করার পর, আপনাকে Kibana কনফিগার করতে হবে আপনার Elasticsearch ইনস্ট্যান্স থেকে ইনডেক্স ব্যবহার করতে। Elastic-এর Connect Kibana with Elasticsearch ডকুমেন্টেশন দেখুন আরও ইনফরমেশনের জন্য। আপনি তাদের Getting Started with Kibana গাইডও পড়তে পারেন Kibana 4-র কিছু কী ফিচার সম্পর্কে আরও জানতে।
সমাপ্তি
আপনি যখন Kibana-এ ভিজ্যুয়ালাইজেশন ক্রাফটিং ডন করলে, আপনি Docker কন্টেইনার বন্ধ করতে পারেন নিচের কমান্ড রান করে:
$ docker stop kibana4
kibana4
এবং এরপর পরবর্তী বার আপনি কানেক্ট করতে চাইলে, শুধু docker start kibana4 রান করুন এবং আপনি রেডি টু গো।
যেমন আগে বলা হয়েছে, হোস্টেড Kibana 4 ইতিমধ্যে আমাদের Elasticsearch প্রোডাক্ট অফারিং-এ কাজে লেগেছে, কিন্তু লোকালি Kibana চালানো আপনাকে মিয়ানটাইমে দ্রুত শুরু করতে দেবে। এবং যেহেতু Kibana তার সকল কনফিগারেশন Elasticsearch ইনডেক্সে স্টোর করে, আপনি আপনার প্রিয় ড্যাশবোর্ড বা ভিজ্যুয়ালাইজেশন কখনো হারাবেন না স্যুইচ করার সময়!