Elasticsearch-এ লগ ইনডেক্সিং এবং সার্চ করার জন্য কিছু গুরুত্বপূর্ণ স্টেপ এবং কনসেপ্ট আছে। নিচে বিস্তারিতভাবে আলোচনা করা হলো:
১. লগ ইনডেক্সিং (Log Indexing)
লগ ইনডেক্সিং বলতে বুঝায় বিভিন্ন সোর্স থেকে লগ সংগ্রহ করে তা Elasticsearch-এ ইনডেক্স করা। সাধারণত, লগ ইনডেক্সিং করতে আমরা Logstash, Filebeat, বা অন্যান্য ইনজেস্ট টুল ব্যবহার করি।
স্টেপ:
Filebeat ইনস্টলেশন এবং কনফিগারেশন:
- Filebeat সাধারণত সার্ভার থেকে লগ সংগ্রহ করে তা Elasticsearch বা Logstash-এ পাঠায়।
- Filebeat এর কনফিগারেশন ফাইলে (filebeat.yml) ইনপুট সোর্স এবং আউটপুট সোর্স সেট করতে হয়।
- ইনপুট সেকশনে লগ ফাইলের পাথ সেট করুন।
- আউটপুট সেকশনে Elasticsearch-এর এন্ডপয়েন্ট বা Logstash-এর এন্ডপয়েন্ট দিন।
Elasticsearch ইনডেক্স তৈরি করা:
- Filebeat ডিফল্টভাবে Elasticsearch-এ একটি ইনডেক্স তৈরি করবে, যেমন
filebeat-<version>-<date>. - চাইলে নিজস্ব ইনডেক্স প্যাটার্নও ব্যবহার করতে পারেন।
Logstash (ঐচ্ছিক):
- যদি Logstash ব্যবহার করেন, তাহলে Logstash কনফিগারেশন ফাইলে ইনপুট (Filebeat থেকে), ফিল্টার (ডাটা প্রসেসিং), এবং আউটপুট (Elasticsearch) সেকশন থাকে।
- ফিল্টার সেকশনে লগ ফরম্যাট (JSON, Grok ইত্যাদি) অনুযায়ী পার্স করতে পারেন।
২. সার্চ করা (Searching Logs)
Elasticsearch-এ লগ সার্চ করা খুব সহজ এবং দ্রুত। সার্চ করতে Kibana ব্যবহার করা যায়, অথবা Elasticsearch Query DSL ব্যবহার করে সার্চ করা যায়।
সার্চ করার পদ্ধতি:
Kibana:
- Kibana ইন্টারফেস ব্যবহার করে ইনডেক্স ব্রাউজ করতে পারেন।
- ডেটা ফিল্টারিং, টাইম রেঞ্জ সিলেকশন, এবং সার্চ কিউরি তৈরি করা যায় সহজে।
Elasticsearch Query DSL (Domain Specific Language):
- Kibana ছাড়াও সরাসরি Elasticsearch API ব্যবহার করে কিউরি করতে পারেন। উদাহরণ:
GET /filebeat-*/_search
{
"query": {
"match": {
"message": "error"
}
}
}- উপরের কিউরি
messageফিল্ডে থাকা সব "error" টার্ম খুঁজবে।
ফিল্টার এবং রেঞ্জ সার্চ:
- রেঞ্জ সার্চ করতে পারেন নির্দিষ্ট সময় অনুযায়ী:
GET /filebeat-*/_search
{
"query": {
"range": {
"@timestamp": {
"gte": "now-1d/d",
"lt": "now/d"
}
}
}
}- উপরের কিউরি গত ২৪ ঘণ্টার মধ্যে থাকা সব ডকুমেন্ট খুঁজে বের করবে।
উপসংহার
Elasticsearch-এ লগ ইনডেক্সিং এবং সার্চ করা খুবই কার্যকর এবং ফ্লেক্সিবল। Logstash, Filebeat, এবং Elasticsearch Query DSL ব্যবহারে আরও কার্যকরী সার্চ এবং ফিল্টারিং করা যায়।
Read more