আমি কীভাবে সিসলোগড ইমেলটি আমাকে কিছু নির্দিষ্ট লগ বার্তা বানাতে পারি?


13

errঅগ্রাধিকার বা উচ্চতর বলুন যখনই সিসলোগডে কিছু লগইন করে আমি কোনও ইমেল বিজ্ঞপ্তি পেতে সক্ষম হতে চাই । ধরুন এটি একটি BSD সামঞ্জস্যপূর্ণ সিসলগ ডেমন।

  • এটি কি সম্পাদন করা যায়?
  • আমি কি শেল স্ক্রিপ্টের একটি নামযুক্ত পাইপ ব্যবহার করব?
  • এর বাইরে আর কী কী সম্ভাব্য সমাধান রয়েছে?

উত্তর:


6

এখানে একটি সমাধান রয়েছে যা নামযুক্ত পাইপ ব্যবহার করে। এটি ডেবিয়ানের জন্য সেট আপ করা হয়েছে, তবে আপনার এটি BSD এর জন্য পরিবর্তন করতে সক্ষম হওয়া উচিত।


এটির উপর আমার সমাধানটি ভিত্তি করে তৈরি হয়েছিল যাতে আমি ইমেলটি ডেমনাইজ করতে পারি। লিঙ্কের জন্য ধন্যবাদ।
জেসন

এটি হ্যাক খুব বেশি মনে হয়। আপনার জন্য এটির জন্য যখন স্থিতিযুক্ত ওপেন সোর্স অ্যাপ্লিকেশন রয়েছে তখন আপনি কেন স্ক্রিপ্টিংয়ে সময় ব্যয় করবেন? (রিয়েল টাইমেও)। * আমার উত্তর দেখুন।
সুকুরি

2
মোটেও হ্যাক নয়। এই ধরণের জিনিস প্রায়শই হয়।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

6

সিসলগডের মাধ্যমে বিজ্ঞপ্তিগুলি (8)

আমার ওপেনবিএসডি সার্ভারে, আমি আমার ওয়েব অ্যাপ্লিকেশনগুলি থেকে গুরুত্বপূর্ণ বার্তাগুলি লগইন এবং ইমেল করি, যা লোকাল 1 সুবিধা ব্যবহার করে । এটি ঘটানোর জন্য আমার /etc/syslog.conf এখানে রয়েছে :

local1.err    /var/log/example.com
local1.err    |while read log; do echo "$log" | /usr/bin/mail -s SYSLOG me@example.com; done

লক্ষ্য করুন যে যখন লুপটি অসম্পূর্ণভাবে প্রতিটি লাইন সিসলোগড থেকে পড়ে এবং তারপরে এটি প্রতিধ্বনিত করে ইকো এর মাধ্যমে মেইলে পাঠায়। এটা গুরুত্বপূর্ণ. প্রতিধ্বনি একবার তার লাইনের আউটপুট হয়ে গেলে এটি পাইপটি বন্ধ করে দেয়, একটি ইওএফ মেইল ​​প্রেরণ করে যাতে লগ বার্তাটি ইমেল করতে পারে।

অন্য কথায়, আপনি সিসলোগডের মাধ্যমে সরাসরি মেইলে পাইপ করতে পারবেন না:

local1.err    |/usr/bin/mail -s SYSLOG me@example.com

কারণ সিসলোগড পাইপটিতে লেখা চালিয়ে যাওয়া অব্যাহত রাখবে যতক্ষণ না এটি নিজেই শেষ হয়ে যায় বা এইচইউপি সংকেত না পাঠানো হয়, সেই সময়ে মেলটি একটি বড় ইমেলটিতে লগ বার্তার পুরো সেট প্রেরণ করে।

নিউজলাইগের মাধ্যমে বিজ্ঞপ্তিগুলি (8)

ধীরে ধীরে বা বাল্কে বার্তাগুলি পাওয়ার জন্য ক্রোনে নিউজলাইগ নির্ধারণ করা অন্য উপায়।

উদাহরণস্বরূপ, আপনি যদি লগ বার্তাগুলির দৈনিক ইমেল ডাইজেস্ট চান, এম ফ্ল্যাগ সেট করে এবং /etc/newsyslog.conf এ একটি মনিটরের ইমেল ঠিকানা নির্দিষ্ট করে :

# logfile_name        owner:group  mode  count  size  when  flags  monitor
/var/log/example.com  root:wheel   640   7      *     24    M      me@example.com

তারপরে ক্রন্টব-এ নিউজিস্লাগ শিডিউল করুন:

# minute hour  mday  month  wday  command
0        *     *     *      *     /usr/bin/newsyslog
1-59     *     *     *      *     /usr/bin/newsyslog -m

-M জন্য বিকল্প newsyslog (8) বলে:

পর্যবেক্ষণ মোড; পতাকাগুলিতে কেবল একটি 'এম' দিয়ে চিহ্নিত এন্ট্রিগুলি প্রক্রিয়া করা হয়। প্রতিটি লগ ফাইল নিরীক্ষণ করার জন্য, শেষ বারের নিউজলিজ-এম ফ্ল্যাগের সাথে চালিত হওয়ার পরে যে কোনও লগ আউটপুট মনিটরের বিজ্ঞপ্তি বিভাগে তালিকাভুক্ত ব্যবহারকারীকে মেল করা হয়।


3

আপনি লগচেক ​​বা লগওয়াচটি দেখতে চাইতে পারেন। লগচেক ​​আপনাকে নিবন্ধের সেটের সাথে মেলে না এমন লগ লাইনগুলির সাথে প্রতি ঘণ্টায় ইমেল করবে। আমার সন্দেহ হয় আপনি সম্ভবত এটি আরও ঘন ঘন এটি করতে পারেন। লগফাইলগুলি দেখে এটি করার কোনও সরঞ্জাম আমি জানি না, তবে আমি নিশ্চিত যে এখানে কিছু আছে যা এটি করে।


হ্যাঁ, আমি লগ ফাইলগুলি লিখিত হওয়ার পরে তাদের নিরীক্ষণ এবং পার্স করা পছন্দ করবো না, তবে কেবল লগিং প্রক্রিয়ায় ডুবছি যাতে তাত্ক্ষণিক বিজ্ঞপ্তিগুলি পেতে পারি।
জেসন

1

আমি ওএসএসইসি ব্যবহার করব। এটি আপনার লগগুলিকে রিয়েল টাইমে নিরীক্ষণ করে এবং নির্দিষ্ট ইভেন্টগুলি মিলে গেলে আপনাকে সহজেই ইমেল (বা অন্য উপায়ে) দ্বারা সতর্ক করতে দেয়। সহজেই ব্যবহারযোগ্য, স্কেলেবল এবং ওপেন সোর্স।

লিঙ্ক: http://www.ossec.net


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