.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "SMOKEPING_EXAMPLES 5" .TH SMOKEPING_EXAMPLES 5 2025-06-29 2.9.0 SmokePing .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" smokeping_examples \- نمونه‌هایی از پیکربندی Smokeping .SH "نمای کلی (OVERVIEW)" .IX Header "OVERVIEW" این سند چند نمونه از فایل‌های پیکربندی Smokeping را ارائه می‌دهد. تمام نمونه‌ها را می‌توانید در دایرکتوری \f(CW\*(C`examples\*(C'\fR در مستندات Smokeping بیابید. توجه داشته باشید که نام‌های DNS در نمونه‌ها غیرعملیاتی هستند. .PP جزئیات ساختار نحوی و همه متغیرها در .B smokeping_config و در مستندات پروب مربوطه (در صورت وجود) آمده است. .PP این راهنما به صورت خودکار از کد منبع Smokeping، به‌ویژه ماژول Smokeping::Examples تولید شده است. .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" در حال حاضر این نمونه‌ها تنها در بخش‌های \f(CW\*(C`Probes\*(C'\fR و \f(CW\*(C`Targets\*(C'\fR با یکدیگر تفاوت دارند. سایر بخش‌ها از قالب پیکربندی \f(CW\*(C`etc/config.dist\*(C'\fR در توزیع Smokeping گرفته شده‌اند تا فایل‌های نمونه کامل باشند. .PP اگر مایلید نمونه‌های بیشتری ارائه دهید، بخش‌های دیگر را مستند کنید یا نمونه‌های موجود را بهبود بخشید، لطفاً این کار را انجام دهید؛ ترجیحاً از طریق ارسال تغییرات پیشنهادی به فهرست پستی smokeping\-users. .SS "نمونه ۱: config.simple (Example 1: config.simple)" .IX Subsection "Example 1: config.simple" .IP "پیکربندی پروب (Probe configuration)" 4 .IX Item "Probe configuration" .Vb 3 \& *** Probes *** \& +FPing \& binary = /usr/bin/fping .Ve .IP "توضیحات پروب (Probe explanation)" 4 .IX Item "Probe explanation" در اینجا ما تنها یک پروب داریم، fping، که به چهار میزبان پینگ ارسال می‌کند. .Sp پروب fping از پارامترهای پیش‌فرض استفاده می‌کند؛ برخی از آن‌ها از بخش Database تامین می‌شوند ("step" و "pings")، و برخی دیگر توسط ماژول پروب تعیین می‌گردند. .IP "پیکربندی هدف (Target configuration)" 4 .IX Item "Target configuration" .Vb 2 \& *** Targets *** \& probe = FPing \& \& menu = Top \& title = Network Latency Grapher \& remark = Welcome to this SmokePing website. \& \& + mysite1 \& menu = Site 1 \& title = Hosts in Site 1 \& \& ++ myhost1 \& host = myhost1.mysite1.example \& ++ myhost2 \& host = myhost2.mysite1.example \& \& + mysite2 \& menu = Site 2 \& title = Hosts in Site 2 \& \& ++ myhost3 \& host = myhost3.mysite2.example \& ++ myhost4 \& host = myhost4.mysite2.example .Ve .IP "توضیحات هدف (Target explanation)" 4 .IX Item "Target explanation" میزبان‌ها در دو سایت مستقر شده‌اند که هر سایت شامل دو میزبان است، و پیکربندی بر همین اساس به بخش‌های سایت (\(aq+\(aq) و زیربخش‌های میزبان (\(aq++\(aq) تقسیم شده است. .SS "نمونه ۲: config.multiple\-probes (Example 2: config.multiple-probes)" .IX Subsection "Example 2: config.multiple-probes" .IP "پیکربندی پروب (Probe configuration)" 4 .IX Item "Probe configuration" .Vb 4 \& *** Probes *** \& + FPing \& binary = /usr/bin/fping \& packetsize = 1000 \& \& + DNS \& binary = /usr/bin/dig \& lookup = name.example \& pings = 5 \& step = 180 \& \& + EchoPingHttp \& pings = 5 \& url = /test\-url .Ve .IP "توضیحات پروب (Probe explanation)" 4 .IX Item "Probe explanation" در اینجا سه پروب داریم: FPing برای پینگ‌های معمولی ICMP، پروب DNS برای سنجش تاخیر کارساز نام و EchoPingHttp برای وب‌سرورها. .Sp پروب FPing با پارامترهای پیش‌فرض اجرا می‌شود، به جز اینکه اندازه بسته ICMP به جای ۵۶ بایت پیش‌فرض، ۱۰۰۰ بایت است. .Sp پروب‌های DNS و EchoPingHttp طوری پیکربندی شده‌اند که فشار کمتری به سرورها وارد کنند، زیرا به جای ۲۰ پرس‌وجو (پینگ) پیش‌فرض (یا هر مقداری که در بخش Database مشخص شده باشد)، تنها ۵ پرس‌وجو انجام می‌دهند. با این حال، پرس‌وجوهای DNS در فاصله‌های زمانی کوتاه‌تری انجام می‌شوند: ۵ پرس‌وجو هر ۳ دقیقه یک‌بار به جای هر ۵ دقیقه یک‌بار. .IP "پیکربندی هدف (Target configuration)" 4 .IX Item "Target configuration" .Vb 5 \& *** Targets *** \& probe = FPing \& menu = Top \& title = Network Latency Grapher \& remark = Welcome to this SmokePing website. \& \& + network \& menu = Net latency \& title = Network latency (ICMP pings) \& \& ++ myhost1 \& host = myhost1.example \& ++ myhost2 \& host = myhost2.example \& \& + services \& menu = Service latency \& title = Service latency (DNS, HTTP) \& \& ++ DNS \& probe = DNS \& menu = DNS latency \& title = Service latency (DNS) \& \& +++ dns1 \& host = dns1.example \& \& +++ dns2 \& host = dns2.example \& \& ++ HTTP \& menu = HTTP latency \& title = Service latency (HTTP) \& \& +++ www1 \& host = www1.example \& \& +++ www2 \& host = www2.example .Ve .IP "توضیحات هدف (Target explanation)" 4 .IX Item "Target explanation" درخت اهداف بر اساس پروب مورد استفاده تقسیم‌بندی شده است. البته الزامی به این کار نیست: هر (زیر)بخش هدف می‌تواند از پروب متفاوتی استفاده کند، و یک پروب یکسان می‌تواند در بخش‌های مختلف درخت پیکربندی به کار گرفته شود. .SS "نمونه ۳: config.fping\-instances (Example 3: config.fping-instances)" .IX Subsection "Example 3: config.fping-instances" .IP "پیکربندی پروب (Probe configuration)" 4 .IX Item "Probe configuration" .Vb 3 \& *** Probes *** \& + FPing \& binary = /usr/bin/fping \& \& ++ FPingNormal \& offset = 0% \& \& ++ FPingLarge \& packetsize = 5000 \& offset = 50% .Ve .IP "توضیحات پروب (Probe explanation)" 4 .IX Item "Probe explanation" این نمونه مفهوم نمونه‌های پروب (Probe Instances) را نشان می‌دهد. پروب‌های FPingLarge و FPingNormal مستقل از یکدیگرند؛ آن‌ها صرفاً از یک ماژول مشترک، یعنی FPing، استفاده می‌کنند. FPingNormal از پارامترهای پیش‌فرض استفاده می‌کند، و FPingLarge نیز همین‌طور است به جز اندازه بسته که ۵۰۰۰ بایت تعیین شده است. هر دو از یک باینری یکسان fping استفاده می‌کنند و مسیر آن در بخش بالادستی FPing پیکربندی شده است. .Sp پارامترهای 'offset' تضمین می‌کنند که پروب‌ها همزمان اجرا نشوند \- پروب FPingNormal در سرِ هر ۵ دقیقه «کامل» (مانند 8:00، 8:05، 8:10 و غیره، بر اساس ساعت رسمی) اجرا می‌شود، در حالی که FPingLarge در نیمه این بازه‌ها (مانند 8:02:30، 8:07:30 و غیره) اجرا می‌گردد. .Sp بخش بالادستی FPing به خودی خود پروبی تعریف نمی‌کند زیرا دارای زیربخش است. اگر واقعاً می‌خواستیم یک پروب با نام "FPing" داشته باشیم، می‌توانستیم یک زیربخش با همان نام ایجاد کنیم. .IP "پیکربندی هدف (Target configuration)" 4 .IX Item "Target configuration" .Vb 5 \& *** Targets *** \& probe = FPingNormal \& menu = Top \& title = Network Latency Grapher \& remark = Welcome to this SmokePing website. \& \& + network \& menu = Net latency \& title = Network latency (ICMP pings) \& \& ++ myhost1 \& menu = myhost1 \& title = ICMP latency for myhost1 \& \& +++ normal \& title = Normal packetsize (56 bytes) \& probe = FPingNormal \& host = myhost1.example \& \& +++ large \& title = Large packetsize (5000 bytes) \& probe = FPingLarge \& host = myhost1.example \& \& ++ myhost2 \& menu = myhost2 \& title = ICMP latency for myhost2 \& \& +++ normal \& title = Normal packetsize (56 bytes) \& probe = FPingNormal \& host = myhost2.example \& \& +++ large \& title = Large packetsize (5000 bytes) \& probe = FPingLarge \& host = myhost2.example .Ve .IP "توضیحات هدف (Target explanation)" 4 .IX Item "Target explanation" بخش اهداف دو میزبان myhost1.example و myhost2.example را نشان می‌دهد که با دو بسته ICMP با اندازه‌های مختلف پینگ می‌شوند. این بار درخت به جای پروب، بر اساس میزبان هدف تقسیم‌بندی شده است. .SS "نمونه ۴: config.targetvars\-with\-Curl (Example 4: config.targetvars-with-Curl)" .IX Subsection "Example 4: config.targetvars-with-Curl" .IP "پیکربندی پروب (Probe configuration)" 4 .IX Item "Probe configuration" .Vb 5 \& *** Probes *** \& + Curl \& # probe\-specific variables \& binary = /usr/bin/curl \& step = 60 \& \& # a default for this target\-specific variable \& urlformat = http://%host%/ .Ve .IP "توضیحات پروب (Probe explanation)" 4 .IX Item "Probe explanation" این نمونه تفاوت میان متغیرهای خاصِ پروب (Probe\-specific) و خاصِ هدف (Target\-specific) را توضیح می‌دهد. برای این منظور از پروب Curl استفاده می‌کنیم. .Sp هر پروب دست‌کم از چند متغیر خاص پروب پشتیبانی می‌کند. مقادیر این متغیرها میان تمام اهداف آن پروب مشترک است و تنها می‌توان آن‌ها را در بخش Probes پیکربندی کرد. در این مورد، متغیرهای خاص پروب عبارتند از "binary" و "step". .Sp متغیرهای خاص هدف توسط بیشتر پروب‌ها پشتیبانی می‌شوند؛ بارزترین استثنا پروب FPing و مشتقات آن است. متغیرهای خاص هدف می‌توانند برای اهداف مختلف، مقادیر متفاوتی داشته باشند. این متغیرها را می‌توان هم در بخش Probes و هم در بخش Targets پیکربندی کرد. مقادیری که در بخش Probes مقداردهی می‌شوند به عنوان مقادیر پیش‌فرضی عمل می‌کنند که می‌توان در بخش Targets آن‌ها را بازنویسی کرد. .Sp مستندات هر پروب مشخص می‌کند کدام متغیرهای آن خاص پروب و کدام خاص هدف هستند. .Sp در این مورد متغیر "urlformat" یک متغیر خاص هدف است. این متغیر همچنین تا حدی نامتداول است، زیرا می‌تواند شامل یک متغیر جایگزین برای متغیر "host" در بخش Targets باشد. این یک قابلیت عمومی نیست؛ کاربرد آن تنها به متغیر "urlformat" و نویسه گریز "%host%" محدود می‌شود. .Sp (دلیل اینکه پروب FPing از متغیرهای خاص هدف پشتیبانی نمی‌کند صرفاً این است که برنامه fping تمام اهداف خود را در یک نوبت می‌سنجد، بنابراین همه آن‌ها پارامترهای یکسانی دارند. سایر پروب‌ها اهداف خود را یک‌به‌یک پینگ می‌کنند.) .IP "پیکربندی هدف (Target configuration)" 4 .IX Item "Target configuration" .Vb 5 \& *** Targets *** \& probe = Curl \& menu = Top \& title = Network Latency Grapher \& remark = Welcome to this SmokePing website. \& \& + HTTP \& menu = http \& title = HTTP latency \& \& ++ myhost1 \& menu = myhost1 \& title = HTTP latency for myhost1 \& host = myhost1.example \& \& ++ myhost2 \& menu = myhost2 \& title = HTTP latency for myhost2 \& host = myhost2.example \& \& ++ myhost3 \& menu = myhost3 \& title = HTTP latency for myhost3 (port 8080!) \& host = myhost3.example \& urlformat = http://%host%:8080/ \& \& + FTP \& menu = ftp \& title = FTP latency \& urlformat = ftp://%host%/ \& \& ++ myhost1 \& menu = myhost1 \& title = FTP latency for myhost1 \& host = myhost1.example \& \& ++ myhost2 \& menu = myhost2 \& title = FTP latency for myhost2 \& host = myhost2.example .Ve .IP "توضیحات هدف (Target explanation)" 4 .IX Item "Target explanation" درخت اهداف به یک شاخه HTTP و یک شاخه FTP تقسیم شده است. سرورهای "myhost1.example" و "myhost2.example" در هر دو شاخه مورد سنجش قرار می‌گیرند. سرور سوم، یعنی "myhost3.example"، تنها یک سرور HTTP دارد و روی یک درگاه غیر استاندارد (8080) قرار گرفته است. .Sp متغیر "urlformat" برای کل شاخه FTP به صورت "ftp://%host%/" مشخص شده است. برای شاخه HTTP، از مقدار پیش‌فرضِ بخش Probes استفاده می‌شود، به جز در مورد myhost3 که با بازنویسی آن، شماره پورت را در URL می‌گنجاند. .Sp مقداردهی myhost3 می‌توانست دقیقاً به همان شکل شامل نام میزبان به صورت لفظی (یعنی urlformat = http://myhost3.example:8080/) باشد به جای اینکه از جایگزین \f(CW%host\fR% استفاده کند، اما متغیر host همچنان مورد نیاز می‌بود (هرچند برای هیچ کاری استفاده نمی‌شد). .SS "نمونه ۵: config.echoping (Example 5: config.echoping)" .IX Subsection "Example 5: config.echoping" .IP "پیکربندی پروب (Probe configuration)" 4 .IX Item "Probe configuration" .Vb 3 \& *** Probes *** \& + FPing \& binary = /usr/bin/fping \& \& # these expect to find echoping in /usr/bin \& # if not, you\*(Aqll have to specify the location separately for each probe \& # + EchoPing # uses TCP or UDP echo (port 7) \& # + EchoPingDiscard # uses TCP or UDP discard (port 9) \& # + EchoPingChargen # uses TCP chargen (port 19) \& + EchoPingSmtp # SMTP (25/tcp) for mail servers \& + EchoPingHttps # HTTPS (443/tcp) for web servers \& + EchoPingHttp # HTTP (80/tcp) for web servers and caches \& + EchoPingIcp # ICP (3130/udp) for caches \& # these need at least echoping 6 with the corresponding plugins \& + EchoPingDNS # DNS (53/udp or tcp) servers \& + EchoPingLDAP # LDAP (389/tcp) servers \& + EchoPingWhois # Whois (43/tcp) servers .Ve .IP "توضیحات پروب (Probe explanation)" 4 .IX Item "Probe explanation" این نمونه بیشتر پروب‌های مشتق‌شده از echoping را در عمل نشان می‌دهد. .IP "پیکربندی هدف (Target configuration)" 4 .IX Item "Target configuration" .Vb 3 \& *** Targets *** \& # default probe \& probe = FPing \& \& menu = Top \& title = Network Latency Grapher \& remark = Welcome to this SmokePing website. \& \& + MyServers \& \& menu = My Servers \& title = My Servers \& \& ++ www\-server \& menu = www\-server \& title = Web Server (www\-server) / ICMP \& # probe = FPing propagated from top \& host = www\-server.example \& \& +++ http \& menu = http \& title = Web Server (www\-server) / HTTP \& probe = EchoPingHttp \& host = www\-server.example \& # default url is / \& \& +++ https \& menu = https \& title = Web Server (www\-server) / HTTPS \& probe = EchoPingHttps \& host = www\-server.example \& \& ++ cache \& menu = www\-cache \& title = Web Cache (www\-cache) / ICMP \& host = www\-cache.example \& \& +++ http \& menu = http \& title = www\-cache / HTTP \& probe = EchoPingHttp \& host = www\-cache.example \& port = 8080 # use the squid port \& url = http://www.somehost.example/ \& \& +++ icp \& menu = icp \& title = www\-cache / ICP \& probe = EchoPingIcp \& host = www\-cache.example \& url = http://www.somehost.example/ \& \& ++ mail \& menu = mail\-server \& title = Mail Server (mail\-server) / ICMP \& host = mail\-server.example \& \& +++ smtp \& menu = mail\-server / SMTP \& title = Mail Server (mail\-server) / SMTP \& probe = EchoPingSmtp \& host = mail\-server.example \& \& ++ ldap\-server \& menu = ldap\-server \& title = ldap\-server / ICMP \& host = ldap\-server.example \& \& +++ ldap \& menu = ldap\-server / LDAP \& title = LDAP Server (ldap\-server) / LDAP \& probe = EchoPingLDAP \& ldap_request = (objectclass=*) \& host = ldap\-server.example \& \& ++ name\-server \& menu = name\-server \& title = name\-server / ICMP \& host = name\-server.example \& \& +++ DNS \& menu = name\-server / DNS \& title = DNS Server (name\-server) / DNS \& probe = EchoPingDNS \& dns_request = name.example \& host = name\-server.example \& \& ++ whois\-server \& menu = whois\-server \& title = whois\-server / ICMP \& host = whois\-server.example \& \& +++ Whois \& menu = whois\-server / Whois \& title = Whois Server (whois\-server) / Whois \& probe = EchoPingWhois \& whois_request = domain.example \& host = whois\-server.example .Ve .IP "توضیحات هدف (Target explanation)" 4 .IX Item "Target explanation" همه سرورها هم با ICMP (پروب FPing) و هم با پروب echoping مربوط به خود پینگ می‌شوند. سرور پروکسی، یعنی www\-cache، هم با درخواست‌های HTTP و هم با درخواست‌های ICP برای همان URL مورد سنجش قرار می‌گیرد. .SS "نمونه ۶: config.template (Example 6: config.template)" .IX Subsection "Example 6: config.template" .IP "پیکربندی پروب (Probe configuration)" 4 .IX Item "Probe configuration" .Vb 1 \& *** Probes *** \& \& + FPing \& \& binary = /usr/sbin/fping \& \& *** Slaves *** \& secrets=/usr/etc/smokeping_secrets.dist \& +boomer \& display_name=boomer \& color=0000ff \& \& +slave2 \& display_name=another \& color=00ff00 .Ve .IP "توضیحات پروب (Probe explanation)" 4 .IX Item "Probe explanation" این فایل قالب پیکربندی است که همراه با Smokeping توزیع می‌شود. برای کامل بودن مستندات، این فایل نیز در میان نمونه‌ها گنجانده شده است. .IP "پیکربندی هدف (Target configuration)" 4 .IX Item "Target configuration" .Vb 1 \& *** Targets *** \& \& probe = FPing \& \& menu = Top \& title = Network Latency Grapher \& remark = Welcome to the SmokePing website of xxx Company. \e \& Here you will learn all about the latency of our network. \& \& + Test \& menu= Targets \& #parents = owner:/Test/James location:/ \& \& ++ James \& \& menu = James \& title =James \& alerts = someloss \& slaves = boomer slave2 \& host = james.address \& \& ++ MultiHost \& \& menu = Multihost \& title = James and James as seen from Boomer \& host = /Test/James /Test/James~boomer .Ve .IP "توضیحات هدف (Target explanation)" 4 .IX Item "Target explanation" این فایل قالب پیکربندی است که همراه با Smokeping توزیع می‌شود. برای کامل بودن مستندات، این فایل نیز در میان نمونه‌ها گنجانده شده است. .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" Copyright 2005 by Niko Tyni. .SH "مجوز (LICENSE)" .IX Header "LICENSE" این برنامه نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) طبق آنچه توسط «بنیاد نرم‌افزارهای آزاد» (Free Software Foundation) منتشر شده است؛ چه نسخه ۲ مجوز و چه (به انتخاب خودتان) هر نسخه بعدی آن، توزیع مجدد کرده و/یا تغییر دهید. .PP این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به «مجوز عمومی همگانی گنو» مراجعه کنید. .PP شما باید به همراه این برنامه نسخه‌ای از «مجوز عمومی همگانی گنو» را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر به بنیاد نرم‌افزارهای آزاد نامه بنویسید: .nf Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. .fi .SH "نویسنده (AUTHOR)" .IX Header "AUTHOR" Niko Tyni .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" سایر مستندات Smokeping، به‌ویژه .BR smokeping_config .