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


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.