<?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>jared.kiev.ua &#187; jail</title>
	<atom:link href="http://jared.kiev.ua/topics/freebsd/jail/feed/" rel="self" type="application/rss+xml" />
	<link>http://jared.kiev.ua</link>
	<description>Сетап как стиль жизни</description>
	<lastBuildDate>Tue, 06 Dec 2011 13:58:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Мониторинг с помощью Zabbix: установка Zabbix</title>
		<link>http://jared.kiev.ua/2010/03/zabbix-install/</link>
		<comments>http://jared.kiev.ua/2010/03/zabbix-install/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 22:06:34 +0000</pubDate>
		<dc:creator>jared</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[jail]]></category>
		<category><![CDATA[Zabbix]]></category>
		<category><![CDATA[Мониторинг]]></category>

		<guid isPermaLink="false">http://jared.kiev.ua/?p=210</guid>
		<description><![CDATA[<p style="text-align: justify;">Как и многие коллеги-администраторы, долгое время я пользовался для мониторинга всего и вся либо Nagios, либо чем-то самописным &#8211; так сложилось исторически. В последнее время стало изрядно лениво лазить по конфигурационным файлам, чтоб добавить хост, сервис и т.п., а потом еще и проверять в веб-интерфейсе, все ли видно хорошо. Захотелось некой удобной софтины для мониторинга, с конфигурацией в БД, удобным веб-интерфейсом и прочими прелестями. В качестве таковой был выбран Zabbix и честно говоря, вполне себя оправдывает, разве что ресурсов ест многовато. Им сегодня и займемся:</p>
<p><a href="http://jared.kiev.ua/2010/03/zabbix-install/" class="more-link">Далее&#8230;</a></p>
]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Как и многие коллеги-администраторы, долгое время я пользовался для мониторинга всего и вся либо Nagios, либо чем-то самописным &#8211; так сложилось исторически. В последнее время стало изрядно лениво лазить по конфигурационным файлам, чтоб добавить хост, сервис и т.п., а потом еще и проверять в веб-интерфейсе, все ли видно хорошо. Захотелось некой удобной софтины для мониторинга, с конфигурацией в БД, удобным веб-интерфейсом и прочими прелестями. В качестве таковой был выбран Zabbix и честно говоря, вполне себя оправдывает, разве что ресурсов ест многовато. Им сегодня и займемся:</p>
<pre># cd /usr/ports/net-mgmt/zabbix-server
# make install
┌────────────────────────────────────────────────────────────────────┐
 │                Options for zabbix-server 1.8.1,2                   │
 │ ┌────────────────────────────────────────────────────────────────┐ │
 │ │         [X] MYSQL   Use MySQL backend                          │ │
 │ │         [ ] PGSQL   Use PostgreSQL backend                     │ │
 │ │         [ ] SQLITE  Use SQLite backend                         │ │
 │ │         [ ] IPV6    Support for IPv6                           │ │
 │ │         [ ] LDAP    Support for checking LDAP servers          │ │
 │ │         [X] JABBER  Use jabber media type                      │ │
 │ │         [X] FPING   Use fping for pinging hosts                │ │
 │ │                                                                │ │
 │ │                                                                │ │
 │ │                                                                │ │
 │ │                                                                │ │
 │ │                                                                │ │
 │ │                                                                │ │
 │ │                                                                │ │
 │ │                                                                │ │
 ├─└────────────────────────────────────────────────────────────────┘─┤
 │                       [  OK  ]       Cancel                        │
 └────────────────────────────────────────────────────────────────────┘
</pre>
<p style="text-align: justify;">Пока он ставится, немного расскажу о идеологии софтины. Состоит она из нескольких частей: сервера, агента, фронтенда. Сервер умеет опрашивать агентов или сами объекты мониторинга (в случае с последними поддерживаются протоколы SNMP и IPMI). Агент ставится на объект мониторинга (версии агента есть для широкого перечня операционных систем, включая винды) и шлет данные на сервер, также умеет выполнять на объекте заданные команды, фронтенд стоит на веб-сервере и показывает весь процесс. К базе данных обращаются сервер и фронтенд, агентам она не нужна. Создаем ее (исходим из того, что MySQL у нас на том же хосте, где zabbix-сервер):</p>
<pre># mysql
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbixpassword';
GRANT USAGE ON * . * TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbixpassword' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS `zabbix` ;
GRANT ALL PRIVILEGES ON `zabbix` . * TO 'zabbix'@'localhost';
quit;
# cd /usr/local/share/zabbix/server/create
# cat schema/mysql.sql data/data.sql data/images_mysql.sql | mysql -uzabbix -pzabbixpassword zabbix
# echo zabbix_server_enable=\"YES\" &gt;&gt; /etc/rc.conf
# cp /usr/local/etc/zabbix/zabbix_server.conf.sample /usr/local/etc/zabbix/zabbix_server.conf
# ee /usr/local/etc/zabbix/zabbix_server.conf
</pre>
<p>Настройки по умолчанию достаточно разумны, потому файл /usr/local/etc/zabbix/zabbix_server.conf небольшой, для справки потом можно будет заглянуть в дефолтный файл:</p>
<pre><span style="color: #000000;"># Исходящий IP, с него будут осуществляться соединения с агентами и объектами мониторинга
</span>SourceIP=192.168.1.10

<span style="color: #000000;"># Лог-файл
</span>LogFile=/var/log/zabbix_server.log

<span style="color: #000000;"># Размер лог-файла, в мегабайтах, 0 отключает ротацию лога
</span>LogFileSize=10

<span style="color: #000000;"># Уровень дебага, 0 - отключить, 1 - критические ошибки, 2 - ошибки, 3 - предупреждения, 4 - дебаг
</span>DebugLevel=3

<span style="color: #000000;"># Хост БД
</span>DBHost=localhost

<span style="color: #000000;"># Название БД
</span>DBName=zabbix

<span style="color: #000000;"># Пользователь БД
</span>DBUser=zabbix

<span style="color: #000000;"># Пароль БД
</span>DBPassword=zabbixpassword

<span style="color: #000000;"># Путь к Mysql-сокету
</span>DBSocket=/tmp/mysql.sock

<span style="color: #000000;"># Порт SQL-сервера, если используем сокет - не надо
</span># DBPort=3306
</pre>
<p>Если заббикс стоит, как в моем случае, в джейле, то на хост-машине надо в /etc/sysctl.conf добавить:</p>
<pre>security.jail.sysvipc_allowed=1
kern.ipc.shmall=2097152
kern.ipc.shmmax=2147483648</pre>
<p>На этом все, сервер можно запускать:</p>
<pre># touch /var/log/zabbix_server.log
# chown zabbix:zabbix /var/log/zabbix_server.log
# /usr/local/etc/rc.d/zabbix_server start</pre>
<p>Теперь займемся фронтендом.</p>
<pre># cd /usr/ports/math/php5-bcmath
# make install
# cd /usr/ports/net-mgmt/zabbix-server/work/zabbix-1.8.1/frontends/php
# cp -R * /usr/local/www/vhosts/zabbix.jared.kiev.ua
# cd /usr/local/www/vhosts/zabbix.jared.kiev.ua/conf/
# cp zabbix.conf.php.example zabbix.conf.php
# ee zabbix.conf.php
</pre>
<p>Тут вписываем параметры доступа к БД и прочее:</p>
<pre>&lt;?php
global $DB;

$DB["TYPE"]             = "MYSQL";
$DB["SERVER"]           = "localhost";
$DB["PORT"]             = "0";
$DB["DATABASE"]         = "zabbix";
$DB["USER"]             = "zabbix";
$DB["PASSWORD"]         = "zabbixpassword";
$ZBX_SERVER             = "localhost";
$ZBX_SERVER_PORT        = "10051";
$ZBX_SERVER_NAME        = "";

$IMAGE_FORMAT_DEFAULT   = IMAGE_FORMAT_PNG;
?&gt;
</pre>
<p>Все, теперь можно смело заходить в фронтенд с логином Admin и паролем zabbix и заниматься дальнейшей настройкой системы.</p>
]]></content:encoded>
			<wfw:commentRss>http://jared.kiev.ua/2010/03/zabbix-install/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>FreeBSD jail по-быстрому</title>
		<link>http://jared.kiev.ua/2010/02/freebsd-quick-jail/</link>
		<comments>http://jared.kiev.ua/2010/02/freebsd-quick-jail/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 22:53:44 +0000</pubDate>
		<dc:creator>jared</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[jail]]></category>

		<guid isPermaLink="false">http://jared.kiev.ua/?p=196</guid>
		<description><![CDATA[<p>Итак, как следует из названия, сейчас мы будем в ускоренном темпе поднимать jail на FreeBSD 7.2. Почему в ускоренном? В сети есть масса статей на эту тему, там все разжевывается достаточно подробно и, как правило, с кучей лишних действий, которые в современной системе уже не обязательны. Потому мы обойдемся без лишних движений и сделаем так, чтоб все работало. Итак, начнем с обновления системных исходников:</p>
<p><a href="http://jared.kiev.ua/2010/02/freebsd-quick-jail/" class="more-link">Далее&#8230;</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Итак, как следует из названия, сейчас мы будем в ускоренном темпе поднимать jail на FreeBSD 7.2. Почему в ускоренном? В сети есть масса статей на эту тему, там все разжевывается достаточно подробно и, как правило, с кучей лишних действий, которые в современной системе уже не обязательны. Потому мы обойдемся без лишних движений и сделаем так, чтоб все работало. Итак, начнем с обновления системных исходников:</p>
<pre># pkg_add -r cvsup-without-gui
# ee /usr/share/examples/cvsup/stable-supfile
</pre>
<p>Правим *default host=CHANGE_THIS.FreeBSD.org на хост, который нам подходит, в моем случае это ftp6.ua.freebsd.org. Потом подготовим структуру каталогов для джейла (мой джейл будет носить гордое имя mon) и запускаем сам процесс обновления:</p>
<pre># mkdir -p /usr/local/jails/mon
# cvsup -g -L 2 /usr/share/examples/cvsup/stable-supfile
</pre>
<p>Пока он идет,  добавим несколько строк в файл /etc/rc.conf :</p>
<pre><span style="color: #000000;"># Говорим syslogd не логгировать ничего из сети, чтоб не мешать логи в кучу</span>
syslogd_flags="-ss"

<span style="color: #000000;"># Общие настройки для всех джейлов</span>
jail_enable="YES"
jail_devfs_enable="YES"
jail_procfs_enable="YES"

<span style="color: #000000;"># Тут список джейлов, которые надо запускать при старте системы, указываются через пробел</span>
jail_list="mon"

<span style="color: #000000;"># Интерфейс, на который система повесит алиасы для джейлов, на самих интерфейсах прописывать ничего не надо</span>
jail_interface="lo0"

jail_exec_start="/bin/sh /etc/rc"
jail_exec_stop="/bin/sh /etc/rc.shutdown"

<span style="color: #000000;"># Настройки для джейла mon</span>
jail_mon_rootdir="/usr/local/jails/mon"
jail_mon_hostname="mon.jared.kiev.ua"
jail_mon_ip="192.168.10.1"</pre>
<p>Заодно поправим /etc/ssh/sshd_config, чтоб при попытке попасть по SSH в джейл мы не попадали на хост-машину:</p>
<pre>ListenAddress 192.168.23.1
</pre>
<p>Теперь, когда исходники обновили, можем собирать всю конструкцию воедино:</p>
<pre># cd /usr/src
# make buildworld
# make installworld DESTDIR=/usr/local/jails/mon
# cd /usr/src/etc
# make distribution DESTDIR=/usr/local/jails/mon
</pre>
<p>Все, взлетаем и проверяем наличие нашего джейла:</p>
<pre># /etc/rc.d/jail start
Configuring jails:.
Starting jails: mon.jared.kiev.ua.
# jls
   JID  IP Address      Hostname                      Path
     1  192.168.10.1    mon.jared.kiev.ua             /usr/local/jails/mon
</pre>
<p>Теперь, набрав на хост-машине jexec 1 tcsh, мы запустим в джейле с JID 1 оболочку tcsh и окажемся внутри нашей виртуальной машины.</p>
<p>Полезные sysctl-переменные для джейлов:<br />
security.jail.set_hostname_allowed &#8211; если 1, то внутри jail можно поменять имя хоста;<br />
security.jail.socket_unixiproute_only &#8211; если 1 , то сокет в jail можно создать только для доменов PF_LOCAL, PF_INET или PF_ROUTE, иначе, возвращается ошибка;<br />
security.jail.sysvipc_allowed &#8211; если 1, то то в jail можно получить доступ к глобальному System V IPC;<br />
security.jail.getfsstatroot_only &#8211; если 1, то в jail можно получить информацию (df)только о той файловой системе на которой создан jail;<br />
security.jail.allow_raw_sockets &#8211; если 1, то в jail можно создавать raw sockets;<br />
security.jail.chflags_allow &#8211; если 1, то процессы в jail могут модифицировать флаги ФС.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;"><span style="font-family: Verdana;"><span style="color: #3366ff;"># ee /usr/share/examples/cvsup/stable-supfile<br />
</span>Там правим *default host=CHANGE_THIS.FreeBSD.org на хост, который нам подходит, в моем случае это был ftp2.ua.freebsd.org.</p>
<p></span><span style="font-family: Verdana;"><span style="color: #0000bb;"><span style="color: #3366ff;"># cvsup -g -L 2 /usr/share/examples/cvsup/stable-supfile</span></span></span></div>
]]></content:encoded>
			<wfw:commentRss>http://jared.kiev.ua/2010/02/freebsd-quick-jail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

