| SMOKEPING_EXAMPLES(5) | SmokePing | SMOKEPING_EXAMPLES(5) |
نام (NAME)
smokeping_examples - نمونههایی از پیکربندی Smokeping
نمای کلی (OVERVIEW)
این سند چند نمونه از فایلهای پیکربندی Smokeping را ارائه میدهد. تمام نمونهها را میتوانید در دایرکتوری "examples" در مستندات Smokeping بیابید. توجه داشته باشید که نامهای DNS در نمونهها غیرعملیاتی هستند.
جزئیات ساختار نحوی و همه متغیرها در smokeping_config و در مستندات پروب مربوطه (در صورت وجود) آمده است.
این راهنما به صورت خودکار از کد منبع Smokeping، بهویژه ماژول Smokeping::Examples تولید شده است.
توضیحات (DESCRIPTION)
در حال حاضر این نمونهها تنها در بخشهای "Probes" و "Targets" با یکدیگر تفاوت دارند. سایر بخشها از قالب پیکربندی "etc/config.dist" در توزیع Smokeping گرفته شدهاند تا فایلهای نمونه کامل باشند.
اگر مایلید نمونههای بیشتری ارائه دهید، بخشهای دیگر را مستند کنید یا نمونههای موجود را بهبود بخشید، لطفاً این کار را انجام دهید؛ ترجیحاً از طریق ارسال تغییرات پیشنهادی به فهرست پستی smokeping-users.
نمونه ۱: config.simple (Example 1: config.simple)
- پیکربندی پروب (Probe configuration)
-
*** Probes *** +FPing binary = /usr/bin/fping
- توضیحات پروب (Probe explanation)
- در اینجا ما
تنها یک
پروب
داریم، fping،
که به چهار
میزبان
پینگ ارسال
میکند.
پروب fping از پارامترهای پیشفرض استفاده میکند؛ برخی از آنها از بخش Database تامین میشوند ("step" و "pings")، و برخی دیگر توسط ماژول پروب تعیین میگردند.
- پیکربندی هدف (Target configuration)
-
*** 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
- توضیحات هدف (Target explanation)
- میزبانها در دو سایت مستقر شدهاند که هر سایت شامل دو میزبان است، و پیکربندی بر همین اساس به بخشهای سایت ('+') و زیربخشهای میزبان ('++') تقسیم شده است.
نمونه ۲: config.multiple-probes (Example 2: config.multiple-probes)
- پیکربندی پروب (Probe configuration)
-
*** 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
- توضیحات پروب (Probe explanation)
- در اینجا سه
پروب داریم:
FPing برای
پینگهای
معمولی ICMP،
پروب DNS برای
سنجش تاخیر
کارساز نام
و EchoPingHttp برای
وبسرورها.
پروب FPing با پارامترهای پیشفرض اجرا میشود، به جز اینکه اندازه بسته ICMP به جای ۵۶ بایت پیشفرض، ۱۰۰۰ بایت است.
پروبهای DNS و EchoPingHttp طوری پیکربندی شدهاند که فشار کمتری به سرورها وارد کنند، زیرا به جای ۲۰ پرسوجو (پینگ) پیشفرض (یا هر مقداری که در بخش Database مشخص شده باشد)، تنها ۵ پرسوجو انجام میدهند. با این حال، پرسوجوهای DNS در فاصلههای زمانی کوتاهتری انجام میشوند: ۵ پرسوجو هر ۳ دقیقه یکبار به جای هر ۵ دقیقه یکبار.
- پیکربندی هدف (Target configuration)
-
*** 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
- توضیحات هدف (Target explanation)
- درخت اهداف بر اساس پروب مورد استفاده تقسیمبندی شده است. البته الزامی به این کار نیست: هر (زیر)بخش هدف میتواند از پروب متفاوتی استفاده کند، و یک پروب یکسان میتواند در بخشهای مختلف درخت پیکربندی به کار گرفته شود.
نمونه ۳: config.fping-instances (Example 3: config.fping-instances)
- پیکربندی پروب (Probe configuration)
-
*** Probes *** + FPing binary = /usr/bin/fping ++ FPingNormal offset = 0% ++ FPingLarge packetsize = 5000 offset = 50%
- توضیحات پروب (Probe explanation)
- این نمونه
مفهوم
نمونههای
پروب (Probe Instances) را
نشان
میدهد.
پروبهای
FPingLarge و FPingNormal مستقل
از
یکدیگرند؛
آنها
صرفاً از یک
ماژول
مشترک،
یعنی FPing،
استفاده
میکنند. FPingNormal
از
پارامترهای
پیشفرض
استفاده
میکند، و
FPingLarge نیز
همینطور
است به جز
اندازه
بسته که
۵۰۰۰ بایت
تعیین شده
است. هر دو
از یک
باینری
یکسان fping
استفاده
میکنند و
مسیر آن در
بخش
بالادستی FPing
پیکربندی
شده است.
پارامترهای 'offset' تضمین میکنند که پروبها همزمان اجرا نشوند - پروب FPingNormal در سرِ هر ۵ دقیقه «کامل» (مانند 8:00، 8:05، 8:10 و غیره، بر اساس ساعت رسمی) اجرا میشود، در حالی که FPingLarge در نیمه این بازهها (مانند 8:02:30، 8:07:30 و غیره) اجرا میگردد.
بخش بالادستی FPing به خودی خود پروبی تعریف نمیکند زیرا دارای زیربخش است. اگر واقعاً میخواستیم یک پروب با نام "FPing" داشته باشیم، میتوانستیم یک زیربخش با همان نام ایجاد کنیم.
- پیکربندی هدف (Target configuration)
-
*** 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
- توضیحات هدف (Target explanation)
- بخش اهداف دو میزبان myhost1.example و myhost2.example را نشان میدهد که با دو بسته ICMP با اندازههای مختلف پینگ میشوند. این بار درخت به جای پروب، بر اساس میزبان هدف تقسیمبندی شده است.
نمونه ۴: config.targetvars-with-Curl (Example 4: config.targetvars-with-Curl)
- پیکربندی پروب (Probe configuration)
-
*** Probes *** + Curl # probe-specific variables binary = /usr/bin/curl step = 60 # a default for this target-specific variable urlformat = http://%host%/
- توضیحات پروب (Probe explanation)
- این نمونه
تفاوت میان
متغیرهای
خاصِ پروب
(Probe-specific) و خاصِ
هدف (Target-specific) را
توضیح
میدهد.
برای این
منظور از
پروب Curl
استفاده
میکنیم.
هر پروب دستکم از چند متغیر خاص پروب پشتیبانی میکند. مقادیر این متغیرها میان تمام اهداف آن پروب مشترک است و تنها میتوان آنها را در بخش Probes پیکربندی کرد. در این مورد، متغیرهای خاص پروب عبارتند از "binary" و "step".
متغیرهای خاص هدف توسط بیشتر پروبها پشتیبانی میشوند؛ بارزترین استثنا پروب FPing و مشتقات آن است. متغیرهای خاص هدف میتوانند برای اهداف مختلف، مقادیر متفاوتی داشته باشند. این متغیرها را میتوان هم در بخش Probes و هم در بخش Targets پیکربندی کرد. مقادیری که در بخش Probes مقداردهی میشوند به عنوان مقادیر پیشفرضی عمل میکنند که میتوان در بخش Targets آنها را بازنویسی کرد.
مستندات هر پروب مشخص میکند کدام متغیرهای آن خاص پروب و کدام خاص هدف هستند.
در این مورد متغیر "urlformat" یک متغیر خاص هدف است. این متغیر همچنین تا حدی نامتداول است، زیرا میتواند شامل یک متغیر جایگزین برای متغیر "host" در بخش Targets باشد. این یک قابلیت عمومی نیست؛ کاربرد آن تنها به متغیر "urlformat" و نویسه گریز "%host%" محدود میشود.
(دلیل اینکه پروب FPing از متغیرهای خاص هدف پشتیبانی نمیکند صرفاً این است که برنامه fping تمام اهداف خود را در یک نوبت میسنجد، بنابراین همه آنها پارامترهای یکسانی دارند. سایر پروبها اهداف خود را یکبهیک پینگ میکنند.)
- پیکربندی هدف (Target configuration)
-
*** 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
- توضیحات هدف (Target explanation)
- درخت اهداف
به یک شاخه HTTP
و یک شاخه FTP
تقسیم شده
است.
سرورهای
"myhost1.example" و "myhost2.example"
در هر دو
شاخه مورد
سنجش قرار
میگیرند.
سرور سوم،
یعنی "myhost3.example"،
تنها یک
سرور HTTP دارد
و روی یک
درگاه غیر
استاندارد
(8080) قرار
گرفته است.
متغیر "urlformat" برای کل شاخه FTP به صورت "ftp://%host%/" مشخص شده است. برای شاخه HTTP، از مقدار پیشفرضِ بخش Probes استفاده میشود، به جز در مورد myhost3 که با بازنویسی آن، شماره پورت را در URL میگنجاند.
مقداردهی myhost3 میتوانست دقیقاً به همان شکل شامل نام میزبان به صورت لفظی (یعنی urlformat = http://myhost3.example:8080/) باشد به جای اینکه از جایگزین %host% استفاده کند، اما متغیر host همچنان مورد نیاز میبود (هرچند برای هیچ کاری استفاده نمیشد).
نمونه ۵: config.echoping (Example 5: config.echoping)
- پیکربندی پروب (Probe configuration)
-
*** Probes *** + FPing binary = /usr/bin/fping # these expect to find echoping in /usr/bin # if not, you'll 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
- توضیحات پروب (Probe explanation)
- این نمونه بیشتر پروبهای مشتقشده از echoping را در عمل نشان میدهد.
- پیکربندی هدف (Target configuration)
-
*** 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
- توضیحات هدف (Target explanation)
- همه سرورها هم با ICMP (پروب FPing) و هم با پروب echoping مربوط به خود پینگ میشوند. سرور پروکسی، یعنی www-cache، هم با درخواستهای HTTP و هم با درخواستهای ICP برای همان URL مورد سنجش قرار میگیرد.
نمونه ۶: config.template (Example 6: config.template)
- پیکربندی پروب (Probe configuration)
-
*** 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
- توضیحات پروب (Probe explanation)
- این فایل قالب پیکربندی است که همراه با Smokeping توزیع میشود. برای کامل بودن مستندات، این فایل نیز در میان نمونهها گنجانده شده است.
- پیکربندی هدف (Target configuration)
-
*** Targets *** probe = FPing menu = Top title = Network Latency Grapher remark = Welcome to the SmokePing website of xxx Company. \ 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 - توضیحات هدف (Target explanation)
- این فایل قالب پیکربندی است که همراه با Smokeping توزیع میشود. برای کامل بودن مستندات، این فایل نیز در میان نمونهها گنجانده شده است.
حق نشر (COPYRIGHT)
Copyright 2005 by Niko Tyni.
مجوز (LICENSE)
این برنامه نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) طبق آنچه توسط «بنیاد نرمافزارهای آزاد» (Free Software Foundation) منتشر شده است؛ چه نسخه ۲ مجوز و چه (به انتخاب خودتان) هر نسخه بعدی آن، توزیع مجدد کرده و/یا تغییر دهید.
این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به «مجوز عمومی همگانی گنو» مراجعه کنید.
شما باید به همراه این برنامه نسخهای از «مجوز عمومی همگانی گنو» را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر به بنیاد نرمافزارهای آزاد نامه بنویسید:
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
نویسنده (AUTHOR)
Niko Tyni <ntyni@iki.fi>
همچنین ببینید (SEE ALSO)
سایر مستندات Smokeping، بهویژه smokeping_config.
| 2025-06-29 | 2.9.0 |