<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vv.sumy.ua</title>
	<atom:link href="http://vv.sumy.ua/feed/" rel="self" type="application/rss+xml" />
	<link>http://vv.sumy.ua</link>
	<description>Очередной блог на WordPress</description>
	<lastBuildDate>Mon, 01 Nov 2010 13:58:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>BootpTftp.exe</title>
		<link>http://vv.sumy.ua/2010/11/bootptftp-exe/</link>
		<comments>http://vv.sumy.ua/2010/11/bootptftp-exe/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 13:58:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://vv.sumy.ua/?p=33</guid>
		<description><![CDATA[Скачать BootpTftp.exe, который требуется, например здесь, для обновления софта на железе Zyxel.
]]></description>
			<content:encoded><![CDATA[<p>Скачать <a href="/wp-content/uploads/2010/11/BootpTftp.exe">BootpTftp.exe</a>, который требуется, например <a href="http://zyxel.ru/content/support/knowledgebase/KB-1206">здесь</a>, для обновления софта на железе Zyxel.</p>
]]></content:encoded>
			<wfw:commentRss>http://vv.sumy.ua/2010/11/bootptftp-exe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smokeping: настройка в режиме мастер/слейв</title>
		<link>http://vv.sumy.ua/2009/12/smokeping-setup-in-master-slave/</link>
		<comments>http://vv.sumy.ua/2009/12/smokeping-setup-in-master-slave/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 20:57:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[smokeping]]></category>

		<guid isPermaLink="false">http://vv.sumy.ua/?p=3</guid>
		<description><![CDATA[ОБЩЕЕ
Зачем это надо ?
1. Все настройки в одном конфиге, согласно меткам slaves= каждый слейв получит свой конфиг
2. Все отображение в одном месте, на быстром сервере.
3. Лично мне понадобилось &#8211; надо пинговать девайсы с нереальными ип, строить роутинг от веб-сервера, где стоит смок, к ним не хочется.
Поскольку уже есть сервер с коннективити к девайсам, решил на [...]]]></description>
			<content:encoded><![CDATA[<h3><span id="more-3"></span>ОБЩЕЕ</h3>
<h4>Зачем это надо ?</h4>
<p>1. Все настройки в одном конфиге, согласно меткам slaves= каждый слейв получит свой конфиг</p>
<p>2. Все отображение в одном месте, на быстром сервере.</p>
<p>3. Лично мне понадобилось &#8211; надо пинговать девайсы с нереальными ип, строить роутинг от веб-сервера, где стоит смок, к ним не хочется.<br />
Поскольку уже есть сервер с коннективити к девайсам, решил на нем поднять слейв смока. На нем _не_ ставится апач и ррдтул.</p>
<p>4. На сайте смокпинга пишут что таким образом можно оценивать задержку к одному и тому же хосту с разных точек (слейвов). Т.е. пинговать хост будет мастер и все слейвы. Примеры таких графиков можно посмотреть на сайте разработчика [3].</p>
<h4>Идеология работы</h4>
<p>Один мастер, много слейвов.</p>
<p>Слейвы описываются в соответсвующем разделе конфига мастера. Каждому слейву назначается пароль. Далее для таргетов выставляется с каких слейвов они будут пинговаться. Привязка слейвов к хостам наследуется по дереву хостов, т.е. слейв можно указать один раз при описании хостов и они все будут опрашиваться этим слейвом. Пустое поле слейва отменяет наследование.</p>
<h4>Протокол</h4>
<p>Слейв общается с мастером по HTTP. Запросы инициирует только слейв.</p>
<p>При запуске слейв передает свое имя и пароль мастеру. При каждом запросе передается и время последней модификации конфига. Мастер отдаст слейву новый конфиг если он обновился.<br />
В первом запросе время = 0 и слейв получает стартовый конфиг от мастера. В конфиге описаны переменные, пробы и дерево хостов этого слейва.<br />
Слейв запускает пробы с указанным интервалом и отправляет данные обратно на сервер. В ответе может получить новый конфиг.</p>
<p>Вот пример отправки результатов со слейва на мастер</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">POST /smokeping.cgi HTTP/1.1
 TE: deflate,gzip;q=0.3
 Connection: TE, close
 Host: smokeping.local
 User-Agent: smokeping-slave/1.0
 Content-Length: 1057
 Content-Type: multipart/form-data; boundary=xYzZY
&nbsp;
--xYzZY
 Content-Disposition: form-data; name=&quot;slave&quot;
&nbsp;
border
 --xYzZY
 Content-Disposition: form-data; name=&quot;key&quot;
&nbsp;
1111111111111111111111111111111111
 --xYzZY
 Content-Disposition: form-data; name=&quot;protocol&quot;
&nbsp;
2
 --xYzZY
 Content-Disposition: form-data; name=&quot;data&quot;
&nbsp;
/Private_net/10_5_47_x/10_5_47_7     1259932521
 U:3:6.8282000000e-01:U:6.0810000000e-01:6.5105000000e-01:6.6579000000e-01
 :6.6731000000e-01:6.6934000000e-01:6.7052000000e-01:6.7159000000e-01
 :6.8247000000e-01:6.8282000000e-01:6.8563000000e-01:6.8909000000e-01
 :6.9390000000e-01:7.3333000000e-01:7.3340000000e-01:7.6951000000e-01
 :8.8933000000e-01:9.6087000000e-01:U:U
 --xYzZY
 Content-Disposition: form-data; name=&quot;config_time&quot;
&nbsp;
1259931976</pre></div></div>

<h3>НАСТРОЙКА</h3>
<h4>Исходные данные</h4>
<p>Есть веб сервер с установленым апачем и смокпингом. Что-то с него уже пингуется. Необходимо пинговать хосты в некой приватной сети. Связывать веб сервер с приватной сетью нежелательно. Есть сервер на границе приватной сети. Связь от него до веб сервера есть.</p>
<p>Сервера на FreeBSD, у вас могут отличаться пути.</p>
<h4>Задача</h4>
<p>Установить на пограничном сервере смокпинг и поключить<br />
в режиме слейва к смокпингу на веб сервере.</p>
<h4>Мастер</h4>
<p>Прописываем слейв с именем border</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">*** Slaves ***
 secrets=/usr/local/etc/smokeping/secrets
&nbsp;
+border
 display_name=keeper
 color=0000ff</pre></div></div>

<p>Описание группы хостов, которые будут пинговаться со слейва.<br />
Чтобы их не пинговал мастер указано &laquo;<em>nomasterpoll= yes</em>&raquo;</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">++ Private_net
 menu= Private net
 title= Private net
 probe= FPing
 nomasterpoll= yes
 slaves= border
&nbsp;
+++ 10_5_47_x
 menu= 10.5.47.x
 title= 10.5.47.x
&nbsp;
++++ 10_5_47_7
 menu= 10.5.47.7
 title= 10.5.47.7
 host= 10.5.47.7</pre></div></div>

<p>В файле /usr/local/etc/smokeping/secrets для каждого слейва пишем строку логин:пароль</p>
<p>border:pass123</p>
<h4>Слейв</h4>
<p>Ставим smokeping.</p>
<p>cd /usr/ports/net-mgmt/smokeping/<br />
make install clean</p>
<p>В файл /etc/rc.conf добавляем<br />
smokeping_enable=&raquo;YES&raquo;</p>
<p>Правим /usr/local/etc/rc.d/smokeping<br />
Вместо<br />
command_args=&raquo;&#8211;logfile=${smokeping_logfile}&raquo;<br />
пишем<br />
command_args=&raquo;&#8211;logfile=${smokeping_logfile} &#8211;slave-name=border &#8211;master-url=http://smokeping.local/smokeping.cgi &#8211;cache-dir=/usr/local/var/smokeping/ &#8211;shared-secret=/usr/local/etc/smokeping/secrets&raquo;</p>
<p>&#8211;slave-name=border &#8211; имя слейва, по дефолту `hostname`, указано явно для удобства,<br />
короче чем полное и нету привязки</p>
<p>http://smokeping.local/smokeping.cgi &#8211; адрес рабочего смокпинга</p>
<p>/usr/local/var/smokeping/ &#8211; временная папка</p>
<p>Взлетаем &#8211; /usr/local/etc/rc.d/smokeping start</p>
<p>Чтобы изменить конфиг (и на слейвах тоже) правим его только! на мастере.<br />
Потом /usr/local/etc/rc.d/smokeping reload<br />
Теперь слейв получит новый конфиг когда будет сливать<br />
на мастер результаты своих пингов, обычно раз в 5 минут.</p>
<h3>ПРОБЛЕМЫ</h3>
<h4>установка</h4>
<p>При установке из портов также ставятся порты smnp и rrdtool, которые при работе в режиме слейва не нужны. Как этого избежать пока не понял. Скачал smokeping в виде package, развернул и скопировал куда надо. Убрал ссылки на snmp и rrd. Потом из портов доставил p5-Digest-HMAC и p5-libwww-5.805.</p>
<h4>права доступа</h4>
<p>rrd файлы создаются процессом smokeping,<br />
данные от слейвов вносятся smokeping.cgi из-под апача.<br />
Для внесения данных нужны права для записи в файл и<br />
директорию, где файл находится (для локов)<br />
Директория с базами ррд /usr/local/var/smokeping/</p>
<h4>RemoteFPing</h4>
<p>У меня на мастере настроен RemoteFPing.<br />
Ходит через ssh (авторизация по ключам) на другой сервер<br />
и оттуда пингует хосты.</p>
<p>На слейве ключей нету, но он получает в конфиге описание пробы RemoteFPing и пытается ломиться по ssh<br />
Пока отключил правкой в файле /usr/local/smokeping/lib/Smokeping/probes/RemoteFPing.pm :</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">sub</span> binary <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
  <span style="color: #000066;">return</span> <span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>properties<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#123;</span>rbinary<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Позже на том сервере подниму еще один слейв и уберу RemoteFPing,<br />
чем и решу проблему.</p>
<h2>Ссылки</h2>
<ol>
<li><a href="http://oss.oetiker.ch/smokeping/index.en.html"> Сайт смокпинга</a></li>
<li><a href="http://oss.oetiker.ch/smokeping/doc/smokeping_master_slave.en.html">Описание мастер/слейв</a></li>
<li><a href="http://oss.oetiker.ch/smokeping-demo/?target=Customers.OP">Пример работы</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://vv.sumy.ua/2009/12/smokeping-setup-in-master-slave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

