Elastic{on} 17 থেকে, আমরা Elastic Stack-এ আস वाले সব নতুন ফিচারগুলো নিয়ে খুব এক্সাইটেড, বিশেষ করে নতুন Filebeat মডিউলস কনসেপ্ট। সাধারণত, আপনি যখন Filebeat-এ ডেটা গ্র্যাব করতে চান, আপনাকে Filebeat কনফিগার করতে হয়, একটি Elasticsearch ম্যাপিং টেমপ্লেট তৈরি করতে হয়, একটি ইনজেস্ট পাইপলাইন বা Logstash ইনস্ট্যান্স তৈরি এবং টেস্ট করতে হয়, এবং তারপর সেই ডেটাসেটের জন্য Kibana ভিজ্যুয়ালাইজেশন তৈরি করতে হয়। Beats টিম এখন সেই সেটআপ প্রসেসকে পুরোপুরি সহজ করে দিয়েছে মডিউলস কনসেপ্ট দিয়ে।
একটি Filebeat মডিউল সেই সকল কনফিগারেশন স্টেপকে একটি প্যাকেজে রোল আপ করে যা তারপর একটি সিঙ্গেল কমান্ড দিয়ে ইনাবল করা যায়। Filebeat 5.3.0 এবং পরবর্তী ভার্সন mysql, nginx, apache, এবং সিস্টেম লগসের জন্য মডিউলস নিয়ে আসে, কিন্তু আপনার নিজেরও তৈরি করা খুব সহজ।
Filebeat মডিউলস কয়েক সপ্তাহ ধরে উপলব্ধ, তাই আমি একটি কুইক ব্লগ লিখতে চেয়েছিলাম কীভাবে সেগুলো ব্যবহার করবেন নন-লোকাল Elasticsearch ক্লাস্টারের সাথে, যেমন ObjectRocket সার্ভিসে রয়েছে। আমরা ত bw Elasticsearch ভার্সন 5.4 ObjectRocket সার্ভিসে লঞ্চ করেছি, তাই আপনি আজই Filebeat মডিউলস ট্রাই করতে পারেন এবং নতুন auditd মডিউল এবং Linux system.auth ফাইলসেটের সুবিধা নিতে পারেন।
সেট আপ করা
নিচের স্টেপগুলো ObjectRocket for Elasticsearch ইনস্ট্যান্স এবং আমাদের UI রেফারেন্স করে, কিন্তু অন্যান্য সার্ভিস বা আপনার নিজের ক্লাস্টারের জন্য সহজে মডিফাই করা যায়। এছাড়া, আমরা এই উদাহরণে "system" মডিউল ব্যবহার করব, কিন্তু অন্যান্য মডিউল ইনক্লুড করা স্ট্রেটফরওয়ার্ড।
আপনার দরকার হবে একটি Elasticsearch 5.3 বা পরবর্তী ইনস্ট্যান্স (আমি কিছুarlier 5.x Elasticsearch ভার্সন ট্রাই করেছিলাম এবং সেটি ফাইন কাজ করেছিল, কিন্তু কোনো গ্যারান্টি নেই), একই ভার্সনের Kibana, Elasticsearch ক্লাস্টারের সাথে কানেক্ট করার হোস্টনেম(গুলো), ক্লাস্টারে লিখতে এবং ইনডেক্স তৈরি করতে সক্ষম ইউজার ক্রেডেনশিয়াল, এবং Filebeat ভার্সন 5.3 বা পরবর্তী।
ধরে আপনার Elasticsearch ক্লাস্টার এবং Kibana ইতিমধ্যে সেট আপ করা আছে, আপনাকে প্রথম Filebeat ডাউনলোড করতে হবে আপনি যেই টাইপের সিস্টেম রান করছেন তার জন্য, এখানে, তারপর এক্সট্রাক্ট করুন সিস্টেমে যেখানে আপনি লগগুলো গ্যাদার করতে চান। এই উদাহরণের জন্য, আমি শুধু একটি Macbook ব্যবহার করছি MacOS রান করে এবং একটি Elasticsearch 5.4.0 ক্লাস্টারের সাথে কানেক্ট করছি, তাই আমি filebeat-5.4.0-darwin-x86_64.tar.gz প্যাকেজ ব্যবহার করব। আর্কাইভটি এক্সট্রাক্ট করুন এবং তারপর আমরা Filebeat সেট আপ করার জন্য প্রস্তুত।
Filebeat সেট আপ করা
ডিফল্টভাবে, Filebeat চেষ্টা করে আপনার লোকাল মেশিনে একটি Elasticsearch ইনস্ট্যান্সের সাথে কানেক্ট করতে এবং /var/log/*.log-এ সব লগ পড়তে ইনক্লুডেড filebeat.yml ফাইলের সাথে, তাই আমাদের প্রথম সেটি মডিফাই করতে হবে আপনার ক্লাস্টারের দিকে পয়েন্ট করতে এবং যেকোনো অন্যান্য প্রস্পেক্টর স্ট্রিপ আউট করতে। আপনি যদি ObjectRocket সার্ভিস ব্যবহার করেন, আপনি শুধু আমাদের UI-র Beats স্নিপেট কপি করে শুরু করতে পারেন, যা আপনার ক্লাস্টারের স্পেসিফিক হোস্টনেম অটো-পপুলেট করে।

অন্য সব কিছু স্ট্রিপ আউট করে এবং ইউজারনেম/পাসওয়ার্ড ফিল আপ করে, আপনার পুরো filebeat.yml ফাইল এমন দেখাবে:
output:
elasticsearch:
# The Elasticsearch cluster hosts: ["https://dfw-xxxx-0.es.objectrocket.com:xxxx", "https://dfw-xxxx-1.es.objectrocket.com:xxxx", "https://dfw-xxxx-2.es.objectrocket.com:xxxx", "https://dfw-xxxx-3.es.objectrocket.com:xxxx"]
# HTTP basic auth
username: "elasticsearch"
password: "supersecretpassword"
এটিই। লক্ষ্য করুন সব ইনপুট স্ট্রিপ আউট করা হয়েছে, তাই ফাইলটিতে শুধু Elasticsearch কানেকশন ইনফো রয়েছে। এই পয়েন্টে, নিশ্চিত করুন আপনি আপনার elasticsearch ক্লাস্টার অ্যাক্সেস করতে পারছেন আপনার মেশিন থেকে, ACLs অ্যাড করা আছে, ইত্যাদি। এখন Filebeat দিয়ে সব কিছু গতিশীল করি।
Filebeat চালানো
আপনার সব কিছু কনফিগার করা আছে আপনার ক্লাস্টারের সাথে কথা বলতে, তাই যতক্ষণ আপনি filebeat.yml-এ আপনার সব চেঞ্জ ডিফল্ট লোকেশনেই করলেন, আপনাকে শুধু নিচের কমান্ড রান করতে হবে filebeat ডিরেক্টরি থেকে:
./filebeat -e -modules=system -setup
-e Filebeat-কে stderr-এ লগ করতে বলে/syslog-র বদলে, -modules=system Filebeat-কে বলছে system মডিউল ব্যবহার করতে, এবং -setup Filebeat-কে বলছে মডিউলের Kibana ড্যাশবোর্ড লোড করতে। আপনাকে -setup পার্ট কমান্ডে শুধু প্রথমবার বা Filebeat আপগ্রেড করার পর ইনক্লুড করতে হবে, কারণ এটি শুধু ডিফল্ট ড্যাশবোর্ড Kibana-এ লোড করে। আপনি যদি একাধিক মডিউল চালাতে চান, আপনি সেগুলো কমা দিয়ে সেপারেট করে লিস্ট করতে পারেন (স্পেস নেই)।
নোট: Filebeat 5.4.0-এ একটি বাগ রয়েছে যা ক Certin সিস্টেমে -setup পার্ট কমান্ড ফেইল করতে পারে। আপনি এর সাথে ওয়ার্কঅরাউন্ড করতে পারেন ulimit হায়ার কিছুতে সেট করে (রান ulimit -n 2048) বা filebeat 5.3.x ব্যবহার করে।
Filebeat এখন এটা করছে। যতক্ষণ আপনি কোনো এরর দেখতে পাচ্ছেন না, চলুন Kibana-এ চেক করি।
ডেটা দেখা
একবার আপনি Kibana-এ লগইন করলে, একটি নতুন filebeat-* ইনডেক্স প্যাটার্ন থাকবে কিছু নতুন ভিজ্যুয়ালাইজেশন এবং ড্যাশবোর্ড সহ। "Dashboards"-এ যান, এবং "Filebeat syslog dashboard"-টি খুলুন।
Voilà। যতক্ষণ আপনার সিস্টেম লগে কিছু থাকে, আপনার এখন আপনার ডেটার কিছু চমৎকার ভিজ্যুয়ালাইজেশন থাকব।

নোট: যদি Filebeat-এ কোনো এরর না থাকে এবং Kibana-এ কোনো ডেটা না থাকে, আপনার সিস্টেমে শুধু খুব কুয়েট সিস্টেম লগ হতে পারে। আমাকে ডেট পিকারের পেছনে কিছুটা ফার 더 সেট করতে পড়েছিল ডিফল্ট 'Last 15 minutes'-র চেয়ে কিছু ডেটা দেখতে।
সমাপ্তি
এটি বিটসকে সবচেয়ে সাধারণ ইউজ কেসের জন্য আরও সহজ করার দিকে একটি খুব কুল স্টেপ এবং এই উদাহরণের বেসিক্স সহজেই এক্সটেন্ড করা যায় অন্যান্য মডিউলস জন্য যা এখন উপলব্ধ। উদাহরণস্বরূপ, অনেক ওয়েব অ্যাপ (যেমন WordPress, Drupal, Magento, ইত্যাদি) একটি ওয়েব সার্ভার এবং কিছু mysql তাদের পেছনে রেখেছে। এই এক সেট মডিউল এবং একটি সিঙ্গেল কমান্ড দিয়ে আপনি ওয়েব সার্ভার, ডেটাবেস, এবং সেই অ্যাপ্লিকেশনের সিস্টেম লগস শিপিং শুরু করতে পারেন, সব এক স্টেপে।
আপনি যদি আরও ইনফরমেশন খুঁজছেন এবং কীভাবে এই মডিউলগুলো কনস্ট্রাক্টেড সেটি খুঁজতে চান, ডেভেলপার ডকুমেন্টেশন চেক আউট করুন এবং আপনার Filebeat ইনস্টলেশনের মডিউল ডিরেক্টরিতে ঘুরে বের করুন। আপনি সক্ষম হবেন প্রস্পেক্টর, পাইপলাইন, টেমপ্লেট, এবং ভিজ্যুয়ালাইজেশন ম্যাচ আপ করতে যা মডিউলটি ব্যবহার করছে Kibana-এ আপনি যা দেখছেন তার সাথে।