গ্রেলগ 2 সার্ভারে লগ প্রেরণ করা হচ্ছে


11

আমি সবেমাত্র একটি গ্রেলগ 2 সার্ভার সেটআপ করেছি এবং আমি আমার প্রধান সার্ভার থেকে গ্রেগল সার্ভারে সমস্ত লগ প্রেরণ করতে চাইছি। আমি প্রধান সার্ভারের জন্য লগিং সক্ষম করেছেন এবং আমার graylog সার্ভারে লগ পাঠাচ্ছি যোগ করে *.* @logs.example.com:1337করতে /etc/rsyslog.conf

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

অ্যাপাচি লগগুলির জন্য, আমিও রেলের লগগুলি চাই। আমার সাইটগুলি অবস্থিত /srv/www/এবং তারপরে কাঠামোটি হ'ল sitename.com/public_htmlএবং sitename.com/logs। আমার সার্ভারে অনেকগুলি সাইট রয়েছে এবং আমি সমস্ত ত্রুটিগুলি দেখার একটি সহজ উপায় চাই এবং সেগুলি থেকে কিছু চমৎকার গ্রাফ তৈরি করবো তাই কেন আমি গ্রেলগ 2 ব্যবহার করতে চাই ...

লগ ফোল্ডারে লগ ফাইলগুলি হ'ল access.logএবং error.log

রেলের লগগুলি হবে sitename.com/public_html/log। এই ধারণ করে production.log


এখানে প্রশ্ন কি? আপনার যদি আরএসইলগ ইনস্টল করা থাকে তবে আপনি এটি ব্যবহার করতে পারবেন রেল / অ্যাপাচি লগগুলি গ্রেগল 2 এ ( rsyslog.com/doc/imfile.html )
বহুবর্ষীয়

তুমি কি এটা চেষ্টা করেছ? docs.graylog.org/en/1.2/pages/collector.html
zx1986

উত্তর:


10

এটি পুরানো, তবে আমি ভেবেছিলাম যে আমি এই পদ্ধতিটি কম / মাঝারি ট্রাফিক সাইটের জন্য ব্যবহার করব (এটি ভারী ট্রাফিক সাইটের জন্য ভালভাবে কাজ করবে কিনা তা জানি না):

অ্যাপাচে, আমি একটি কাস্টমলগ ফর্ম্যাটটি সংজ্ঞায়িত করি যা একটি GELF ফর্ম্যাটে graylog2_accessঅ্যাক্সেস লগকে ফর্ম্যাট করে এবং তারপরে গ্রেগল 2 এর ইনপুটটিতে জেলফ বার্তা প্রেরণের জন্য এনসি এর মাধ্যমে লগ ডেটা পাইপ করে আমার লগটি গ্রেগল 2 এর মাধ্যমে প্রেরণ করে।

এখানে এটি তৈরি করা কাস্টম ফর্ম্যাট (মানব পাঠযোগ্য):

{ 
 "version": "1.1",
 "host": "%V",
 "short_message": "%r",
 "timestamp": %{%s}t,
 "level": 6,
 "_user_agent": "%{User-Agent}i",
 "_source_ip": "%a",
 "_duration_usec": %D,
 "_duration_sec": %T,
 "_request_size_byte": %O,
 "_http_status": %s,
 "_http_request_path": "%U",
 "_http_request": "%U%q",
 "_http_method": "%m",
 "_http_referer": "%{Referer}i"
}

অ্যাপাচি কনফিগারেশনের জন্য, এখানে একটি অনুলিপি / পেস্ট সংস্করণ রয়েছে:

LogFormat "{ \"version\": \"1.1\", \"host\": \"%V\", \"short_message\": \"%r\", \"timestamp\": %{%s}t, \"level\": 6, \"_user_agent\": \"%{User-Agent}i\", \"_source_ip\": \"%a\", \"_duration_usec\": %D, \"_duration_sec\": %T, \"_request_size_byte\": %O, \"_http_status\": %s, \"_http_request_path\": \"%U\", \"_http_request\": \"%U%q\", \"_http_method\": \"%m\", \"_http_referer\": \"%{Referer}i\" }" graylog2_access

তারপরে আপনার হোস্ট কনফিগারেশনে:

CustomLog "|nc -u graylogserver 12201" graylog2_access

+1 দুর্দান্ত! আমাদের সিস্টেমে একটিতে এটি ব্যবহার করে দেখতে হবে, তবে এর পরিবর্তে ERROR সহ।
হেন্ক

@ হেন্ক - আপনি যদি ত্রুটি লগের জন্য কোনও ফর্ম্যাট করেন তবে দয়া করে আমাকে জানান, আমি চাই তবে এখনও সময় নিইনি। এছাড়াও, আমি পরে চালিত জিনিসগুলির কিছু তথ্যের জন্য সার্ভারফল্ট / প্রশ্ন / 5882510 /… পরীক্ষা করুন।
ইটিএল

5

আপনি এই লগ ফাইলগুলি সরল কমান্ডটি ব্যবহার করে গ্রেলগ 2 সার্ভারে প্রেরণ করতে পারেন:

tail -F -q $yourlogfile |   while read -r line ; do   echo "<7> $hostnamesendingthelog $line" | nc -w 1 -u $graylogserver 514;   done;

আমি গ্রেগল 2 এ সহজ অনুসন্ধানের জন্য আমার লগ ফর্ম্যাটটি মানিয়ে নেওয়া হয়েছে কিনা তা নির্ধারণ করতে পরীক্ষার উদ্দেশ্যে এটি ব্যবহার করি। উত্পাদন ব্যবহারের জন্য আপনি আরএসস্লগ বা সিসলগ-এনজি স্থাপন করতে চান না।

আপনি সম্ভবত আপনার রেল লগ ফাইলটি টেল করতে পারেন এবং দেখুন কী ঘটে।


আমি এই জবাবটির সরলতা পছন্দ করি: সোজা এবং কোনও অতিরিক্ত সরঞ্জাম নেই। লগ ফাইলের টাইমস্ট্যাম্পগুলি সম্পর্কে আমি কী করব তা আমি জানি না: সম্ভবত কিছু করার দরকার নেই এবং তাদের কোনও ব্যাপার নেই?
টেক্সাস-ব্রোনিয়াস

2

গ্রেলগ 2 কেবলমাত্র দুটি ফর্ম্যাটে লগ গ্রহণ করে: স্ট্যান্ডার্ড সিসলগ এবং গ্রেলগ প্রসারিত লগ ফর্ম্যাট (ওরফে জিইএলএফ)। ডিস্কে নির্বিচারে লগগুলিতে লগগুলি গ্রাস করতে এবং এটি আপনার পক্ষে কার্যকর এমন একটি ফর্ম হিসাবে অনুবাদ করতে কিছু তৃতীয় পক্ষের প্রক্রিয়া প্রয়োজন।

লগস্ট্যাশ একবার দেখুন । বেশিরভাগ লোক এটিকে ইলাস্টিক অনুসন্ধানের সাহায্যে লগফিলগুলি সূচীকরণের হাতিয়ার হিসাবে ভাবেন, তবে এটিতে একটি সাধারণ উদ্দেশ্য "লগ রাউটার" রয়েছে যা আপনাকে ডিস্কে একগুচ্ছ ফাইলের লেজ দিতে এবং গ্রেলগের মতো লগিং উপাদানগুলিতে প্রেরণ করতে দেয়।



1
নিম্নলিখিত rsyslog ইনপুট হিসাবে অন্যান্য ফাইল ব্যবহার করতে পারেন যদিও logstash ব্যবহার Grok-আউটের পূর্বনির্ধারিত রেগুলার এক্সপ্রেশন ব্যবহার করতে সক্ষম হচ্ছে সুবিধা আছে (দেখুন logstash.net/docs/1.0.17/filters/grok ) লগ বার্তা মধ্যে কিছু কাঠামো পেতে এবং কেবল প্লেইন টেক্সট নয়
জোশিচি


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