ট্যাগ দ্বারা কিভাবে RSSyslog বার্তাগুলি ফিল্টার করতে হয়


12

আমার কাছে বেশ কয়েকটি অ্যাপ্লিকেশন এবং স্ক্রিপ্ট রয়েছে যা আমি আউটপুটটিকে কাস্টম ফাইলগুলিতে পুনর্নির্দেশ করতে চাই।

আমি সেই অ্যাপ্লিকেশনগুলি ব্যবহার করে চালু করি

command | logger -t TAG

আমি এই বার্তাগুলি তাদের ট্যাগগুলির উপর ভিত্তি করে ফিল্টার করতে এবং তাদের বিভিন্ন ফাইলে পুনর্নির্দেশ করতে চাই। আমি ব্যাশ পুনঃনির্দেশটি ব্যবহার করতে চাই না কারণ এই অ্যাপ্লিকেশনগুলি মূলত দীর্ঘ চলমান প্রক্রিয়া এবং যথাযথ লগ রোটেশন প্রয়োজন।

আমি /etc/rsyslog.d/60-myfilter.conf এ একটি কাস্টম ফিল্টার যুক্ত করার চেষ্টা করেছি;

if $syslogtag == 'giomanager' then /var/log/giomanager.log

আমি কি ভুল করছি ? ট্যাগের উপর ভিত্তি করে ফিল্টার করার সঠিক উপায় কী বা অনুরূপ ফলাফল পাওয়ার জন্য আরও ভাল বিকল্প আছে?

উত্তর:


21

আমি এটির মতো (বা সিসলগটিগ) ব্যবহার করি নি তবে আমি ব্যবহার করেছি :<blah>,<condition> ...(বিশেষত: _ সংকেতগুলিতে , ...) তবে চেষ্টা করুন

:syslogtag, isequal, "giomanager:" /var/log/giomanager.log
& stop

& stop(অথবা, & ~নিম্নলিখিত rsyslog V6 এবং বয়স্ক (যেমন RHEL6 হিসাবে) মধ্যে) মিলেছে বার্তা অন্যথায় লগিং এটি আরও অন্যান্য বিধি দ্বারা পার্স করা হবে পরে বাতিল করা হয়।


আপডেট: পরীক্ষিত এবং

সিস্লগটাগে একটি থাকে :এবং তার ""পরিবর্তে এটি আবদ্ধ হওয়া উচিত''


আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ. আপনি যা প্রস্তাব করেছিলেন তা আমি কেবল চেষ্টা করেছি, বার্তাটি বাতিল হয়ে যায় তবে কখনও লেখা হয় নি/var/log/giomanager.log
mistyrouge

@ মিস্টিওরেজ: আমার আপডেট দেখুন
ব্যবহারকারী 9517

2
আপনাকে অনেক ধন্যবাদ, আমি এখন আমার লগটি পুনঃনির্দেশিত করেছি /var/log/giomanager.log তবে এটি এখনও / var / লগ / সিসলগে লিখিত আছে। আপনার কী ধারণা আছে যে এটি কেন ঘটছে এবং কীভাবে এটি প্রতিরোধ করা যায়?
mistyrouge

1
বাতিলকরণ ক্রিয়া (~ সূচক) অবমূল্যায়ন
ইভান

7

সুতরাং অবশেষে আমি আমার সমস্যার সমাধান খুঁজে পেয়েছি।

আমার পথে পরিচালিত করার জন্য @ লায়লকে আপনাকে অনেক ধন্যবাদ।

আগে বর্ণিত সমাধানটি ট্যাগ নামে একটি ':' অন্তর্ভুক্ত করা হবে। এছাড়াও, এবং এটি খুব গুরুত্বপূর্ণ, ফাইলের নাম 50-default.confবর্ণমালা অনুসারে হওয়া উচিত ।

পুনরায় শুরু করতে, নীচে এতে লিখুন 30-giomanager.conf:

:syslogtag, isequal, "giomanager:" /var/log/giomanager.log
& stop

নোট করুন যে ফাইলটি /var/log/giomanager.log'সিসলগ' ব্যবহারকারীর দ্বারা লিখিত হতে হবে।


ধন্যবাদ @ মিস্টাইরোজ আপনারও আমার একই সমস্যা ছিল। সঠিক ফাইলে লগ ইন করার পরে আমার লগগুলি / var / লগ / syslog এ পুনঃনির্দেশিত করা হচ্ছে। আপনার কী ধারণা আছে যে এটি কেন ঘটছে এবং কীভাবে এটি প্রতিরোধ করা যায়?
মায়াঙ্ক প্যাটেল

Bind9 লগগুলি ফিল্টার করার জন্য আমি এটি কাজ করতে পারি না। পরিবর্তে, ': প্রোগ্রামের নাম, ইস্কুয়াল, "নাম দেওয়া" /var/log/ নাম / নাম.লগ' কাজ করে। সম্ভবত কারণ ট্যাগটি "নামযুক্ত [32193]" এর মতো।
Rennex

আপনি যদি এর startswithপরিবর্তে ব্যবহার করতে isequalপারেন, উদাহরণস্বরূপ, ট্যাগটিতে একটি পিআইডি রয়েছে। বা regexজটিল ম্যাচের জন্য।
টিম সিলভেস্টার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.