সিস্লোগে হ্যাপ্রোক্সি লগিং


13

আমি মাধ্যমে কার্যক্ষম-পেতে মাধ্যমে HAProxy 1.5 ইনস্টল উবুন্টু 14.04 তে ppa:vbernat/haproxy-1.5অনুযায়ী http://haproxy.debian.net/

সমস্যা এটি /var/log/syslogপরিবর্তে লগইন হয়/var/log/haproxy.log

সেটআপটি মূলত ডিফল্ট:

/etc/haproxy/haproxy.cfg

global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

    # Default SSL material locations
    ca-base /etc/ssl/certs
    crt-base /etc/ssl/private

    # Default ciphers to use on SSL-enabled listening sockets.
    # For more information, see ciphers(1SSL).
    ssl-default-bind-ciphers kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL
        ssl-default-bind-options no-sslv3

defaults
    log global
    mode    http
    option  httplog
    option  dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

/etc/rsyslog.d

# Create an additional socket in haproxy's chroot in order to allow logging via
# /dev/log to chroot'ed HAProxy processes
$AddUnixListenSocket /var/lib/haproxy/dev/log

# Send HAProxy messages to a dedicated logfile
if $programname startswith 'haproxy' then /var/log/haproxy.log
&~

হতে পারে এই লিঙ্কটি আপনাকে সহায়তা করে: kvz.io/blog/2010/08/11/haproxy-logging
ফেডেরিকো সিয়েরা

উত্তর:


21

খুব কৌতুকময়। :-) এবং এখানে কৌশলটির উত্তর দেওয়া হল:

/etc/rsyslog.dএতে হ্যাপ্রোক্সিটি লগ ইন করার কথা বলেছে এমন ফাইলটি লক্ষ্য করুন তবে এটি আরএসস্লগ /var/log/haproxy.logপুনরায় আরম্ভ না করে কার্যকর হবে না:

service rsyslog restart

9

ডিফল্ট haproxy.confফাইলটি গ্লোবাল সেটিংসের অধীনে সুস্পষ্ট নির্দেশনা সরবরাহ করে - global। এখানে আমি এটি আপনার জন্য আটকানো অনুলিপি করছি -

# ------------------------------------------------- --------------------
# গ্লোবাল সেটিংস
# ------------------------------------------------- --------------------
বিশ্বব্যাপী
    এই বার্তাগুলি /var/log/haproxy.log এ শেষ হওয়ার জন্য # আপনার হবে
    # প্রয়োজন:
    #
    # 1) নেটওয়ার্ক লগ ইভেন্টগুলি গ্রহণ করতে সিসলগ কনফিগার করুন। এই কাজ করা হয়
    # এর মধ্যে SYSLOGD_OPTIONS- তে '-r' বিকল্প যুক্ত করে #
    # / etc / sysconfig / syslog
    #
    # 2) /var/log/haproxy.log এ যেতে স্থানীয় 2 ইভেন্টগুলি কনফিগার করুন
    # ফাইল নীচের মত একটি লাইন যুক্ত করা যেতে পারে
    # / etc / sysconfig / syslog
    #
    #

আমার ক্ষেত্রে, উদাহরণস্বরূপ, আমি সেন্টোস 6.6 এ একই সিস্টল্ড সার্ভারে হ্যারপোক্সি চালাচ্ছি এবং /var/log/haproxy.log এ লগ ইন করতে নিম্নলিখিত কাজগুলি করতে হয়েছিল:

  1. নীচে লাইন যুক্ত করুন /etc/rsyslog.d/haproxy.conf-

    স্থানীয় 2। * /var/log/haproxy.log
  2. সার্ভারে সিসলোগড লগিং সক্ষম করুন -

# ইউডিপি সিসলগ সংবর্ধনা প্রদান করে
$ ModLoad imudp
$ ইউডিপিএস সার্ভারআর 514
$ ইউডিপিএস সার্ভারএড্রেস 127.0.0.1

2
শেষ অংশে, দ্বিতীয় ধাপে (সার্ভারে সিসলোগড লগিং সক্ষম করুন); আপনি ফাইলটিতে এই সেটিংস পরিবর্তন করুন /etc/rsyslog.conf। এর পরে, আরএসস্লাইগ পরিষেবাটি পুনরায় চালু করুন: service rsyslog restart
এডেনশো

6

থেকে এই লাইন মন্তব্য /etc/rsyslog.d

# Send HAProxy messages to a dedicated logfile
if $programname startswith 'haproxy' then /var/log/haproxy.log

1
/etc/rsyslog.dএকটি ডিরেক্টরি, একটি ফাইল নয়। আমি উবুন্টু সম্পর্কে 1.5 বনাম 1.6 পার্থক্য সম্পর্কে নিশ্চিত নই, তবে ফাইলটি /etc/rsyslog.d/49-haproxy.conf1.6 ইনস্টল করার পরে বিদ্যমান। $AddUnixListenSocket /var/lib/haproxy/dev/log \n if $programname startswith 'haproxy' then /var/log/haproxy.log \n &~
এটিতে

3

মূল সমস্যাটি হ'ল ক্রোটেড হার্পোক্সিটি অ্যাক্সেস করতে সক্ষম হবে না /dev/logএবং সমস্যাটি সমাধান করতে আপনিও পারেন:

  • অন্যান্য বার্তাগুলিতে বর্ণিত ইউডিপি সকেটে (সাধারণত 514 পোর্টে) সিসলগকে সক্ষম করুন
  • ডিরেক্টরিটি তৈরি করুন /var/lib/haproxy/devএবং /devসাথে বাঁধাইয়ের বিকল্পটি মাউন্ট করুন/var/lib/haproxy/dev

এটি কোনওভাবেই কাজ করে।

[সম্পাদনা]

3 বছর পরে কিছু পরিবর্তন হয়েছে। হ্যাপ্রোক্সি এখন একটি ফাইল তৈরি করে /etc/rsyslog.d/49-haproxy। ফাইলের একটি লাইন হ'ল:

$AddUnixListenSocket /var/lib/haproxy/dev/log

এক্ষেত্রে ক্রুট পরিবেশ ব্যবহার করতে পারে /dev/log


আপনি ক্রুটটিতে কেবল একটি লগ সকেট যুক্ত করতে পারেন। rsyslog একাধিক থাকতে পারে। (আমি একটি উদাহরণ দিচ্ছি তবে বছর
কেটে গেছে

এটি আর HAProxy এর নতুন সংস্করণগুলির ক্ষেত্রে নেই, আমি ক্রোয়েটেড কনফিগারেশন সহ লগইন করে 1.5.4 সংস্করণ চালাচ্ছি /dev/log
ওভারব্রিড

@ ওভারব্রিড হ্যাঁ এবং না নতুন হ্যাপ্রোক্সিটি /etc/rsyslog.d এ একটি ফাইল যুক্ত করে, নীচের নীচের বিবৃতিটি ভিতরে: U অ্যাডউইনিক্সলিসটেনসকেট / ভার / লিবি / হ্যাপ্রোক্সি / দেব / লগ আমি সেই অনুযায়ী আমার মন্তব্য সম্পাদনা করতে যাচ্ছি।
ম্যাক্সডামো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.