ক্রোনজবসের জন্য আরও ভাল লগিং? সিসলগে ক্রোন আউটপুট প্রেরণ করবেন?


43

আমি ক্রোনজবস লগ করার জন্য আরও ভাল উপায় খুঁজছি। বেশিরভাগ ক্রোনজবস স্প্যাম ইমেল বা কনসোলের দিকে ঝুঁকে থাকে, উপেক্ষা করে বা অন্য কোনও লগফাইলে তৈরি করে।

এই ক্ষেত্রে, আমার কাছে একটি নাগিস এনএসসিএ স্ক্রিপ্ট রয়েছে যা একটি কেন্দ্রীয় নাগিওস সেভের কাছে ডেটা প্রেরণ করে। এই সেন্ড_এনএসএ স্ক্রিপ্টটি একক স্ট্যাটাস লাইনটি STDOUT এ মুদ্রণ করে, সাফল্য বা ব্যর্থতা নির্দেশ করে।

0 * * * * root    /usr/local/nagios/sbin/nsca_check_disk

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

ফরওয়ার্ড করা nsca_check_disk: হোস্টে সফলভাবে 1 টি প্যাকেট প্রেরণ করা হয়েছে।

আমি একটি লগিং পদ্ধতি খুঁজছি যা:

  1. বার্তা ইমেল বা কনসোল স্প্যাম না
  2. আর একটি ক্রুফটি লগফিল তৈরি করবেন না যার জন্য কয়েক মাস বা বছর পরে পরিষ্কারের প্রয়োজন।
  3. লগের তথ্য কোথাও ক্যাপচার করুন, তাই ইচ্ছা করলে এটি পরে দেখা যায়।
  4. বেশিরভাগ ইউনিক্সে কাজ করে
  5. বিদ্যমান লগ অবকাঠামোতে ফিট করে।
  6. 'সুবিধা' এবং 'অগ্রাধিকার' এর মতো সাধারণ সিসলগ কনভেনশন ব্যবহার করে
  7. তৃতীয় পক্ষের স্ক্রিপ্টগুলির সাথে কাজ করতে পারে যা অভ্যন্তরীণভাবে সর্বদা লগিং করে না।

উত্তর:


69

এই প্রশ্নটি লেখার প্রক্রিয়ায় আমি নিজেই উত্তর দিয়েছি। তাই আমি নিজেকে " বিপদজনক-স্টাইল " এর উত্তর দেব । ডেনিস উইলিয়ামসনের দেওয়া উত্তরে এটি প্রসারিত হয়।

নীচে কোনও ক্রোন আউটপুট প্রেরণ করবে /usr/bin/logger(স্টার্ডার সহ, যা স্টাডআউট ব্যবহার করে রূপান্তরিত হয় 2>&1), যা 'ট্যাগ' এর সাথে সিসলগে প্রেরণ করবে nsca_check_disk। সিসলগ সেখান থেকে এটি পরিচালনা করে। যেহেতু এই সিস্টেমগুলির (সেন্টোস এবং ফ্রিবিএসডি) ইতিমধ্যে বিল্ট ইন লগ রোটেশন প্রক্রিয়া রয়েছে তাই আমার var/log/mycustom.logকোনও ডিস্কের মতো / পূরণ করার জন্য লগ সম্পর্কে চিন্তা করার দরকার নেই ।

*/5 * * * * root    /usr/local/nagios/sbin/nsca_check_disk 2>&1 | /usr/bin/logger -t nsca_check_disk

/ var / লগ / বার্তাগুলিতে এখন একটি অতিরিক্ত বার্তা রয়েছে যা এটি বলে:

Apr 29, 17:40:00 192.168.6.19 nsca_check_disk: 1 data packet(s) sent to host successfully.

আমি / usr / bin / লগার পছন্দ করি, কারণ এটি বিদ্যমান সিসলগ কনফিগারেশন এবং অবকাঠামোতে ভাল কাজ করে এবং বেশিরভাগ ইউনিক্স ডিস্ট্রোজের সাথে অন্তর্ভুক্ত থাকে is বেশিরভাগ * নিক্স বিতরণ ইতিমধ্যে লগ রোটেশন করে এবং এটি ভাল করে।


1
2> ও 1 কমান্ডটি কী করে? এর মানে কী? ধন্যবাদ.
ব্রেটস্কি 0


সাথে উবুন্টুতে সিস্টেমেড 00 00 * * * systemd-cat -t "tagname" /path/to/app.shপরেsudo crontab -u root -e
ড্যাশসি

5

পাইপ মাধ্যমে আউটপুট এটির

0 * * * * root    /usr/local/nagios/sbin/nsca_check_disk | logger -p local0.notice

সম্পাদনা: আপনার আপডেটটি সঠিক পথে যাওয়ার মতো দেখাচ্ছে।


ধন্যবাদ! আমি আমার প্রশ্ন পোস্ট করার পরে, আমি দেখেছি যে আপাচি পাইপগুলি লগ আউটপুট / ইউএসআর / বিন / লগারে প্রবেশ করে। আমি বুঝতে পারি নি যে আমরা লগারে আউটপুট পাইপ করতে পারি (1) - এটি ম্যানপেজে নেই!
স্টিফান লাসিউইস্কি

2
"বার্তা - বার্তাটি লগ করতে লিখুন; নির্দিষ্ট না করা থাকলে এবং -ফ পতাকা প্রদান করা হয় না, স্ট্যান্ডার্ড ইনপুট লগ করা আছে।"
ডেনিস উইলিয়ামসন

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