Rsyslog সঠিকভাবে কাজ করছে না, এটি কিছু লগ না


11

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

আমি ডিফল্ট আরএসল্লগ কনফিগারেশন ব্যবহার করছি (যদি আপনি প্রাসঙ্গিক মনে করেন তবে আমি এটি সংযুক্ত করব, তবে এটিই প্যাকেজটি নিয়ে আসে)।

আমি সমস্ত লগ ফাইলগুলি ঘোরানোর পরে সেগুলি খালি রয়েছে:

# ls -l /var/log/*.log
-rw-r--r-- 1 root root 0 Jun 27 00:25 /var/log/alternatives.log
-rw-r----- 1 root adm  0 Jun 26 13:03 /var/log/auth.log
-rw-r----- 1 root adm  0 Jun 26 13:03 /var/log/daemon.log
-rw-r--r-- 1 root root 0 Jun 27 00:25 /var/log/dpkg.log
-rw-r----- 1 root adm  0 Jun 26 13:03 /var/log/kern.log
-rw-r----- 1 root adm  0 Jun 26 13:03 /var/log/lpr.log
-rw-r----- 1 root adm  0 Jun 26 13:03 /var/log/mail.log
-rw-r----- 1 root adm  0 Jun 26 13:03 /var/log/user.log

লগ লেখার জন্য জোর করার যে কোনও প্রয়াসের কোনও প্রভাব নেই:

# logger hey
# ls -l /var/log/messages 
-rw-r----- 1 root adm 0 Jun 26 13:03 /var/log/messages

লসফ দেখায় যে আরএসস্লগডে কোনও লগ ফাইল খোলা নেই:

# lsof -p 1855
COMMAND   PID USER   FD   TYPE     DEVICE SIZE/OFF       NODE NAME
rsyslogd 1855 root  cwd    DIR      202,0     4096          2 /
rsyslogd 1855 root  rtd    DIR      202,0     4096          2 /
rsyslogd 1855 root  txt    REG      202,0   342076      21649 /usr/sbin/rsyslogd
rsyslogd 1855 root  mem    REG      202,0    38556      32153 /lib/i386-linux-gnu/i686/cmov/libnss_nis-2.13.so
rsyslogd 1855 root  mem    REG      202,0    79728      32165 /lib/i386-linux-gnu/i686/cmov/libnsl-2.13.so
rsyslogd 1855 root  mem    REG      202,0    26456      32163 /lib/i386-linux-gnu/i686/cmov/libnss_compat-2.13.so
rsyslogd 1855 root  mem    REG      202,0   297500    1061058 /usr/lib/rsyslog/imuxsock.so
rsyslogd 1855 root  mem    REG      202,0    42628      32170 /lib/i386-linux-gnu/i686/cmov/libnss_files-2.13.so
rsyslogd 1855 root  mem    REG      202,0    22784    1061106 /usr/lib/rsyslog/imklog.so
rsyslogd 1855 root  mem    REG      202,0  1401000      32169 /lib/i386-linux-gnu/i686/cmov/libc-2.13.so
rsyslogd 1855 root  mem    REG      202,0    30684      32175 /lib/i386-linux-gnu/i686/cmov/librt-2.13.so
rsyslogd 1855 root  mem    REG      202,0     9844      32157 /lib/i386-linux-gnu/i686/cmov/libdl-2.13.so
rsyslogd 1855 root  mem    REG      202,0   117009      32154 /lib/i386-linux-gnu/i686/cmov/libpthread-2.13.so
rsyslogd 1855 root  mem    REG      202,0    79980      17746 /usr/lib/libz.so.1.2.3.4
rsyslogd 1855 root  mem    REG      202,0    18836    1061094 /usr/lib/rsyslog/lmnet.so
rsyslogd 1855 root  mem    REG      202,0   117960      31845 /lib/i386-linux-gnu/ld-2.13.so
rsyslogd 1855 root    0u  unix 0xebe8e800      0t0        640 /dev/log
rsyslogd 1855 root    3u  FIFO        0,5      0t0       2474 /dev/xconsole
rsyslogd 1855 root    4u  unix 0xebe8e400      0t0        645 /var/spool/postfix/dev/log
rsyslogd 1855 root    5r   REG        0,3        0 4026532176 /proc/kmsg

আমি এতটাই হতাশ হয়ে পড়েছিলাম যে এমনকি আরএসস্লগ প্যাকেজটি পুনরায় ইনস্টল করে তবে এটি কোনও কিছুতে লগ করতে অস্বীকার করে:

# apt-get remove --purge rsyslog
# apt-get install rsyslog

আমি ভেবেছিলাম কেউ সিস্টেম হ্যাক করেছে, সুতরাং নেটচ্যাট দ্বারা প্রদর্শিত পোর্টগুলির সাথে তুলনা করার জন্য একটি রিমোট হোস্টে লুকানো প্রক্রিয়া / বন্দরগুলি এবং এনএম্যাপ সন্ধানের প্রয়াসে rkunter, chkrootkit চালনা করুন। এবং আমি জানি এটির কোনও অর্থ নেই, তবে সমস্ত ঠিক আছে। সিস্টেমে একটি iptables ফায়ারওয়ালও রয়েছে যা আগত / বহির্গামী সংযোগগুলির সাথে খুব সীমাবদ্ধ।

এটি আমাকে পাগল করে দিচ্ছে, এখানে কি চলছে কোন ধারণা?

[সম্পাদনা - ডিস্ক স্থানের তথ্য]

# df -h
Filesystem            Size  Used Avail Use% Mounted on
rootfs                 24G   22G  629M  98% /
/dev/root              24G   22G  629M  98% /
devtmpfs               10M  112K  9.9M   2% /dev
tmpfs                  76M   48K   76M   1% /run
tmpfs                 5.0M     0  5.0M   0% /run/lock
tmpfs                 151M   40K  151M   1% /tmp
tmpfs                 151M     0  151M   0% /run/shm

[সম্পাদনা - স্ট্রেস তথ্য]

স্ট্রেস আমার জন্য ঠিক আছে

[pid 28824] access("/var/log/auth.log", F_OK) = 0
[pid 28824] access("/var/log/syslog", F_OK) = 0
[pid 28824] access("/var/log/daemon.log", F_OK) = 0
[pid 28824] access("/var/log/kern.log", F_OK) = 0
[pid 28824] access("/var/log/lpr.log", F_OK) = 0
[pid 28824] access("/var/log/mail.log", F_OK) = 0
[pid 28824] access("/var/log/user.log", F_OK) = 0
[pid 28824] access("/var/log/mail.info", F_OK) = 0
[pid 28824] access("/var/log/mail.warn", F_OK) = 0
[pid 28824] access("/var/log/mail.err", F_OK) = 0
[pid 28824] access("/var/log/news/news.crit", F_OK) = 0
[pid 28824] access("/var/log/news/news.err", F_OK) = 0
[pid 28824] access("/var/log/news/news.notice", F_OK) = 0
[pid 28824] access("/var/log/debug", F_OK) = 0
[pid 28824] access("/var/log/messages", F_OK) = 0

সম্পূর্ণ স্ট্রেস লগটি এখান থেকে ডাউনলোড করা যায়


2
লগ ডিস্ক পূর্ণ?
জেনি ডি

ওহ দুঃখিত, আমি এই তথ্যটি যুক্ত করতে ভুলে গেছি, আমি প্রশ্নটি আপডেট করব। লগগুলি লেখার জন্য এখনও যথেষ্ট জায়গা রয়েছে।
ভিক্টর হেনরিকিক্স

2
চেষ্টা করুন এবং
স্ট্রেস

ভাল পরামর্শ, দুর্ভাগ্যক্রমে আমি প্রাসঙ্গিক কিছু খুঁজে পেতে সক্ষম হইনি। আমি স্ট্রেস লগ দিয়ে প্রশ্নটি আপডেট করেছি, কেবলমাত্র যদি আমি কিছু মিস করছি তবে আপনি তা খুঁজে পেতে পারেন। আমি সত্যিই হতাশ।
ভিক্টর হেনরিকিক্স

ডিবাগ মোডে ম্যানুয়ালি চালান (-d if iirc), তাই এটি কাঁটাচামচ হবে না, বা স্ট্রেসের ফলো ফোরাক্স বিকল্পটি ব্যবহার করবে না। আমার খারাপ, দুঃখিত।
মনজিকি

উত্তর:


13

সম্ভবত এটি কোনও ফাইলের মালিকানার সমস্যা। rsyslog রুট হিসাবে চলতে শুরু করে কিন্তু তারপরে সুবিধাগুলি বাদ দেয় এবং ব্যবহারকারীর সিসলগ হিসাবে চালিত হয় (কনফিগারেশনের নির্দেশিকা $ প্রাইভড্রপটোজার )।

syslog ফাইলগুলি (auth.log, daemon.log, ইত্যাদি) শুরুতে syslog এর মালিকানাধীন: মানুন তবে আপনি যদি মালিকানাটিকে রুটে পরিবর্তন করেন (যেমন এটি আপনার ফাইলের তালিকা থেকে মনে হয়) তবে আপনি আরএসপি (যেমন, পুনরায় লোড করুন) আরএসএসলগ বা এটি আপত্তি করেন না তা নয় or এটি পুনরায় চালু করুন, সুযোগ সুবিধার অভাবে এই ফাইলগুলি খুলতে অস্বীকার করা হবে।

লগ রোটেশনের পরে যদি মালিকানার পরিবর্তন ঘটে থাকে তবে createআপনার লোগ্রোটেট কনফিগারেশনের বিকল্পটি পরীক্ষা করুন । উভয় ক্ষেত্রেই কনফিগার এটা পছন্দ create 0644 syslog admমধ্যে /etc/logrotate.d/rsyslogবা আরও ভাল, এটা এ বিশ্বব্যাপী সংজ্ঞায়িত /etc/logrotate.confমোড, মালিক এবং গ্রুপ, কেবল এই মত বাদ create(যা প্রণালী দ্বারা ডিফল্ট কনফিগারেশন হয়), যে ক্ষেত্রে ফাইলের একই মান ব্যবহার করা হবে। man logrotateসম্পূর্ণ বিশদ জন্য পরামর্শ করুন।

আরএসস্লগের কয়েকটি সংস্করণে ফাইলের মালিকানার বহিরাগত পরিবর্তনের জন্য একটি নির্দেশিকা- ওমফাইলফরাসচাউন অন্তর্ভুক্ত রয়েছে তবে এটি প্রস্তাবিত নয়। প্রস্তাবিত উপায় হ'ল মালিকানা এবং অনুমতিগুলি সঠিকভাবে কনফিগার করা। এই লিঙ্কটি অনুসরণ করে এই সমস্যা সম্পর্কে আরও তথ্য পাওয়া যেতে পারে।


1
এই. আরও আলোচনা এবং বিশদ জন্য, লঞ্চপ্যাডে আরএসস্লগড
+

তুমি মানুষকে রক কর, আমি এই সমস্যাটি খুঁজে পেয়ে দুদিন হারিয়েছি
deFreitas

1

যদি ফাইলের অনুমতিগুলি সমস্ত ভাল থাকে এবং লোগ্রোটেটটি সঠিকভাবে কনফিগার করা থাকে তবে আপনার পরবর্তী পদক্ষেপটি আরএসস্লগ সিস্টেম কলগুলিতে নজর রাখা উচিত।

# find the start command 
me@d2-slprod02:~$ sudo systemctl status rsyslog
● rsyslog.service - System Logging Service
   Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-06-21 10:04:43 CEST; 2h 26min ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 18753 (rsyslogd)
    Tasks: 4
   Memory: 1.4M
      CPU: 291ms
   CGroup: /system.slice/rsyslog.service
           └─18753 /usr/sbin/rsyslogd -n

 # let's have a look at syscalls.
 sudo strace /usr/sbin/rsyslogd -n
 ...
 write(2, "rsyslogd: error during parsing f"..., 206rsyslogd: error during parsing file /etc/rsyslog.d/50-default.conf, on or before line 8: warnings occured in file '/etc/rsyslog.d/50-default.conf' around line 8 [v8.16.0 try http://www.rsyslog.com/e/2207 ]
 ...

এই ফাইলটিতে আমার টাইপো স্থির হওয়ার সাথে সাথে /etc/rsyslog.d/50-default.confসিসলগ আবার / var / লগ / সিস্লোগতে লিখতে শুরু করল!


0

আমার এই সমস্যাটি হয়েছিল কারণ আমার / ভার্ / লগটি আমার এসএসডি পরিধান কমাতে র‌্যামডিস্কে অবস্থান করছিল এবং আমি এটি একটি এইচডিডি এ স্থানান্তরিত করতে চেয়েছিলাম যাতে কেবল বর্তমান বুটের চেয়ে আমার আরও ইতিহাস থাকে।

মজার বিষয়টি ছিল, যেহেতু এটি একটি র‌্যামডিস্ক, তাই আমার একক-ব্যবহারকারী মোডে অনুলিপি করার দরকার নেই, তাই অনুমতি এবং মালিকানা কী বলেছিল তা আমি জানতাম না! Duh।

আপনার নতুন অবস্থান সহ ছোট গল্প:

chmod 770 /var/log
chgrp syslog /var/log
initctl restart rsyslog

Rsyslog এখন / var / লগে লিখতে সক্ষম হবে যেহেতু এটি 'syslog' ব্যবহারকারী, গ্রুপ 'syslog' হিসাবে চালিত হয়।

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