<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF133%3ADrBrown3</id>
		<title>LXF133:DrBrown3 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF133%3ADrBrown3"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF133:DrBrown3&amp;action=history"/>
		<updated>2026-05-13T03:53:16Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF133:DrBrown3&amp;diff=12455&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF133:DrBrown3&amp;diff=12455&amp;oldid=prev"/>
				<updated>2011-07-22T07:08:53Z</updated>
		
		<summary type="html">&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Дым и зер­ка­ла==&lt;br /&gt;
&lt;br /&gt;
: Вы­во­ди­те гра­фи­ки про­из­во­ди­тель­но­сти се­ти и сер­ви­сов и по­лу­чай­те пре­ду­пре­ж­де­ния ''SmokePing'' об ано­маль­ном по­ве­де­нии.&lt;br /&gt;
&lt;br /&gt;
''SmokePing'' – ути­ли­та по­строения гра­фи­ков се­те­вой ак­тив­ности, немно­го по­хо­жая на ''Mumin''. Как и у ''Mumin'', ар­хи­тек­ту­ра у нее мо­дуль­ная, что по­зво­ля­ет рас­ши­рить ее на­бор из­мерений до ог­ром­но­го. Как и ''Mumin'', она пре­достав­ля­ет ре­зуль­та­ты в ви­де web-кон­тен­та, и что­бы доста­вить его в брау­зер, ну­жен web-сер­вер. И, как и ''Mumin'', для генера­ции гра­фи­ков она ис­поль­зу­ет ''RRDTool'', ути­ли­ту То­би Эти­ке­ра [Tobi Oetiker]. Но ес­ли ''Mumin'' из­меря­ет за­груз­ку и про­из­во­ди­тель­ность ком­пь­ю­те­ра, то ''SmokePing'' – се­те­вую ак­тив­ность.&lt;br /&gt;
&lt;br /&gt;
''SmokePing'' со­сто­ит из де­мо­на, вы­пол­няю­ще­го из­ме­рения, и CGI-скрип­та, ко­то­рый вы­да­ет гра­фи­ки. В от­ли­чие от ''Mumin'', на ком­пь­ю­те­ры не нуж­но уста­нав­ли­вать ника­ких до­полнитель­ных про­грамм-аген­тов.&lt;br /&gt;
&lt;br /&gt;
В мо­ем Ubuntu ''SmokePing'' за­ра­бо­та­ла сра­зу, хо­тя по умол­чанию она из­ме­ря­ет толь­ко за­держ­ки пин­га к localhost, а это не ув­ле­кательнее, чем на­блю­дение за подъ­е­мом опа­ры теста. На­строй­ка ''SmokePing'' за­клю­ча­ет­ся в оп­ре­де­лении '''Тестов''' [Probes] – ути­лит, из­ме­ряю­щих за­держ­ки, '''Це­лей''' [Targets] – про­ве­ряе­мых ком­пь­юте­ров, и '''Пре­ду­пре­ж­дений''' [Alerts] – усло­вий, при ко­то­рых вы буде­те пре­ду­пре­ж­де­ны об ано­маль­ном по­ве­дении. По хо­ду, мы увидим, что струк­ту­ра фай­ла '''config''' оп­ре­де­ля­ет ме­ню, по­яв­ляю­щее­ся на сай­те ''SmokePing''.&lt;br /&gt;
&lt;br /&gt;
Рас­смот­рим при­мер. Файл на­строй­ки верхнего уров­ня – '''/etc/smokeping/config'''. В Ubuntu он со­дер­жит лишь несколь­ко ди­рек­тив '''@include''', под­клю­чаю­щих фай­лы из '''/etc/smokeping/config.d''' – тогда оп­ре­де­ления тестов, це­лей и пре­ду­пре­ж­дений оста­ют­ся неза­ви­си­мы­ми друг от дру­га. В Fedora все со­еди­ня­ется вме­сте в од­ном фай­ле верхнего уров­ня. Най­ди­те файл '''/etc/smokeping/config.d/Probes''', где за­да­ны тесты. Он есть в ка­та­ло­ге '''/Magazine/SysAdmin_Code''' на­ше­го DVD.&lt;br /&gt;
&lt;br /&gt;
===Тести­ру­ем===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF133_54_1.jpg|300px]] На этом гра­фике по­ка­за­но вре­мя про­хо­ж­де­ния запро­са для кор­не­вых DNS-сер­ве­ров в те­че­ние го­да.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Здесь мы оп­ре­де­лим три теста. Пер­вый – про­стой пинг, а два других из­ме­рят вре­мя про­хо­да ту­да и об­рат­но для за­про­сов DNS и HTTP. Стро­ки, на­чи­наю­щие­ся со зна­ка '''+''', за­да­ют име­на тестов – мы уви­дим их сно­ва, когда бу­дем оп­ре­де­лять це­ли. Взгляните на оп­ре­де­ление теста DNS. Па­ра­метр pings за­да­ет чис­ло из­ме­рений, вы­пол­няе­мых ка­ж­дый раз, а steps – вре­мя ме­ж­ду изме­рения­ми (в се­кун­дах). Так, в этом при­ме­ре тест бу­дет вы­полнять по пять из­ме­рений ка­ж­дые три ми­ну­ты. Эти на­строй­ки пе­регру­жа­ют уста­нов­лен­ные по умол­чанию:&lt;br /&gt;
&lt;br /&gt;
 step=300&lt;br /&gt;
 pings=20&lt;br /&gt;
&lt;br /&gt;
Они оп­ре­де­ле­ны в '''/etc/smokeping/config.d/Database'''. Кстати, http://www.bbc.net.uk – это не DNS-сер­вер, ко­то­рый мы тести­ру­ем, а DNS-запись, ко­то­рая бу­дет из­вле­че­на из тести­руе­мо­го сер­ве­ра.&lt;br /&gt;
&lt;br /&gt;
Дру­гой файл, ко­то­рый нуж­но под­пра­вить – '''/etc/smokeping/config.d/Targets'''. В нем оп­ре­де­ля­ют­ся це­ле­вые ком­пь­ю­теры. Я ре­шил про­ве­рить два ком­пь­ю­те­ра: один в локаль­ной се­ти и http://www.tuxradar.com. Мой файл '''Targets''' есть в ка­та­ло­ге '''/magazine/sysadmin''' на­ше­го DVD.&lt;br /&gt;
&lt;br /&gt;
Эти запи­си фор­ми­ру­ют ие­рар­хи­че­ское ме­ню, ко­то­рое появит­ся на странице ''SmokePing''. Гля­нув на стро­ки, на­чи­наю­щиеся со зна­ка '''+''', вы уви­ди­те (на­при­мер) пункт ме­ню верхнего уровня '''services;''' в его под­пунк­те HTTP — два ком­пь­ю­те­ра: '''m1530‑904''' и '''linuxformat'''. Как вы за­ме­ти­те, на нижних уров­нях этой струк­туры (по­следние че­ты­ре стро­ки) оп­ре­де­ля­ют­ся ком­пь­ю­те­ры, ко­торые бу­дут тести­ро­вать­ся. Ни один из этих ком­пь­ю­те­ров не бу­дет про­ве­рять­ся тестом DNS, ко­то­рый мы оп­ре­де­ли­ли ранее.&lt;br /&gt;
&lt;br /&gt;
За­вер­шив на­строй­ку, пе­ре­за­пусти­те ''SmokePing'' и сту­пай­те почи­тать '''Linux Format''' несколь­ко ча­сов, по­ка ко­пит­ся необ­хо­ди­мый объ­ем дан­ных:&lt;br /&gt;
&lt;br /&gt;
 $ sudo service smokeping restart&lt;br /&gt;
&lt;br /&gt;
За­тем я пере­шел на сайт http://servera/cgi-bin/smokeping.cgi ('''servera''' – ком­пь­ю­тер, на ко­то­ром за­пу­щен ''SmokePing'') и был воз­награ­ж­ден гра­фи­ка­ми, ко­то­рые есть на на­шем DVD. За­держ­ка HTTP-&lt;br /&gt;
за­про­са к http://tuxradar.com обыч­но со­став­ля­ет око­ло 200 мс, хо­тя, как по­ка­за­но на нижнем гра­фи­ке, с 7 до 10 ча­сов ве­че­ра она воз­раста­ет до 260 мс. Так как я про­во­дил из­ме­рения толь­ко с од­но­го ком­пь­юте­ра, то не мо­гу ска­зать, был ли вы­зван этот рост уве­ли­чением нагруз­ки на сер­вер или уве­ли­чением на­груз­ки на мое­го про­вай­де­ра.&lt;br /&gt;
&lt;br /&gt;
Ар­хи­тек­ту­ра мо­ду­лей рас­ши­рения ''SmokePing'' по­зво­ля­ет пи­сать тесты как объ­ект­но-ори­ен­ти­ро­ван­ные мо­ду­ли ''Perl'' и за­гру­жать по тре­бо­ванию. Они хра­нят­ся в ка­та­ло­ге '''/usr/share/smokeping/lib/Smokeping/probes'''. Неко­то­рые тесты осно­ва­ны на ''echoping'', раз­но­сто­ронней ути­лит­ке для из­ме­рения вре­мени про­хо­ж­дения за­про­са ту­да и об­рат­но для раз­лич­ных про­то­ко­лов.&lt;br /&gt;
&lt;br /&gt;
===Уз­нать мнение дру­гих===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF133_55_1.jpg|300px]] Развернув «ведомые» экземпляры ''SmokePing'' удаленно можно измерить производительность сети и сервисов с разных компьютеров. |Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Мож­но за­пустить несколь­ко эк­зем­п­ля­ров ''SmokePing'' в ре­жиме «ве­ду­щий–ве­до­мый» – в ча­ст­но­сти, для из­ме­рения за­дер­жек web-сер­ве­ра с раз­лич­ных уз­лов се­ти. На­при­мер, из­ме­рение за­держек web-сер­ве­ра TuxRadar с дру­го­го ком­пь­ю­те­ра мог­ло бы ска­зать нам, вы­зва­но ли за­мед­ление пе­ре­да­чи со­стоянием сер­ве­ра или локаль­ной се­ти. «Ве­до­мые» – обыч­ные эк­зем­п­ля­ры ''SmokePing'', но они по­лу­ча­ют свои па­ра­мет­ры от «ве­ду­ще­го», а не из локально­го фай­ла на­строй­ки. «Ве­до­мые» об­ща­ют­ся с «ве­ду­щим» че­рез обыч­ный web-ин­тер­фейс ''SmokePing'', но подпи­сы­ва­ют со­об­щения, пре­достав­ляя код ау­тен­ти­фи­ка­ции со­об­щения на осно­ве MD5, фор­ми­руе­мый по со­об­щению и из­вест­но­му им сек­рет­но­му клю­чу.&lt;br /&gt;
&lt;br /&gt;
«Ве­до­мые» пе­ре­да­ют «ве­ду­ще­му» свои ре­зуль­та­ты по­сле ка­ж­до­го теста. Для на­строй­ки та­кой кон­фи­гу­ра­ции уста­но­ви­те ''SmokePing'' на «ве­до­мые» ком­пь­ю­те­ры с до­ба­воч­ны­ми ар­гу­мен­та­ми командной стро­ки, за­даю­щи­ми URL «ве­ду­ще­го» и рас­по­ло­жение сек­ретно­го клю­ча. Сво­его фай­ла на­строй­ки у «ве­до­мых» нет.&lt;br /&gt;
&lt;br /&gt;
Ес­ли подходящего теста, ко­то­рый де­ла­ет то, что вам нужно, нет, мож­но напи­сать соб­ствен­ный. Как это де­ла­ет­ся, опи­сано на странице ''man smokeping_extend''; там есть ба­зо­вый класс '''Smokeping::probes::basefork''', ко­то­рый мож­но при­нять за осно­ву, и струк­тур­ный файл ('''skel.pm'''), с ко­то­ро­го мож­но на­чать.&lt;br /&gt;
&lt;br /&gt;
''SmokePing'' уме­ет от­прав­лять пре­ду­пре­ж­дения (по поч­те или че­рез дру­гую про­грам­му на ваш вы­бор), что­бы из­вестить вас о воз­мож­ных про­бле­мах. Для на­строй­ки пре­ду­пре­ж­дений созда­ют­ся «де­тек­то­ры шаб­ло­на» – они сле­дят за из­менения­ми времени про­хо­ж­дения па­ке­та или за­про­са ту­да и об­рат­но или за поте­рей па­ке­тов для за­дан­но­го теста. Де­тек­то­ры шаб­ло­на не про­сто сра­ба­ты­ва­ют при пер­вом же на­ру­шении – они по­зво­ля­ют вам рассмот­реть несколь­ко слу­ча­ев и ква­ли­фи­ци­ро­ван­но ре­шить, ка­кие пре­ду­пре­ж­дения от­пра­вить и сто­ит ли во­об­ще это де­лать. Вот оп­ре­де­ление пре­ду­пре­ж­дений из Ubuntu. Но­ме­ра строк ука­за­ны толь­ко для ссылок, в фай­ле их нет.&lt;br /&gt;
&lt;br /&gt;
 1 *** Alerts ***&lt;br /&gt;
 2 to = chris@example.com&lt;br /&gt;
 3 from = smokealert@example.com&lt;br /&gt;
 4&lt;br /&gt;
 5 +bigloss&lt;br /&gt;
 6 type = loss&lt;br /&gt;
 7 # in percent&lt;br /&gt;
 8 pattern = ==0%,==0%,==0%,==0%,&amp;gt;0%,&amp;gt;0%,&amp;gt;0%&lt;br /&gt;
 9 comment = suddenly there is packet loss&lt;br /&gt;
 10&lt;br /&gt;
 11 +someloss&lt;br /&gt;
 12 type = loss&lt;br /&gt;
 13 # in percent&lt;br /&gt;
 14 pattern = &amp;gt;0%,*12*,&amp;gt;0%,*12*,&amp;gt;0%&lt;br /&gt;
 15 comment = loss 3 times in a row&lt;br /&gt;
 16&lt;br /&gt;
 17 +startloss&lt;br /&gt;
 18 type = loss&lt;br /&gt;
 19 # in percent&lt;br /&gt;
 20 pattern = ==S,&amp;gt;0%,&amp;gt;0%,&amp;gt;0%&lt;br /&gt;
 21 comment = loss at startup&lt;br /&gt;
 22&lt;br /&gt;
 23 +rttdetect&lt;br /&gt;
 24 type = rtt&lt;br /&gt;
 25 # in milli seconds&lt;br /&gt;
 26 pattern = &amp;lt;10, &amp;lt;10, &amp;lt;10, &amp;lt;10, &amp;lt;10,&amp;lt;100,&amp;gt;100, &amp;gt;100, &amp;gt;100&lt;br /&gt;
 27 comment = routing messed up again?&lt;br /&gt;
&lt;br /&gt;
Стро­ка 2 оп­ре­де­ля­ет, как достав­лять пре­ду­пре­ж­дения. Здесь мож­но ука­зать ад­рес элек­трон­ной поч­ты или имя про­грам­мы, за­пускае­мой при возник­но­вении пре­ду­пре­ж­дения. Стро­ки 5–8 за­дают шаб­лон пре­ду­пре­ж­дения под именем '''bigloss'''. Шаб­лон в строке 8 ука­зы­ва­ет до­лю по­те­ри па­ке­тов в про­цен­тах, ко­то­рая долж­на иметь ме­сто (в дан­ном слу­чае) при се­ми по­сле­до­ва­тель­ных из­мерениях. (Уста­нов­ка па­ра­мет­ра '''step''' в 300 с оз­на­ча­ет, конеч­но, что пре­ду­пре­ж­дение не поя­вит­ся, по­ка па­ке­ты не бу­дут вы­гля­деть по­те­рян­ны­ми 15 ми­нут и бо­лее.)&lt;br /&gt;
&lt;br /&gt;
===Когда пре­ду­пре­ж­дать===&lt;br /&gt;
&lt;br /&gt;
Стро­ки 11–15 оп­ре­де­ля­ют пре­ду­пре­ж­дение '''someloss'''. В стро­ке 14 обо­зна­чение '''*12*''' в де­тек­то­ре шаб­ло­на оз­на­ча­ет «иг­но­ри­ро­вать до 12 зна­чений и все еще при­зна­вать со­от­вет­ствие шаб­ло­ну». Таким об­ра­зом (опять же, пред­по­ла­гая, что step уста­нов­лен в 300 с), пре­ду­пре­ж­дение возникнет, ес­ли по­те­ря па­ке­тов на­блю­да­ет­ся три раза, но ме­ж­ду ними мо­жет быть до двух ин­тер­ва­лов дли­тельно­стью до ча­са (12 × 300 c), в те­чение ко­то­рых по­те­ри не про­ис­хо­дит. В худ­шем слу­чае на сра­ба­ты­вание это­го де­тек­то­ра уй­дет 2 ча­са 15 ми­нут.&lt;br /&gt;
&lt;br /&gt;
Так как де­тек­то­ры обыч­но реа­ги­ру­ют на из­менения со­стояний, они не смо­гут об­на­ру­жить их, ес­ли уже су­ще­ство­ва­ли на мо­мент за­пуска ''SmokePing''. Что­бы из­бе­жать та­ких оши­бок, ис­поль­зу­ет­ся '''==S''' (см. стро­ку 20), что оз­на­ча­ет «с мо­мен­та за­пуска»; здесь преду­пре­ж­дение за­пустит­ся, ес­ли по­те­ря па­ке­тов на­блю­да­лась три раза под­ряд сра­зу по­сле за­пуска ''SmokePing''.&lt;br /&gt;
&lt;br /&gt;
Для ак­ти­ва­ции пре­ду­пре­ж­дения на него нуж­но со­слать­ся из раз­де­ла на­строй­ки''' Targets'''. Вернитесь к при­ме­ру оп­ре­де­ления це­лей и об­ра­ти­те внимание на стро­ку '''alerts'''. Она ве­лит ''SmokePing'' вы­дать пре­ду­пре­ж­дение, ес­ли по­те­ря па­ке­тов про­ис­хо­дит три­жды под­ряд во вре­мя теста за­дер­жек HTTP.&lt;br /&gt;
&lt;br /&gt;
Нам оста­лось упо­мя­нуть о по­следнем эле­мен­те на­строй­ки ''SmokePing'': в раз­де­ле '''***Presentation***''' мож­но вы­брать ото­бражае­мые гра­фи­ки и их внеш­ний вид.&lt;br /&gt;
&lt;br /&gt;
===Что уме­ет ''SmokePing''===&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable border=1 cellpadding=5|-&lt;br /&gt;
! Тест&lt;br /&gt;
! Что он де­ла­ет&lt;br /&gt;
|-&lt;br /&gt;
| Curl&lt;br /&gt;
| По­лу­ча­ет HTTP- или HTTPS-ад­рес с по­мо­щью ''curl''&lt;br /&gt;
|-&lt;br /&gt;
| DNS&lt;br /&gt;
| Тест сер­ви­са до­мен­ных имен на ос­но­ве ''dig''&lt;br /&gt;
|-&lt;br /&gt;
| EchoPingChargen&lt;br /&gt;
| Из­ме­ря­ет вре­мя про­хо­ж­де­ния за­про­са TCP chargen (порт 19)&lt;br /&gt;
|-&lt;br /&gt;
| EchoPingDiscard&lt;br /&gt;
| Из­ме­ря­ет вре­мя про­хо­ж­де­ния за­про­са TCP или UDP discard (порт 9)&lt;br /&gt;
|-&lt;br /&gt;
| EchoPingDNS&lt;br /&gt;
| Тест DNS на ос­но­ве ''echoping''&lt;br /&gt;
|-&lt;br /&gt;
| EchoPingHttp&lt;br /&gt;
| Тест HTTP на ос­но­ве ''echoping''&lt;br /&gt;
|-&lt;br /&gt;
| EchoPingHttps&lt;br /&gt;
| Тест HTTPS на ос­но­ве ''echoping''&lt;br /&gt;
|-&lt;br /&gt;
| EchoPingIcp&lt;br /&gt;
| Из­ме­ря­ет вре­мя про­хо­ж­де­ния за­про­са для про­то­ко­ла ICP (Internet Cache Protocol)&lt;br /&gt;
|-&lt;br /&gt;
| EchoPingLDAP&lt;br /&gt;
| Из­ме­ря­ет вре­мя про­хо­ж­де­ния за­про­са для LDAP-сер­ве­ров&lt;br /&gt;
|-&lt;br /&gt;
| EchoPingSmtp&lt;br /&gt;
| Из­ме­ря­ет вре­мя про­хо­ж­де­ния за­про­са для SMTP-сер­ве­ров&lt;br /&gt;
|-&lt;br /&gt;
| EchoPingWhois&lt;br /&gt;
| Из­ме­ря­ет вре­мя про­хо­ж­де­ния за­про­са whois&lt;br /&gt;
|-&lt;br /&gt;
| FPing&lt;br /&gt;
| Из­ме­ря­ет вре­мя про­хо­ж­де­ния клас­си­че­ско­го за­про­са IMCP Echo Request&lt;br /&gt;
|-&lt;br /&gt;
| FTPTransfer&lt;br /&gt;
| Из­ме­ря­ет дос­туп­ную по­ло­су про­пус­ка­ния для FTP-сер­ве­ров&lt;br /&gt;
|-&lt;br /&gt;
| IOSPing&lt;br /&gt;
| Тест сис­те­мы вво­да-вы­во­да Cisco&lt;br /&gt;
|-&lt;br /&gt;
| LDAP&lt;br /&gt;
| Еще один тест LDAP&lt;br /&gt;
|-&lt;br /&gt;
| Radius&lt;br /&gt;
| Тест сер­ве­ра ау­тен­ти­фи­ка­ции Radius&lt;br /&gt;
|-&lt;br /&gt;
| RemoteFPing&lt;br /&gt;
| Ини­ции­ру­ет из­ме­ре­ния ping уда­лен­но че­рез ''SSH''&lt;br /&gt;
|-&lt;br /&gt;
| SSH&lt;br /&gt;
| Тест сер­ви­са ''SSH'' с по­мо­щью ''ssh-keyscan''&lt;br /&gt;
|-&lt;br /&gt;
| TacacsPlus&lt;br /&gt;
| Tacacs+ – про­прие­тар­ный про­то­кол управ­ле­ния дос­ту­пом Cisco&lt;br /&gt;
|-&lt;br /&gt;
| TelnetOSPing&lt;br /&gt;
| Тест сис­те­мы вво­да-вы­во­да Cisco&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>