| DS-LOGPIPE.PY(1) | General Commands Manual | DS-LOGPIPE.PY(1) |
نام (NAME)
ds-logpipe.py - ایجاد و خواندن از یک لوله نامگذاریشده بهجای فایل گزارش
خلاصه دستور (SYNOPSIS)
ds-logpipe.py /full/path/to/namedpipe
[-m maxlinestobuffer] [-u userid] [-s serverpidfile]
[-t servertimeout] [--plugin=/path/to/pluginfile.py]
[pluginfile.arg=value]
توضیحات (DESCRIPTION)
اسکریپت Named Pipe Log به شما امکان میدهد یک فایل گزارش را با یک لوله نامگذاریشده (named pipe) متصل به یک اسکریپت جایگزین کنید. سپس سرور میتواند خروجی لاگ را بهجای یک فایل گزارش، به یک اسکریپت بفرستد. این کار امکان انجام کارهای متنوعی را فراهم میکند؛ از جمله:
* ثبت فقط
وقایع خاص،
مانند
اتصالات
ناموفق bind،
اتصالات از
نشانیهای IP
مشخص و غیره.
* ثبت فقط
خطوطی که با
الگوی خاصی
مطابقت
دارند.
* ثبت فقط N خط
آخر - مفید
برای
فعالسازی
سطوح
خطایابی (debug)
کامل error log در
محیطهای
عملیاتی.
* ارسال یک
ایمیل یا
اعلان دیگر
در زمان
تشخیص
رویدادی
مشخص.
این اسکریپت با python نوشته شده است و از افزونهها پشتیبانی میکند. بهطور پیشفرض، اسکریپت N خط آخر را ثبت میکند (پیشفرض ۱۰۰۰ خط است). دو افزونه بههمراه آن ارائه شده است - یکی برای ثبت فقط تلاشهای ناموفق bind، و دیگری برای ثبت تنها خطوطی که با عبارات باقاعده دادهشده همخوانی دارند.
گزینهها (OPTIONS)
خلاصهای از گزینهها در زیر آمده است.
- /full/path/to/namedpipe
- الزامی - مسیر کامل و نام فایل لوله نامگذاریشده. اگر وجود نداشته باشد، ایجاد خواهد شد. اگر وجود داشته باشد و یک لوله نامگذاریشده باشد، اسکریپت از آن استفاده خواهد کرد. اگر وجود داشته باشد و لوله نباشد، اسکریپت لغو خواهد شد. مالکیت آن مشابه کاربری خواهد بود که اسکریپت را اجرا میکند (یا گزینه -u در زیر را ببینید).
- -m|--maxlines=N
- تعداد خطوط برای نگهداری در بافر - مقدار پیشفرض ۱۰۰۰ است.
- -u|--userid=user
- مالکیت pipe و هر فایل دیگری که توسط این اسکریپت ایجاد شود، با ()chown به این userid تغییر خواهد یافت. این مقدار میتواند یک رشته حاوی نام userid یا یک مقدار عددی userid باشد.
- -s|--serverpidfile=/path/to/servername.pid
- اگر میخواهید اسکریپت هنگام خروج یک سرور دایرکتوری خاص خارج شود، مسیر کامل فایل حاوی pid سرور را مشخص کنید. مقدار پیشفرض معمولاً چیزی شبیه به /var/run/dirsrv/slapd-<instancename>.pid است که در آن <instancename> معمولاً نام میزبان (hostname) است.
- -t|--servertimeout=N
- از آنجا که ممکن است هنگام اجرای اسکریپت هنوز serverpidfile وجود نداشته باشد، اسکریپت بهطور پیشفرض ۶۰ ثانیه منتظر ایجاد فایل pid و راهاندازی سرور میماند. از این گزینه برای مشخص کردن زمان انقضای (timeout) متفاوت استفاده کنید. گزینه -t فقط هنگام استفاده از -s یا --serverpid اعمال میشود؛ در غیر این صورت هیچ کاری انجام نمیدهد.
- --serverpid=P
- اگر سروری که میخواهید دنبال کنید از قبل در حال اجرا است، میتوانید آن را با استفاده از این آرگومان مشخص کنید. اگر pid مشخصشده معتبر نباشد، اسکریپت لغو خواهد شد.
- -p|--plugin=/full/path/to/pluginname.py
- مشخص کردن یک افزونه برای استفاده. این افزونه باید یک فایل python باشد و نام آن به .py ختم شود. باید تابعی با نام plugin در آن تعریف شده باشد و میتواند توابعی به نامهای pre و post را نیز تعریف کند.
- pluginname.arg1=value ... pluginname.argN=value
- میتوانید آرگومانهای افزونهها را در خط فرمان مشخص کنید. اگر افزونهای بهصورت --plugin=/full/path/to/pluginname.py مشخص شده باشد، آرگومانهای آن افزونه بهصورت pluginname.argname=value تعیین میشوند. اسکریپت این آرگومانها را تجزیه کرده و آنها را بهصورت یک dict پایتون به تابع pre افزونه ارسال میکند. اگر بیش از یک آرگومان با نام pluginname.argname وجود داشته باشد، مقادیر بهصورت یک list پایتون ارسال میشوند.
نکات سرور دایرکتوری (DIRECTORY SERVER NOTES)
معمولاً
سرور
دایرکتوری
باید طوری
پیکربندی
شود که
بهجای
فایل گزارش
معمولی، در
یک named pipe
گزارشگیری
کند. برای
نمونه، از LDIF
زیر
استفاده
کنید تا به
سرور
بگویید
برای گزارش
دسترسی از
فایل access.pipe
استفاده
کند:
dn: cn=config
changetype: modify
replace: nsslapd-accesslog-maxlogsperdir
nsslapd-accesslog-maxlogsperdir: 1
-
replace: nsslapd-accesslog-logexpirationtime
nsslapd-accesslog-logexpirationtime: -1
-
replace: nsslapd-accesslog-logrotationtime
nsslapd-accesslog-logrotationtime: -1
-
replace: nsslapd-accesslog
nsslapd-accesslog: /var/log/dirsrv/slapd-localhost/access.pipe
-
replace: nsslapd-accesslog-logbuffering
nsslapd-accesslog-logbuffering: off
نکته: پیش
از انجام
این کار،
باید
پیکربندی
فعلی خود را
ذخیره کنید
تا بتوانید
بعداً آن را
بازیابی
نمایید.
ldapsearch ... -s base -b "cn=config"
nsslapd-accesslog-maxlogsperdir nsslapd-accesslog-logexpirationtime
nsslapd-accesslog-logrotationtime nsslapd-accesslog >
savedaccesslog.ldif
گزارشهای خطا (error log) و حسابرسی (audit log) ویژگیهای پیکربندی با نام مشابه دارند؛ برای نمونه nsslapd-errorlog و nsslapd-auditlog. توجه داشته باشید که audit log بهطور پیشفرض غیرفعال است - برای فعالسازی آن از nsslapd-auditlog-logging-enabled: on استفاده کنید.
نویسندگان (AUTHORS)
ds-logpipe.py توسط 389 Project نوشته شده است.
گزارش باگها (BUGS)
گزارش باگها به https://github.com/389ds/389-ds-base/issues/new
کپیرایت و تکثیر (COPYRIGHT)
Copyright © 2018 Red Hat, Inc.
این یک
نرمافزار
آزاد است.
شما
میتوانید
نسخههای
آن را تحت
شرایط مجوز
Directory Server موجود در
فایل LICENSE این
بسته
نرمافزاری
بازتوزیع
کنید. این
مجوز
اساساً
همان GNU General Public License
نسخه ۲
بههمراه
یک استثنا
برای توزیع
افزونهها
(plug-in) است.
| March 31, 2017 |