<?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>Danik.info &#187; Monitoring</title>
	<atom:link href="http://danik.info/tag/monitoring/feed/" rel="self" type="application/rss+xml" />
	<link>http://danik.info</link>
	<description>useful notes for admins</description>
	<lastBuildDate>Fri, 13 Jan 2012 08:39:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Веб-интерфейс к Bacula – Webacula</title>
		<link>http://danik.info/veb-interfejs-interfejs-k-bacula-%e2%80%93-webacula/</link>
		<comments>http://danik.info/veb-interfejs-interfejs-k-bacula-%e2%80%93-webacula/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 07:23:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Tools for admins]]></category>
		<category><![CDATA[backula]]></category>
		<category><![CDATA[backup]]></category>

		<guid isPermaLink="false">http://danik.info/?p=2967</guid>
		<description><![CDATA[Bacula достаточно мощная утилита резервного копирования и восстановления данных, тем не менее, процесс установки, повседневного управления и получения отчетов недостаточно удобен и нагляден. Именно поэтому на сегодняшний день написан не один десяток графических интерфейсов к Bacula, разной степени готовности и возможностей. Одним из первых и до сих пор наиболее функциональных является Webacula (Web + Bacula). Под [...]]]></description>
			<content:encoded><![CDATA[<p>Bacula достаточно мощная утилита резервного копирования и восстановления данных, тем не менее, процесс установки, повседневного управления и получения отчетов недостаточно удобен и нагляден. Именно поэтому на сегодняшний день написан не один десяток графических интерфейсов к Bacula, разной степени готовности и возможностей.</p>
<p>Одним из первых и до сих пор наиболее функциональных является <a rel="nofollow" href="http://webacula.sourceforge.net/ru/">Webacula</a> (Web + Bacula).</p>
<p style="text-align: center;"><a href="http://danik.info/wp-content/uploads/2010/10/webacula_main_page.png"><img class="aligncenter size-full wp-image-2968" title="webacula_main_page" src="http://danik.info/wp-content/uploads/2010/10/webacula_main_page.png" alt="webacula main page Веб интерфейс к Bacula – Webacula" width="593" height="457" /></a></p>
<div id="_mcePaste">Под катом видео и список возможностей.</div>
<p><span id="more-2967"></span></p>
<h2><strong>Возможности Webacula</strong></h2>
<p>Webacula является типичным веб-приложением, требующим для своей работы стандартную связку<em> LAMP (Linux+Apache+MySQL+PHP)</em>. Построен при помощи<em> Zend framework</em>. Используя веб-браузер администратор может удаленно запустить задание, восстановить файлы по идентификатору задания, из самой последней копии клиента, данные перед указанным временем, вывести запланированные и выполненные задания (все и в 24 часовом промежутке), задания выполненные с ошибками (за 7 дней), вывод временной диаграммы заданий и состояния хранилищ, монтирование и размонтирование хранилищ, состояние томов. Возможно транслирование результатов в <em>RSS ленту</em>. Кроме этого доступен журнал (хранится в базе данных webacula), в который администратор самостоятельно записывает необходимую ему информацию (описание задания, сбои и причины и так далее). Такие записи могут содержать гиперссылки на задания, для быстрого перехода.<br />
Интерфейс Webacula переведен на 6 языков, в списке есть и русский. Основные номера версий совпадают с Bacula, текущей на момент написания статьи является 3.1. Распространяется на условиях <em>GPLv3</em>.</p>
<p><span style="font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif; line-height: normal; font-size: small; color: #333333;">Основные возможности :</span></p>
<p><span style="font-family: 'Trebuchet MS', Arial, Helvetica, sans-serif; line-height: normal; font-size: small; color: #333333;"> </span></p>
<ul>
<li>Запуск Заданий</li>
<li>Восстановление всех файлов или выбранных файлов для указанного Id Задания</li>
<li>Восстановление самого свежего бэкапа для клиента</li>
<li>Восстановление бэкапа, сделанного перед указанным временем</li>
<li>Построение временной диаграмы выполнения Заданий</li>
<li>Монтирование, размонтирование Хранилищ</li>
<li>Показ Заданий, завершившихся с ошибками, сбоями (за последние 7 дней)</li>
<li>Показ состояния ваших Томов</li>
<li>Показ запланированных Заданий (на ближайшие 24 часа)</li>
<li>Показ всех выполняющихся Заданий</li>
<li>Показ завершившихся Заданий (выполненных за последние 24 часа)</li>
<li>Поиск Заданий по нескольким критериям</li>
<li>Выдача детальной информации о Пулах, Томах, Хранилищах и Клиентах</li>
<li>RSS лента</li>
<li>Мультиязычность. В настоящее время поддерживаются языки: английский, немецкий, французский, бразильский португальский, русский.</li>
<li><strong>Журнал</strong> &#8211; простой электронный журнал для записей о бэкапах. Оператор вручную работает с журналом: добавляет, изменяет, удаляет записи. Записи могут содержать ссылки (обычные веб-ссылки по которым можно кликать) на Задания Bacula или ссылки на другие записи в журнале. В журнал записывается информация, например, о различных сбоях в Заданиях, и других нештатных ситуациях. Журнал хранится в отдельной БД &#8220;webacula&#8221;, теперь поддерживаются MySQL, PostgreSQL и Sqlite.</li>
</ul>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/0cKdPdTsgME?fs=1&amp;hl=ru_RU" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/0cKdPdTsgME?fs=1&amp;hl=ru_RU" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://danik.info/veb-interfejs-interfejs-k-bacula-%e2%80%93-webacula/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>monit — наблюдатель за системными процессами</title>
		<link>http://danik.info/monit-nablyudatel-za-sistemnymi-processami/</link>
		<comments>http://danik.info/monit-nablyudatel-za-sistemnymi-processami/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 07:22:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[monit]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://danik.info/monit-nablyudatel-za-sistemnymi-processami/</guid>
		<description><![CDATA[ТеорияMonit — самостоятельный демон, работающий от пользователя root. Демон работает на Linux, Free/Net/OpenBSD, SUN Solaris и некоторых других UNIX-системах. Это OpenSource проект, у которого есть «старший брат» — коммерческий проект MMonit. Последний обладает более широким функционалом в вопросе массового мониторинга, межсетевого взаимодействия и составления отчетов. Идея авторов проста — для одиночного сервера используем Monit, для [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Теория</strong><br />Monit — самостоятельный демон, работающий от пользователя root. Демон работает на Linux, Free/Net/OpenBSD, SUN Solaris и некоторых других UNIX-системах. Это OpenSource проект, у которого есть «старший брат» — коммерческий проект MMonit. Последний обладает более широким функционалом в вопросе массового мониторинга, межсетевого взаимодействия и составления отчетов. Идея авторов проста — для одиночного сервера используем Monit, для большой сетевой фермы — MMonit.<br /><a name="habracut"></a></p>
<p><span id="more-213"></span>
<p>В зависимости от настроек, демон может проверять:
<ul>
<li>Существование процесса по PID  </li>
<li>Работу определенного порта (TCP/UDP)  </li>
<li>Ответ определенного протокола по определенному порту (SMTP, SSH, HTTP&#8230;)  </li>
<li>Ресурсы, занимаемые процессом (CPU time/RAM)  </li>
<li>MD5 checksum  </li>
<li>Объем и свободное пространство в файловой системе  </li>
<li>Количество активных (и суммарное) i-node-в  </li>
<li>Права доступа к файлу или каталогу</li>
</ul>
<p>Никто не запрещает комбинировать различные методы проверки. Для одного объекта проверки (тесты) зависят друг от друга, то есть сначала проводится тест1, если он прошел без ошибок — тест2, затем — тест3 и т.д.<br />В случае, если какой-то тест не пройден, monit может:
<ul>
<li>Остановить, стартовать или перезапустить демона  </li>
<li>Подождать определенное время  </li>
<li>Уведомить админа (почтовым сообщением)  </li>
<li>Примонтировать, отмонтировать или перемонтировать файловую систему  </li>
<li>Запустить отдельный скрипт (заранее написаный админом), причем передать ему определенные параметры (имя процеса/текст ошибки и т.д.)</li>
</ul>
<p>Действия также никто не запрещает комбинировать, например:<br />Если HTTPd занимает более 200 мегабайт — ждать минуту, если ничего не изменилось — перезапустить сервис, если это также не помогло — прождать пять минут. Если и это не помогло — остановить сервис и уведомить админа письмом.<br />И еще. У Monit есть собственный http-сервер. Злоупотреблять им не стоит, так как работает он с рутовыми привилегиями, но иметь доступ к веб-консоли может быть крайне полезным. Вебсервер будет рассмотрен отдельно, в этой же статье.</p>
<p><strong>Установка и настройка</strong></p>
<p>Монит есть практически во всех широко распространенных дистрибутивах. В Debian, CentOS и Suse он так и называется. Во FreeBSD лежит в PORTS/sysmgmt/monit. Ставится он стандартным для операционной системы способом, и я не буду на этом подробно останавливаться.<br />Результатом установки будет собственно демон (monit) и файл конфигурации, который живет тут:</p>
<pre># Linux, Solaris:
 /etc/monit/monitrc
# FreeBSD/OpenBSD/NetBSD
 /usr/local/etc/monitrc
</pre>
<p>Конфиг очень подробно документирован, его рекомендуется почитать. Там есть подробные примеры и вообще много чего интересного. В принципе большую часть дефолтных настроек можно не трогать, ограничившись только необходимыми изменениями:
<pre># процесс работает как демон, цикл проверки - 120 секунд.
# длительность цикла можно менять, это основная единица времени для monit.
# Раз в цикл срабатывают проверки и выполняются команды от админа, присланные через веб-интерфейс
set daemon 120
# сервера, через которые пойдет почтовое уведомление. Можно делать несколько, очередность срабатывания повторяет очередность внесения
set mailserver mail.zooclub.ru 10025,
    localhost
# кто получит уведомление?
set alert sysadmin@zooclub.ru
</pre>
<p>Информацию о том, что monit должен проверять, можно хранить и в отдельном файле (файлах), которые подключаются в основной конфиг командой include:
<pre># один файл
include /etc/devel/monitcheck.monitconf
# все файлы с расширением из папки.
include /etc/stable/monit/*
</pre>
<p>Мне кажется, что удобнее хранить проверку каждого сервиса в отдельном файле — это облегчает отладку и упрощает администрирование.<br />Мониторим состояние сервера в целом:
<pre>  check system ws1.zooclub.ru
    if loadavg (1min) &gt; 4 then alert
    if loadavg (5min) &gt; 2 then alert
    if memory usage &gt; 75% then alert
    if cpu usage (user) &gt; 90% then alert
    if cpu usage (system) &gt; 40% then alert
    if cpu usage (wait) &gt; 20% then alert
</pre>
<p>Файловые системы:
<pre># /etc/stable/monit/filesystem.conf

# проверяем устройство по точке монтирования.
#  Можно проверять диски напрямую (/dev/hda), но с LVM и прочими логическими "дисками" этот фокус не прокатит,
#  их проверять можно только по точке монтирования и никак иначе.
check device homefs with path /home
        start program  = "/bin/mount /home"
        stop program  = "/bin/umount /home"
        if failed permission 755 then alert
        if failed uid root then alert
#  Если места остается меньше 20% минимум пять проверок за последние 15 - бить в набат и больше ничего не делать.
# При любой своей активности monit будет предупреждать админа письмом.
        if space usage &gt; 80% for 5 times within 15 cycles then alert
#  Место кончилось, отмонтировать файлсистему
        if space usage &gt; 99% then stop
# аналогично про i-nodes.
        if inode usage &gt; 80% then alert
        if inode usage &gt; 99% then stop
        group server

check device rootfs with path /
        start program  = "/bin/mount /"
# Потерять / во время работы сервера - безрадостная перспектива. По этому если дело плохо - просто перемонтируем его в read-only
        stop program  = "/bin/mount -o remount,ro /"
        if failed permission 755 then unmonitor
        if failed uid root then unmonitor
        if space usage &gt; 80% for 5 times within 15 cycles then alert
        if space usage &gt; 99% then stop
        if inode usage &gt; 80% then alert
        if inode usage &gt; 99% then stop
        group server

check device bootfs with path /boot
         start program  = "/bin/mount /boot"
        stop program  = "/bin/mount -o remount,ro /boot"
#  эта конструкция "отключит" тестирование файлсистемы, если права на папку - не 755
        if failed permission 755 then unmonitor
        if failed uid root then unmonitor
        if space usage &gt; 80% for 5 times within 15 cycles then alert
        if space usage &gt; 99% then stop
        if inode usage &gt; 80% then alert
        if inode usage &gt; 99% then stop
        group server
</pre>
<p>Теперь проверим работу веб-сервера apache:
<pre># /etc/stable/monit/apache.conf
# проверка файла (размер, права доступа и тп):
check file apache_bin with path /usr/local/apache/bin/httpd
        if failed checksum and
# sum - это стандартный md5-хэш. Его можно получить, натравив программу md5sum на нужный файл
                expect the sum 8f7f419955cefa0b33a2ba316cba3659 then unmonitor
        if failed permission 755 then unmonitor
        if failed uid root then unmonitor
        if failed gid root then unmonitor
# отдельное письмо на отдельный адрес и с отдельным содержимым.
        alert security@zooclub.ru on {
                checksum, permission, uid, gid, unmonitor
                } with the mail-format { subject: Alarm! }
        group server

# проверка процесса осуществляется по pid-файлу. Путь к pid-файлу всегда абсолютный
check process apache with pidfile /var/run/apache2.pid
        start program = "/etc/init.d/apache2 start"
        stop program  = "/etc/init.d/apache2 stop"
        if cpu &gt; 60% for 2 cycles then alert
# если вебсервер сожрал 80% процессрного времени и не отдает его пять циклов проверки подряд - рестартуем его
         if cpu &gt; 80% for 5 cycles then restart
# аналогично по суммарной памяти, которую он поглотил.
        if totalmem &gt; 500.0 MB for 5 cycles then restart
        if children &gt; 250 then restart
# если load average сервера за 5 минут больше 10 8 циклов подряд - вырубаем.
        if loadavg(5min) greater than 10 for 8 cycles then stop
# вот тут самое интересное - многоэтапная проверка:
# первый шаг - подключение на 80 порт, протокол http
        if failed host 127.0.0.1 port 80 protocol http
# если получилось - запрашиваем файл /index.html
                and request "/index.html"
                with timeout 15 seconds
# а если что-то из цепочки не получилось - рестартуем демон
                then restart
# проверка HTTP-SSL. Монит отдельно рассматривает SSL, и отдельно - защищаемый протокол.
# Для того, чтобы иметь возможность проводить такие проверки, нужно собрать monit с поддержкой SSL.
# Любители FreeBSD - будьте внимательны при сборке!
# По умолчанию он долежен собратся с поддержкой SSL, но если вы ее отключили - будет ошибка
        if failed port 443 type tcpssl protocol http
                and request "/test.html"
                with timeout 15 seconds
                then restart
# если за последние пять циклов проверки было три рестарта или больше - пропускаем один цикл проверки.
        if 3 restarts within 5 cycles then timeout
# проверку имеет смысл проводить только, если пройдена первая проверка (которая права доступа и проч).
# В противном случае все тесты безсмысленны.
        depends on apache_bin
        group server
</pre>
<p>OpenSSHD:
<pre>check process sshd with pidfile /var/run/sshd.pid
        start program "/etc/init.d/ssh start"
        stop program "/etc/init.d/ssh stop"
        if failed port 22 protocol ssh then restart
        if 5 restarts within 5 cycles then timeout
        group server
</pre>
<p>OpenVPN. Проверяем только наличие процесса:
<pre>check process openvpn with pidfile /var/run/openvpn.link1.pid
   group system
   start program = "/etc/init.d/openvpn start"
   stop  program = "/etc/init.d/openvpn stop"
   if 5 restarts within 5 cycles then timeout
</pre>
<p>PostgreSQL. Проверяем доступность через TCP-порт и сокет
<pre>check process postgres with pidfile /var/run/postgresql/main.pid
        group database
        start program = "/etc/init.d/postgresql start"
        stop  program = "/etc/init.d/postgresql stop"
        if failed unixsocket /var/run/postgresql/.s.PGSQL.5432 protocol pgsql then restart
        if failed host 127.0.0.1 port 5432 protocol pgsql then restart
        if 5 restarts within 5 cycles then timeout
	group database
</pre>
<p>Исчерпывающий список протоколов и вариантов проверки можно почерпнуть в <noindex><a href="http://mmonit.com/monit/documentation/monit.html" rel="nofollow">документации</a></noindex>. Правда, она на англ языке.<br /><strong>Веб-морда</strong><br />Как я уже писал во вступлении, у monit есть небольшая, но довольно полезная вебморда.<br />Пример настройки:
<pre># включить веб-интерфейс на определенный порт
set httpd port 10001 and
# включить SSL
        ssl enable
# где взять pem-файл. Нужен для ssl, подробно ниже
        pemfile /etc/monit/monit.pem
# на каком адресе (интерфейсе) слушать.
# если адрес не указать - слушать будет на всех
        use address 10.10.10.21
# разрешить доступ только с определенных адресов
# строго рекомендуется!
        allow 10.10.10.22/32
        allow 10.10.12.0/24
# разрешить доступ только знающим пароль.
# пароль, к сожалению, хранится в открытом виде
        allow senegami:aoLouch0aingahce
        allow logan:Jefae2Othaitae1S
</pre>
<p>Теперь о pem-файле. Веб-сервер monit довольно примитивный, и ему нужно иметь ssl сертификат, ключ от него и DH-файл в одном объекте. Собственно, он и называется pem-файлом. Готовится следующим образом. Сначала создадим шаблон для сертификата:
<pre> ----- BEGIN:monit.cnf -----
#  create RSA certs - Server

RANDFILE = ./openssl.rnd

[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type

[ req_dn ]
countryName = Country Name (2 letter code)
countryName_default = RU

stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = NorthWest

localityName= Locality Name (eg, city)
localityName_default= Saint Petersburg

organizationName= Organization Name (eg, company)
organizationName_default= AnyOne LLC

organizationalUnitName= Organizational Unit Name (eg, section)
organizationalUnitName_default= Net

commonName= Common Name (FQDN of your server)
commonName_default= ws1.zooclub.ru

emailAddress= Email Address
emailAddress_default= security@zooclub.ru

[ cert_type ]
nsCertType = server
----- END:monit.cnf -----
</pre>
<p>Разумеется, нужно поменять значения под необходимые конкретно вам<br />Затем соберем из шаблона сертификат:
<pre>openssl req -new -x509 -days 720 -nodes \
-config ./monit.cnf -out /etc/monit/monit.pem \
-keyout /var/certs/monit.pem

# Генерируем число Диффи-Хеллмана и прячем его в тот же файл
openssl gendh 512 &gt;&gt; /etc/monit/monit.pem

# проверяем читаемость сертификата
openssl x509 -subject -dates -fingerprint -noout -in /etc/monit/monit.pem

# Поскольку в файле лежит серкретный ключ сертификата - уменьшим права доступа
chmod 400 /etc/monit/monit.pem
</pre>
<p>После чего перезапускаем монит и любуемся <img src='http://danik.info/wp-includes/images/smilies/icon_smile.gif' alt="icon smile monit — наблюдатель за системными процессами" class='wp-smiley' title="monit — наблюдатель за системными процессами" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://danik.info/monit-nablyudatel-za-sistemnymi-processami/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор</title>
		<link>http://danik.info/20-sredstv-monitoringa-sistemy-linux-o-kotoryx-dolzhen-znat-kazhdyj-sistemnyj-administrator/</link>
		<comments>http://danik.info/20-sredstv-monitoringa-sistemy-linux-o-kotoryx-dolzhen-znat-kazhdyj-sistemnyj-administrator/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 08:11:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[администрирование]]></category>
		<category><![CDATA[инструменты]]></category>

		<guid isPermaLink="false">http://danik.info/20-sredstv-monitoringa-sistemy-linux-o-kotoryx-dolzhen-znat-kazhdyj-sistemnyj-administrator/</guid>
		<description><![CDATA[Вам нужно контролировать функциональные характеристики Linux-сервера? Попробуйте для этого описанные ниже встроенные команды и несколько дополнительных инструментальных средств. В большинстве дистрибутивов Linux есть масса средств мониторинга. Эти средства измеряют характеристики, которые можно использовать для получения информации об активности системы. Вы можете воспользоваться этим инструментарием для поиска причин возникновения проблемы с производительностью. Ниже перечислены лишь некоторые [...]]]></description>
			<content:encoded><![CDATA[<p>Вам нужно контролировать функциональные характеристики Linux-сервера? Попробуйте для этого описанные ниже встроенные команды и несколько дополнительных инструментальных средств. В большинстве дистрибутивов Linux есть масса средств мониторинга. Эти средства измеряют характеристики, которые можно использовать для получения информации об активности системы. Вы можете воспользоваться этим инструментарием для поиска причин возникновения проблемы с производительностью. Ниже перечислены лишь некоторые команды из большого числа тех, которые нужны при анализе системы и отладке сервера для поиска следующих проблем:
<ul>
<li>Узкие места общего характера  </li>
<li>Узкие места, связанные с диском (дисковой памятью)  </li>
<li>Узкие места, связанные с процессором и оперативной памятью  </li>
<li>Узкие места, связанные с сетью</li>
</ul>
<p><span id="more-212"></span><br />
<h4>№ 1: top – команда выдачи данных об активности процессов</h4>
<p>Программа top динамически выдает в режиме реального времени информации о работающей системе, т.е. о фактической активности процессов. По умолчанию она выдает задачи, наиболее загружающие процессор сервера, и обновляет список каждые пять секунд.  </p>
<p><a href="http://danik.info/wp-content/uploads/2009/10/WindowsLiveWriter20Linux_8F55top-output-269x300_2.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="WindowsLiveWriter20Linux 8F55top output 269x300 thumb 20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор" src="http://danik.info/wp-content/uploads/2009/10/WindowsLiveWriter20Linux_8F55top-output-269x300_thumb.png" width="269" height="300" title="20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор" /></a>  </p>
<p>Рис.1: Linux команда &#8211; top<br />
<h5>Наиболее часто используемые горячие клавиши</h5>
</p>
<p>При работе команды top можно воспользоваться следующими полезными горячими клавишами:  </p>
<p>Горячая клавиша &#8211; Использование  </p>
<p>t &#8211; Включение и выключение выдачи на экран суммарных данных.<br />m &#8211; Включение и выключение выдачи на экран информации об использовании памяти.<br />A &#8211; Сортировка строк по максимальному потреблению различных системных ресурсов. Полезна для быстрой идентификации задач, для которых в системе не хватает ресурсов.<br />f &#8211; Вход в меню интерактивного конфигурирования данных, выдаваемых на экран командой top. Полезна для настройки команды top для выполнения специфической задачи.<br />o &#8211; Позволяет вам интерактивно задавать порядок строк, выдаваемой командой top.<br />r &#8211; Изменение приоритета процессов с помощью команды renice.<br />k &#8211; Удаление процесса с помощью команды kill.<br />z &#8211; Переключение между цветным / монохромным вариантом выдачи изображения.  </p>
<p>Ссылки: <noindex><a href="http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html" rel="nofollow">Как определить загрузку процессора в Linux.</a></noindex></p>
<p>&nbsp;</p>
<h4>№ 2: vmstat – активность системы, информация о системе и аппаратных ресурсах</h4>
<p>Команда vmstat выдает информационный отчет о активности процессов, памяти, свопинга, поблочного ввода/вывода, прерываний и процессора.</p>
<pre># vmstat 3</pre>
<p>Пример вывода данных:</p>
<pre style="width: 86.51%; height: 129px">procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 2540988 522188 5130400    0    0     2    32    4    2  4  1 96  0  0
 1  0      0 2540988 522188 5130400    0    0     0   720 1199  665  1  0 99  0  0
 0  0      0 2540956 522188 5130400    0    0     0     0 1151 1569  4  1 95  0  0
 0  0      0 2540956 522188 5130500    0    0     0     6 1117  439  1  0 99  0  0
 0  0      0 2540940 522188 5130512    0    0     0   536 1189  932  1  0 98  0  0
 0  0      0 2538444 522188 5130588    0    0     0     0 1187 1417  4  1 96  0  0
 0  0      0 2490060 522188 5130640    0    0     0    18 1253 1123  5  1 94  0  0
</pre>
<p>Выдача статистики использования памяти</p>
<pre># vmstat -m</pre>
<p>Получение данных об активности / неактивности страниц памяти</p>
<pre># vmstat -a</pre>
<p>Ссылки: <noindex><a href="http://www.cyberciti.biz/tips/linux-resource-utilization-to-detect-system-bottlenecks.html" rel="nofollow">Как выявить узкие места в Линукс-системе, исследуя использование ресурсов?</a></noindex></p>
<p>&nbsp;</p>
<h4>№ 3: w – определяем, кто зарегистрирован и что они делают</h4>
<p>Команда w выдает информацию о том, какие пользователи сейчас находятся в системе и какие процессы запущены от их имени.</p>
<pre># w username
# w vivek
</pre>
<p>Пример вывода данных:</p>
<pre> 17:58:47 up 5 days, 20:28,  2 users,  load average: 0.36, 0.26, 0.24
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.1.3.145       14:55    5.00s  0.04s  0.02s vim /etc/resolv.conf
root     pts/1    10.1.3.145       17:43    0.00s  0.03s  0.00s w</pre>
<h4>№ 4: uptime – сообщает, как долго работает система</h4>
<p>Команду uptime можно использовать с тем, чтобы определить, как долго работает сервер. Выдаются: текущее время, сколько времени работает система, сколько в текущий момент зарегистрировано пользователей и какова средняя нагрузка на систему в последние 1, 5 и 15 минут.</p>
<pre># uptime</pre>
<p>Выдаются данные:</p>
<pre> 18:02:41 up 41 days, 23:42,  1 user,  load average: 0.00, 0.00, 0.00</pre>
<p>1 можно рассматриваться как оптимальное значение нагрузки. Нагрузка может меняться от системы к системе. Для системы с одним процессором приемлемым может считаться значение от 1 до 3, для мультипроцессорных систем – от 6 до 10. </p>
<h4>№ 5: ps – список процессов</h4>
</p>
<p>Команда ps выдаст краткий список текущих процессов. Для того, чтобы выбрать все процессы, используете параметр -A или –e:</p>
<pre># ps -A</pre>
<p>Пример вывода данных:</p>
<pre>  PID TTY          TIME CMD
    1 ?        00:00:02 init
    2 ?        00:00:02 migration/0
    3 ?        00:00:01 ksoftirqd/0
    4 ?        00:00:00 watchdog/0
    5 ?        00:00:00 migration/1
    6 ?        00:00:15 ksoftirqd/1
....
.....
 4881 ?        00:53:28 java
 4885 tty1     00:00:00 mingetty
 4886 tty2     00:00:00 mingetty
 4887 tty3     00:00:00 mingetty
 4888 tty4     00:00:00 mingetty
 4891 tty5     00:00:00 mingetty
 4892 tty6     00:00:00 mingetty
 4893 ttyS1    00:00:00 agetty
12853 ?        00:00:00 cifsoplockd
12854 ?        00:00:00 cifsdnotifyd
14231 ?        00:10:34 lighttpd
14232 ?        00:00:00 php-cgi
54981 pts/0    00:00:00 vim
55465 ?        00:00:00 php-cgi
55546 ?        00:00:00 bind9-snmp-stat
55704 pts/1    00:00:00 ps
</pre>
<p>Команда ps подобна команде top, но выдает больше информации. </p>
<h5>Показать больше данных</h5>
<pre># ps -Al</pre>
</p>
<p>Для того, чтобы включить режим максимальной выдачи данных (будут показаны аргументы командной строки, переданные в процесс):</p>
<pre># ps -AlF</pre>
<h5>Показать потоки (LWP и NLWP)</h5>
<pre># ps -AlFH</pre>
<h5>Показать потоки после процессов</h5>
<pre># ps -AlLm</pre>
<h5>Выдать список всех процессов на сервере</h5>
<pre># ps ax
# ps axu
</pre>
<h5>Выдать дерево процессов</h5>
<pre># ps -ejH
# ps axjf
# pstree
</pre>
<h5>Выдать информацию о параметрах безопасности</h5>
<pre># ps -eo euser,ruser,suser,fuser,f,comm,label
# ps axZ
# ps -eM
</pre>
<h5>Показать каждый процесс для пользователя Vivek</h5>
<pre># ps -U vivek -u vivek u</pre>
<h5>Настроить выдачу данных в формате, определенном пользователем</h5>
<pre># ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
# ps -eopid,tt,user,fname,tmout,f,wchan
</pre>
<h5>Показывать ID процессов, запущенных под Lighttpd</h5>
<pre># ps -C lighttpd -o pid=</pre>
<p>или</p>
<pre># pgrep lighttpd</pre>
<p>или</p>
<pre># pgrep -u vivek php-cgi</pre>
<h5>Показать имя для PID 55977</h5>
<pre># ps -p 55977 -o comm=</pre>
<h5>Выдать 10 процессов, потребляющих наибольшее количество памяти</h5>
<pre># ps -auxf | sort -nr -k 4 | head -10</pre>
<h5>Выдать 10 процессов, потребляющих наибольший ресурс процессора</h5>
<pre># ps -auxf | sort -nr -k 3 | head -10</pre>
<h4>№ 6: free – использование памяти</h4>
<p>Команда free показывает общее количество свободной и используемой системой физической памяти и памяти свопинга, а также размеры буферов, используемые ядром.</p>
<pre># free </pre>
<p>Пример вывода данных:</p>
<pre>            total       used       free     shared    buffers     cached
Mem:      12302896    9739664    2563232          0     523124    5154740
-/+ buffers/cache:    4061800    8241096
Swap:      1052248          0    1052248
</pre>
<p>Ссылки: </p>
<ul>
<li><noindex><a href="http://www.cyberciti.biz/faq/linux-check-the-size-of-pagesize/" rel="nofollow">Как в Linux узнать размер страниц виртуальной памяти</a></noindex>
</li>
<li><noindex><a href="http://www.cyberciti.biz/faq/cpu-usage-limiter-for-linux/" rel="nofollow">Как в Linux ограничить ресурс процессора, используемый в каждом процессе</a></noindex>
</li>
<li><noindex><a href="http://www.cyberciti.biz/tips/how-much-ram-does-my-linux-system.html" rel="nofollow">Сколько оперативной памяти в моем настольном компьютере, работающем под Ubuntu / Fedora Linux</a></noindex></li>
</ul>
<h4>№ 7: : iostat – средняя загрузка процессора, активность дисков</h4>
</p>
<p>Команда iostat выдает статистику использования процессора, а также статистику ввода/вывода для устройств, разделов и сетевых файловых систем (NFS).</p>
<pre># iostat </pre>
<p>Пример вывода данных:</p>
<pre>Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 	06/26/2009

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.50    0.09    0.51    0.03    0.00   95.86

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              22.04        31.88       512.03   16193351  260102868
sda1              0.00         0.00         0.00       2166        180
sda2             22.04        31.87       512.03   16189010  260102688
sda3              0.00         0.00         0.00       1615          0
</pre>
<p>Ссылки: <noindex><a href="http://www.cyberciti.biz/faq/howto-linux-track-nfs-client-disk-metrics/" rel="nofollow">Как в Linux получить статистику ввода/выводе для NFS-каталога или диска</a></noindex> </p>
<h4>№ 8: sar – сбор и выдача данных о системной активности</h4>
</p>
<p>Команда sar используется для сбора информации о системной активности и выдачи ее в виде отчета или ее сохранения. Чтобы увидеть значение считчика сетевой активности, введите:</p>
<pre># sar -n DEV | more</pre>
<p>Для того, чтобы увидеть значения счетчиков сетевой активности, начиная с 24-го:</p>
<pre># sar -n DEV -f /var/log/sa/sa24 | more</pre>
<p>С помощью команды sar Вы можете также выдавать данные в режиме реального времени:</p>
<pre># sar 4 5</pre>
<p>Пример вывода данных:</p>
<pre>Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 		06/26/2009

06:45:12 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
06:45:16 PM       all      2.00      0.00      0.22      0.00      0.00     97.78
06:45:20 PM       all      2.07      0.00      0.38      0.03      0.00     97.52
06:45:24 PM       all      0.94      0.00      0.28      0.00      0.00     98.78
06:45:28 PM       all      1.56      0.00      0.22      0.00      0.00     98.22
06:45:32 PM       all      3.53      0.00      0.25      0.03      0.00     96.19
Average:          all      2.02      0.00      0.27      0.01      0.00     97.70
</pre>
<p>Ссылки: <noindex><a href="http://www.cyberciti.biz/tips/howto-write-system-utilization-data-to-file.html" rel="nofollow">Как собрать в файл информацию об использовании ресурсов в системе Linux</a></noindex> </p>
<h4>№ 9: mpstat – использование мультипроцессора</h4>
</p>
<p>Команда mpstat выводит данные об активности каждого имеющегося в наличие процессора, процессор 0 будет первым. Команда mpstat -P ALL выводит данные о среднем использовании ресурсов для каждого из процессоров:</p>
<pre># mpstat -P ALL</pre>
<p>Пример вывода данных:</p>
<pre>Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in)	 	06/26/2009

06:48:11 PM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
06:48:11 PM  all    3.50    0.09    0.34    0.03    0.01    0.17    0.00   95.86   1218.04
06:48:11 PM    0    3.44    0.08    0.31    0.02    0.00    0.12    0.00   96.04   1000.31
06:48:11 PM    1    3.10    0.08    0.32    0.09    0.02    0.11    0.00   96.28     34.93
06:48:11 PM    2    4.16    0.11    0.36    0.02    0.00    0.11    0.00   95.25      0.00
06:48:11 PM    3    3.77    0.11    0.38    0.03    0.01    0.24    0.00   95.46     44.80
06:48:11 PM    4    2.96    0.07    0.29    0.04    0.02    0.10    0.00   96.52     25.91
06:48:11 PM    5    3.26    0.08    0.28    0.03    0.01    0.10    0.00   96.23     14.98
06:48:11 PM    6    4.00    0.10    0.34    0.01    0.00    0.13    0.00   95.42      3.75
06:48:11 PM    7    3.30    0.11    0.39    0.03    0.01    0.46    0.00   95.69     76.89
</pre>
<p>Ссылки: <noindex><a href="http://www.cyberciti.biz/faq/linux-mpstat-command-report-processors-related-statistics/" rel="nofollow">Получение данных об использовании индивидуально каждого процессора в мультипроцессорной Linux-системе.</a></noindex> </p>
<h4>№ 10: pmap – использование процессами оперативной памяти</h4>
</p>
<p>Команда pmap выдает данные о распределении памяти между процессами. Использование этой команды позволит найти причину узких мест, связанных с использованием памяти.</p>
<pre># pmap -d PID</pre>
<p>Для того, чтобы получить информацию об использовании памяти процессом с pid # 47394, введите:</p>
<pre># pmap -d 47394</pre>
<p>Пример вывода данных:</p>
<pre>47394:   /usr/bin/php-cgi
Address           Kbytes Mode  Offset           Device    Mapping
0000000000400000    2584 r-x-- 0000000000000000 008:00002 php-cgi
0000000000886000     140 rw--- 0000000000286000 008:00002 php-cgi
00000000008a9000      52 rw--- 00000000008a9000 000:00000   [ anon ]
0000000000aa8000      76 rw--- 00000000002a8000 008:00002 php-cgi
000000000f678000    1980 rw--- 000000000f678000 000:00000   [ anon ]
000000314a600000     112 r-x-- 0000000000000000 008:00002 ld-2.5.so
000000314a81b000       4 r---- 000000000001b000 008:00002 ld-2.5.so
000000314a81c000       4 rw--- 000000000001c000 008:00002 ld-2.5.so
000000314aa00000    1328 r-x-- 0000000000000000 008:00002 libc-2.5.so
000000314ab4c000    2048 ----- 000000000014c000 008:00002 libc-2.5.so
.....
......
..
00002af8d48fd000       4 rw--- 0000000000006000 008:00002 xsl.so
00002af8d490c000      40 r-x-- 0000000000000000 008:00002 libnss_files-2.5.so
00002af8d4916000    2044 ----- 000000000000a000 008:00002 libnss_files-2.5.so
00002af8d4b15000       4 r---- 0000000000009000 008:00002 libnss_files-2.5.so
00002af8d4b16000       4 rw--- 000000000000a000 008:00002 libnss_files-2.5.so
00002af8d4b17000  768000 rw-s- 0000000000000000 000:00009 zero (deleted)
00007fffc95fe000      84 rw--- 00007ffffffea000 000:00000   [ stack ]
ffffffffff600000    8192 ----- 0000000000000000 000:00000   [ anon ]
mapped: 933712K    writeable/private: 4304K    shared: 768000K
</pre>
<p>Последняя строка очень важна: </p>
<ul>
<li><strong>mapped: 933712K</strong> общее количество памяти, отведенного под файлы
</li>
<li><strong>writeable/private: 4304K</strong> общее количество приватного адресного пространства
</li>
<li><strong>shared: 768000K</strong> общее количество адресного пространства, которое данный процесс использует совместно другими процессами.</li>
</ul>
<p>Ссылки: <noindex><a href="http://www.cyberciti.biz/tips/howto-find-memory-used-by-program.html" rel="nofollow">Использование команды pmap для определения распределения памяти по программам / процессам в Linux</a></noindex> </p>
<h4>№ 11 и № 12: netstat и ss – сетевая статистика</h4>
</p>
<p>Команда netstat выдает информацию о сетевых соединениях, таблицах маршрутизации, статистике по интерфейсам, маскарадинге соединений и многоадресных рассылках. Команда ss используется для выдачи в дамп статистики о сокетах. Она позволяет выдавать информацию, аналогичную выдаваемой командой netstat. Подробное описание команд ss и netstat смотрите по следующим ссылкам: </p>
<ul>
<li><noindex><a href="http://www.cyberciti.biz/tips/linux-investigate-sockets-network-connections.html" rel="nofollow">ss: Выдача информации о сокетах и сетевых соединениях TCP / UDP</a></noindex>
</li>
<li><noindex><a href="http://www.cyberciti.biz/tips/netstat-command-tutorial-examples.html">Получение подробной информации о подключениях к конкретным IP адресам с помощью команды netstat</a></noindex></li>
</ul>
<h4>№13: iptraf – сетевая статистика в режиме реального времени</h4>
</p>
<p>Команда iptraf запускает цветной интерактивный монитор, следящий за сетевыми IP. Этот монитор сетевых IP базируется на команде ncurses, которая выдает различную сетевую статистику, в том числе информацию о TCP, ведет подсчет UDP, выдает сведения о ICMP и OSPF, информацию о нагрузке на Ethernet, статистику по узлам сети, данные об ошибках контрольных сумм пакетов IP и многое другое. Монитор предоставляет в удобном для чтения виде следующие данные: </p>
<ul>
<li>Статистику сетевого трафика по TCP подключениям
</li>
<li>Статистику IP трафика по сетевым интерфейсам
</li>
<li>Статистику сетевого трафика по протоколам
</li>
<li>Статистику сетевого трафика по портам TCP/UDP и по размерам пакетов
</li>
<li>Статистику сетевого трафика по адресам протоколов второго уровня</li>
</ul>
<p><a href="http://danik.info/wp-content/uploads/2009/10/WindowsLiveWriter20Linux_8F55iptraf3_2.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="WindowsLiveWriter20Linux 8F55iptraf3 thumb 20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор" src="http://danik.info/wp-content/uploads/2009/10/WindowsLiveWriter20Linux_8F55iptraf3_thumb.png" width="600" height="347" title="20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор" /></a> </p>
<p>Рис.02; Общая статистика по интерфейсам: статистика трафика IP по сетевым интерфейсам</p>
<p>&nbsp;</p>
<p><a href="http://danik.info/wp-content/uploads/2009/10/WindowsLiveWriter20Linux_8F55iptraf2_2.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="WindowsLiveWriter20Linux 8F55iptraf2 thumb 20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор" src="http://danik.info/wp-content/uploads/2009/10/WindowsLiveWriter20Linux_8F55iptraf2_thumb.png" width="600" height="416" title="20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор" /></a> </p>
<p>Рис.03: Статистика сетевого трафика по TCP подключениям </p>
<h4>№14: tcpdump – детальный анализ сетевого трафика</h4>
</p>
<p>Команда tcpdump – простая команда, выдающая дамп сетевого трафика. Однако, вам нужно хорошо понимать протоколы TCP/IP для того, чтобы использовать это средство. Например, для того, чтобы показать информацию о трафике DNS, введите следующее:</p>
<pre># tcpdump -i eth1 'udp port 53'</pre>
<p>Для того, чтобы показать все IPv4 HTTP пакеты, идущие на порт и с порта 80, т.е. выдать только те пакеты, которые содержат данные, и, например, не учитывать пакеты SYN и FIN и пакеты ACK-only, введите следующее:</p>
<pre># tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&amp;0xf)&lt;2)) - ((tcp[12]&amp;0xf0)&gt;&gt;2)) != 0)'</pre>
<p>Для того, чтобы показать все сессии FTP для адреса 202.54.1.5, введите следующее:</p>
<pre># tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20'</pre>
<p>Для того, чтобы показать все сессии HTTP для адреса 192.168.1.5, введите следующее:</p>
<pre># tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'</pre>
<p>Введите следующую команду и используйте для просмотра подробностей программу анализа <noindex><a href="http://www.cyberciti.biz/faq/linux-unix-bsd-apache-tcpdump-http-packets-sniffing/" rel="nofollow">wireshark</a></noindex>:</p>
<pre># tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80</pre>
<h4>№ 15: strace – системные вызовы</h4>
<p>Трассировка системных вызовов и сигналов. Это средство полезно для отладки веб сервера и решения других серверных проблем. О том, как использовать это средство и для чего нужна трассировка процессов, смотрите по ссылке <noindex><a href="http://www.cyberciti.biz/tips/linux-strace-command-examples.html" rel="nofollow">strace</a></noindex>. </p>
<h4>№ 16: Директорий /Proc – различная статистика ядра</h4>
</p>
<p>В директории /proc имеется подробная информация о различных устройствах и ядре Linux. Подробности смотрите в <noindex><a href="http://www.cyberciti.biz/files/linux-kernel/Documentation/filesystems/proc.txt" rel="nofollow">документации Linux kernel /proc</a></noindex>. Самые общие примеры:</p>
<pre># cat /proc/cpuinfo
# cat /proc/meminfo
# cat /proc/zoneinfo
# cat /proc/mounts
</pre>
<h4>№ 17: Nagios – мониторинг сервера и сети</h4>
<p><noindex><a href="http://www.nagios.org/" rel="nofollow">Nagios</a></noindex> – популярное open source приложение, предназначенное для мониторинга компьютерных систем и сетей. Вы можете легко следить за всеми своими хостами, сетевым оборудованием и сервисами. Приложение может посылать предупреждающее сообщение, когда что-то идет не так, как надо, а затем – еще одно, когда ситуация исправляется. Имеется приложение <noindex><a href="http://fannagioscd.sourceforge.net/drupal/" rel="nofollow">FAN</a></noindex> &#8211; &#8220;Fully Automated Nagios&#8221; (&#8220;Полностью автоматизированный Nagios&#8221;). Назначение FAN – обеспечить установку Nagios, в том числе и инструментария, предоставляемого сообществом Nagios. FAN распространяется в виде CD образа в стандартном формате ISO, что упрощает установку сервера Nagios. Вдобавок на дистрибутиве имеется масса инструментальных средств, повышающих практическую отдачу от использования Nagios. </p>
<h4>№ 18: Cacti – инструментальное веб приложение, используемое для мониторинга</h4>
</p>
<p>Пакет Cacti является полностью сетевым графическим решением, созданным для добавления графической оболочки к мощному средству хранения данных RRDTool. В пакете Cacti уже &#8220;из коробки&#8221; имеются средства быстрой регистрации, графические шаблоны с расширенными возможностями, множество методов для сбора данных и пользовательские функции управления. Все это помещено в интуитивно понятный и удобный для использования интерфейс, что имеет смысл при установке в локальных сетях вплоть до сложных сетей с сотнями устройств. Пакет предоставляет данные о сети, процессоре, памяти, зарегистрированных пользователях, серверах Apache, DNS и многое другое. По следующей ссылке смотрите описание, <noindex><a href="http://www.cyberciti.biz/faq/fedora-rhel-install-cacti-monitoring-rrd-software/" rel="nofollow">как под CentOS / RHEL установить и сконфигурировать сетевое графическое средство Cacti</a></noindex>. </p>
<h4>№ 19: KDE System Guard – графический монитор, выдающий сведения о системе в режиме реального времени</h4>
</p>
<p>KSysguard – сетевое приложение для KDE, осуществляющее мониторинг системы и задач. Это средство может работать в ssh сессии. В нем имеется масса возможностей, например, такие, как клиент/серверные технологии, что позволяет осуществлять мониторинг локальных и удаленных хостов. В графической оболочке используются так называемые сенсоры, которые собирают информацию, выдаваемую приложением. Сенсор может возвращать либо простое значение, либо более сложно сформированные данные, например, таблицы. Для каждого вида данных предлагается один или несколько вариантов выдачи данных. Изображаемые данные сгруппированы в виде отдельных листов, которые можно сохранять и загружать независимо друг от друга. Таким образом, KSysguard не только менеджер простых задач, но также и мощное средство для управления большим серверным хозяйством.
</p>
<p>&nbsp;</p>
<p><a href="http://danik.info/wp-content/uploads/2009/10/WindowsLiveWriter20Linux_8F55kde-systemguard-screenshot_2.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="WindowsLiveWriter20Linux 8F55kde systemguard screenshot thumb 20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор" src="http://danik.info/wp-content/uploads/2009/10/WindowsLiveWriter20Linux_8F55kde-systemguard-screenshot_thumb.png" width="600" height="462" title="20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор" /></a> </p>
<p>Рис.05: KDE System Guard (рисунок взят из Википедии)
</p>
<p>Подробности использования смотрите по следующей ссылке: <noindex><a href="http://docs.kde.org/stable/en/kdebase-workspace/ksysguard/index.html" rel="nofollow">Руководство по KSysguard</a></noindex>. </p>
<h4>№ 20: Gnome System Monitor – графическое средство выдачи информации о системе в режиме реального времени</h4>
</p>
<p>Приложение System Monitor позволит вам получить базовую информацию о системе, а также следить за системными процессами, использованием системных ресурсов и системными файлами. Вы также можете использовать System Monitor для изменения характеристик своей системы. Хотя это не такое мощное приложение, как System Guard для KDE, оно предоставляет основную информацию, которая может быть полезной для пользователей – новичков: </p>
<ul>
<li>Отображается различная основная информация об аппаратном и программном обеспечении компьютера
</li>
<li>Версия ядра Linux
</li>
<li>Версия GNOME
</li>
<li>Аппаратные средства
</li>
<li>Установленная оперативная память
</li>
<li>Процессоры и их скорость
</li>
<li>Статус системы
</li>
<li>Имеющееся в наличии дисковое пространство
</li>
<li>Процессы
</li>
<li>Память и пространство своппинга
</li>
<li>Использование сети
</li>
<li>Файловые системы
</li>
<li>Список всех смонтированных файловых систем вместе с основной информацией о каждой из них</li>
</ul>
<p><a href="http://danik.info/wp-content/uploads/2009/10/WindowsLiveWriter20Linux_8F55gnome-system-monitor_2.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="WindowsLiveWriter20Linux 8F55gnome system monitor thumb 20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор" src="http://danik.info/wp-content/uploads/2009/10/WindowsLiveWriter20Linux_8F55gnome-system-monitor_thumb.png" width="600" height="451" title="20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор" /></a> </p>
<p>Рис.6: Приложение Gnome System Monitor </p>
<h4>Бонус: Дополнительные инструментальные средства</h4>
</p>
<p>И еще несколько инструментальных средств: </p>
<ul>
<li><noindex><a href="http://www.cyberciti.biz/tips/linux-scanning-network-for-open-ports.html" rel="nofollow">nmap</a></noindex> &#8211; сканирует ваш сервер на предмет открытых портов..
</li>
<li><noindex><a href="http://www.cyberciti.biz/tips/tag/lsof-command" rel="nofollow">lsof</a></noindex> &#8211; перечисляет открытые файлы, сетевые соединения и еще многое.
</li>
<li><noindex><a href="http://rus-linux.net/Debian / Ubuntu Linux Install ntop To See Network Usage / Network Status" rel="nofollow">ntop</a></noindex> &#8211; инструментальное веб средство ntop является наилучшим средством, следящим за использованием сети, причем это делается точно так, как с помощью команды top просматриваются процессы, т.е. это программное обеспечение мониторинга сетевого трафика. Вы можете следить за состоянием сети и распределением трафика по различным протоколам, таким как UDP, TCP, DNS, HTTP и другим.
</li>
<li><noindex><a href="http://conky.sourceforge.net/" rel="nofollow">Conky</a></noindex> &#8211; Еще одно хорошее средство мониторинга, предназначенное для использования в X Window. Оно хорошо конфигурируемое и позволяет следить за многими системными переменными, в том числе состоянием процессора, памяти, пространства свопинга, дисковыми носителями, температурой, процессами, сетевыми интерфейсами, зарядом батареи, системными сообщениями, поступающими письмами и т.д.
</li>
<li><noindex><a href="http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html" rel="nofollow">GKrellM</a></noindex> &#8211; Может использоваться для мониторинга состояния процессоров, оперативной памяти, жестких дисков, сетевыми интерфейсами, локальными и удаленными почтовыми ящиками и многими другими вещами.
</li>
<li><noindex><a href="http://www.cyberciti.biz/tips/keeping-a-log-of-daily-network-traffic-for-adsl-or-dedicated-remote-linux-box.html" rel="nofollow">vnstat</a></noindex> &#8211; vnStat является консольным монитором сетевого трафика. Она позволяет для выбранных интерфейсов вести журнал сетевого трафика в течение часов, дней и месяцев.
</li>
<li><noindex><a href="http://htop.sourceforge.net/" rel="nofollow">htop</a></noindex> &#8211; улучшенная версия интерактивного просмотрщика процессов top. htop позволяет просматривать процессы в виде дерева процессов.
</li>
<li><noindex><a href="http://www.cyberciti.biz/tips/finding-out-a-bad-or-simply-overloaded-network-link-with-linuxunix-oses.html" rel="nofollow">mtr</a></noindex> &#8211; mtr объединяет в одной сетевой инструментальной программе функциональность программ traceroute и ping.</li>
</ul>
<p>Не упустил ли я чего-либо? Пожалуйста, добавьте в комментариях свои любимые средства мониторинга системы. </p>
<h4>Комментарии</h4>
</p>
<p><i>Приведены выборочно только те, в которых сообщается об инструментальных программах, не указанных в основном списке – прим.пер.</i>
</p>
<p><b>№ 3, Chris:</b> … для систем с небольшим количеством машин я рекомендую использовать <noindex><a href="http://munin.projects.linpro.no/" rel="nofollow">Munin</a></noindex>. Его легко устанавливать и конфигурировать. Мое любимое средство мониторинга linux кластера &#8211; <noindex><a href="http://ganglia.info/" rel="nofollow">Ganglia</a></noindex>.
</p>
<p><b>№ 4, Ftaurino:</b> Еще один полезный инструмент &#8211; <noindex><a href="http://dag.wieers.com/home-made/dstat/" rel="nofollow">dstat</a></noindex> , который выдает столько же данных, как вместе взятые vmstat, iostat, ifstat и netstat, и даже больше…
</p>
<p><b>№ 10, Amr El-Sharnoby:</b> Я убедился, что самое лучшее средство для отслеживания узких мест, связанных с процессами, процессором, памятью и жесткими дисками, причем все в одном, – это atop… Но само средство может вызвать массу проблем на сильно загруженных серверах, поскольку учет процессов идет непрерывно и сервис работает постоянно…
</p>
<p>Для того, чтобы в системах RHEL, CentOS использовать это средство эффективно, выполните следующее:<br />1 &#8211; подключите rpmforge repo,<br />2 &#8211; установите atop с помощью # yum<br />3 – уничтожьте процесс с помощью # killall atop,<br />4 – отключите atop с помощью # chkconfig,<br />5 – удалите rf /tmp/atop.d/ и /var/log/atop/,<br />6 – после это не запускайте его с помощью команды &#8220;atop&#8221;, вместо этого используйте команду #ATOPACCT=&#8221;atop&#8221;.
</p>
<p>Этот инструмент сэкономил мне сотни часов времени, помог найти узкие места и решить связанные с ними проблемы …
</p>
<p><b>№ 14, Cristiano:</b> … хотелось бы добавить IFTOP, это действительно простое и не требующее значительных ресурсов средство, оно очень полезно, когда Вы хотите узнать, откуда был последний доступ к серверу и куда идет трафик…
</p>
<p><b>№ 21, Ponzu:</b> vi – инструметальное средство (хорошо известный мощный текстовый редактор &#8211; прим. пер.), используемое для проверки и модификации практически любого конфигурационного файла.
</p>
<p><b>№ 22, Eric Schulman:</b> … стоит упомянуть о dtrace, которое пригодится требовательным хакерам, желающим больше узнать об операционной системе и о внутренней структуре ее программ…
</p>
<p><b>№ 25, Adrian Fita:</b> … мне бы хотелось добавить iotop, отслеживающий использование диска различными процессами, и jnettop – очень простое средство, отслеживающее разделение ширины сетевого канала между различными подключениями в системе Linux …
</p>
<p><b>№ 27, Praveen K:</b> … я бы добавил команды whoami ,who am i, finger, pinky , id …
</p>
<p><b>№ 29, Mathieu Desnoyers:</b> … еще инструмент который, как мне кажется, пропущен в этом списке, &#8211; это LTTng. Это общесистемное средство трассировки, которое поможет разобраться со сложными проблемами, возникающими в многопоточных многопроцессорных приложениях, многократно обращающихся к ядру. Проект доступен по ссылке <noindex><a href="http://www.lttng.org" rel="nofollow">http://www.lttng.org</a></noindex>. Трасировщик входит в состав последних версий дистрибутивов SuSE, WindRiver, Monta Vista и STLinux. Стандартный способ его использования – установить пропатченное ядро. Оно идет вместе с анализатором трассировок LTTV, который является прекрасным средством слежения за поведением системы…
</p>
<p><b>№ 33, Kburger:</b> … если Вы обсуждаете веб сервер, то прекрасное средство следить за активностью сервера Apache &#8211; apachetop
</p>
<p><b>№ 34, Ram:</b> … Вы забыли самое важное &#8211; net-snmpd. С его помощью Вы можете собрать сырые данные. Затем с помощью snmpwalk и скриптов Вы можете сделать свой собственный веб NMS, который будет собирать обычные данные, такие как прохождение пингов, использование дискового пространства, падение сервисов…
</p>
<p><b>№ 35, Kartik Mistry:</b> …&#8221;iotop&#8221; – прекрасное средство, которое следовало бы включить в список. Я очень часто использую &#8220;vnstat&#8221; для отслеживания закачек данных …
</p>
<p><b>№ 37, Feilong:</b> … обратите внимание на очень мощное средство, называемое nmon. Я использую его в системе AIX IBM, но сейчас оно работает на всех современных системах GNU/linux…
</p>
<p><b>№ 40, Ken McDonell:</b> …Если ваша &#8220;система &#8221; большая и / или распределенная и вопросы производительности, которыми Вы занимаетесь, сложные, вам желательно использовать Performance Co-Pilot (PCP). В нем Вы получите все данных, которые можно получить с помощью упомянутых вами инструментальных средств (и даже больше), его можно расширить добавляя новые приложения и слои сервисов, он работает по сети, пригоден для оценки кластеров и выдает как информацию в режиме реального времени, так и выполняет ретроспективный анализ. Смотрите <noindex><a href="http://www.oss.sgi.com/projects/pcp" rel="nofollow">http://www.oss.sgi.com/projects/pcp</a></noindex> . PCP входит в состав дистрибутивов на основе Debian и в дистрибутив SUSE; вероятнее всего в ближайшем будущем он появится в дистрибутивах RH. В качестве бонуса PCP может выполнять мониторинг платформ не на базе Linux (Windows и некоторые производные от систем Unix).
</p>
<p><b>№ 45. Aleksey Tsalolikhin:</b> … я бы еще упомянул &#8220;ngrep&#8221; – сетевой (network) grep…
</p>
<p><b>№ 48, Komradebob:</b> …удивлен, что среди предложений не обнаружил следующий инструментарий: bmon – отображает / отслеживает в режиме реального времени сетевую активность / ширину пропускания канала; etherape – отличный визуальный индикатор, показывающий сетевой трафик; wireshark – tcpdump на стероидах; multitail – отслеживание в одном терминальном окне состояния многих файлов; swatch – отслеживает состояние регистрационных файлов и выдает оповещения.
</p>
<p><b>№ 50, Jay:</b> … phpsysinfo – еще один прекрасный и не требующий много ресурсов веб инструмент, осуществляющий мониторинг. Очень прост в настройке и использовании …
</p>
<p><b>№ 51, Manuel Fraga:</b> Osmius &#8211; инструментальное средство мониторинга (open source) &#8211; C++ и Java. С невероятной производительностью мониторит все, что подключается к сети …
</p>
<p><b>№ 55, Balaji:</b> … trafmon – еще одно полезное средство …
</p>
<p><b>№ 56, Stefan:</b> А для тех, кому нравятся несложные и компактные графические средства измерения, &#8211; xosview +disk -ints –bat
</p>
<p><b>№ 63, Tman:</b> Для профессионального мониторинга сетей используйте Zenoss: Zenoss Core (open source): <a href="http://www.zenoss.com/product/network-monitoring">http://www.zenoss.com/product/network-monitoring</a>
</p>
<p><b>№ 65, Eddy:</b> Я не вижу в списке ifconfig или iwconfig
</p>
<p><b>№ 66, Kestev:</b> openNMS</p>
]]></content:encoded>
			<wfw:commentRss>http://danik.info/20-sredstv-monitoringa-sistemy-linux-o-kotoryx-dolzhen-znat-kazhdyj-sistemnyj-administrator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Dude – лучший бесплатный мониторинг сети</title>
		<link>http://danik.info/the-dude-%e2%80%93-luchshij-besplatnyj-monitoring-seti/</link>
		<comments>http://danik.info/the-dude-%e2%80%93-luchshij-besplatnyj-monitoring-seti/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 06:59:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[snmp]]></category>
		<category><![CDATA[soft]]></category>

		<guid isPermaLink="false">http://danik.info/?p=109</guid>
		<description><![CDATA[Нашел в сети небольшой обзор программы The Dude от Mikrotik Взять ее можно тут http://mikrotik.com Далее сам обзор: Не так давно мне подвернулась бесплатная программа The Dude отMikrotik и я серьёзно ей занялся. Я не сказал бы, что в восторге от программы, но поскольку я потратил на неё довольно много времени и нашёл множество интересных [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-111" title="dude" src="http://danik.info/wp-content/uploads/2009/10/dude.jpg" alt="dude The Dude – лучший бесплатный мониторинг сети" width="200" height="169" /></p>
<p>Нашел в сети небольшой обзор программы The Dude от Mikrotik</p>
<p>Взять ее можно тут http://mikrotik.com</p>
<p>Далее сам обзор:<span id="more-109"></span></p>
<p>Не так давно мне подвернулась бесплатная программа The Dude отMikrotik и я серьёзно ей занялся.</p>
<p>Я не сказал бы, что в восторге от программы, но поскольку я потратил на неё довольно много времени и нашёл множество интересных моментов, решил написать обзор о её возможностях. Тем более что на русском языке я не нашёл такой информации.</p>
<p>Инсталляция программы проходит без проблем. Программа изначально сделана для Windows, хотя в документации написано, что программа может нормально устанавливаться и работать на Linux под wine.</p>
<p>Интерфейс программы довольно дружелюбный, имеется русификация. После первого запуска программы предлагается просканировать сеть. За пару минут вся моя сеть была как на ладони, все включенные на момент сканирования устройства были обнаружены и нанесены на карту.</p>
<p>По-умолчанию вновь найденные объекты раскладываются в виде таблицы. У каждого устройства также создаётся связь с сетью. Должен сказать, что программа весьма требовательна к ресурсам, по крайней мере при отрисовке карты с полутора сотнями устройств и связями мой компьютер серьёзно подвисал, a буфер сокета TCP периодически оказывался переполнен. Поэтому я оставил на карте только наиболее важные для меня узлы.</p>
<p>Получилась такая карта:</p>
<p><img style="border: 0px initial initial;" title="dude-screen" src="http://danik.info/wp-content/uploads/2009/10/dude-screen-300x227.png" alt="dude screen 300x227 The Dude – лучший бесплатный мониторинг сети" width="300" height="227" /></p>
<p>Для каждого устройства на карте можно назначить свои инструменты, доступные в контекстном меню. Например можно добавить вызов putty.</p>
<p>Во время сканирования каждое устройство обследуется на наличие типовых сервисов. Эти типовые сервисы можно дополнять своими, главное знать номер TCP-порта. Например, я добавил mysql, postgresql, squid, 1c-сервер, vnc0.</p>
<p>Программа периодически проверяет доступность найденных сервисов. Устройства, на карте отображаются разными цветами в зависимости от рабочего состояния:</p>
<p>- Красный &#8211; устройства, на которых недоступно ни одного сервиса.</p>
<p>- Зелёный &#8211; устройства, на которых доступны все сервисы.</p>
<p>- оранжевый &#8211; устройства, на которых часть сервисов не отвечает программе. Недоступные сервисы отображаются на прямоугольнике устройства.</p>
<p>Должен сказать, что программа даёт очень много ложных срабатываний, и оранжевый цвет ещё ни о чём не говорит.</p>
<p>Программа собирает статистику доступности сервисов и строит красивые графики откликов:</p>
<p><img class="alignnone size-full wp-image-112" title="dude-chart1" src="http://danik.info/wp-content/uploads/2009/10/dude-chart1.png" alt="dude chart1 The Dude – лучший бесплатный мониторинг сети" width="583" height="280" /></p>
<p>Кстати, если на сетевом устройстве есть SNMP сервис &#8211; можно узнавать об устройстве много ценной информации дополнительно. Например, загрузка ЦПУ, памяти, дисков, сетевого канала и прочего.</p>
<p>SNMP в моём случае оказался запущенным практически на всех сетевых принтерах, на серверах Windows и на точках доступа. На серверах Linux штатный SNMP ничего не показал и пришлось устанавливать дополнительного демона.</p>
<p>Если сетевое устройство поддерживает SNMP, это значит, что можно собирать информацию и о загрузке его сетевого интерфейса. Эту информацию Dude привязывает к связям на карте. Каждая связь тоже собирает свою статистику и может отобразить информацию в виде графика:</p>
<p><img class="alignnone size-full wp-image-113" title="dude-chart2" src="http://danik.info/wp-content/uploads/2009/10/dude-chart2.png" alt="dude chart2 The Dude – лучший бесплатный мониторинг сети" width="480" height="266" /></p>
<p>Программа Dude состоит из двух частей &#8211; сервера и клиента.Сервер собирает статистику и опрашивает устройства, а клиент отображает картинку. Сервер, кстати, доступен через web-интерфейс.</p>
<p>Я экспериментировал с простейшей установкой сервера и клиента на один компьютер, а в идеале возможно развёртывание нескольких серверов Dude для максимального охвата различных сетевых сегментов. Это может оказаться разумным, т.к. процесс сбора данных сервером Dude весьма требователен к ресурсам.</p>
<p>Лично у меня после программы остались двойственные ощущения, в частности меня не устраивают требования программы к ресурсам. Но в этой программе я увидел, какие возможности должна предоставлять программа для мониторинга сети.</p>
]]></content:encoded>
			<wfw:commentRss>http://danik.info/the-dude-%e2%80%93-luchshij-besplatnyj-monitoring-seti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetMap – контроль доступности хостов</title>
		<link>http://danik.info/netmap-%e2%80%93-kontrol-dostupnosti-xostov/</link>
		<comments>http://danik.info/netmap-%e2%80%93-kontrol-dostupnosti-xostov/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 09:47:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Monitoring]]></category>

		<guid isPermaLink="false">http://danik.info/?p=57</guid>
		<description><![CDATA[Прочитал на одном из блогов о софтинке  NetMap и решил ее тут упомянуть, в будущем она мне может пригодиться.  NetMap отслеживает доступность хостов Сети по протоколу ICMP, тоесть пингует. Программа по умолчанию настроена на отправку запросов каждые 6 секунд и ожидание отклика в течение 4 секунд. Можно задать любое другое время в пределах от 100 [...]]]></description>
			<content:encoded><![CDATA[<p>Прочитал на одном из блогов о софтинке  NetMap и решил ее тут упомянуть, в будущем она мне может пригодиться.  NetMap отслеживает доступность хостов Сети по протоколу ICMP, тоесть пингует. Программа по умолчанию настроена на отправку запросов каждые 6 секунд и ожидание отклика в течение 4 секунд. Можно задать любое другое время в пределах от 100 миллисекунд до 10 минут.</p>
<p><img class="alignnone" style="border: 0px initial initial;" title="netmap" src="http://danik.info/wp-content/uploads/2009/10/netmapr.png" alt="netmapr NetMap – контроль доступности хостов" width="371" height="274" /></p>
<p><span id="more-57"></span><img class="alignnone size-full wp-image-58" title="netmap" src="http://danik.info/wp-content/uploads/2009/10/netmapr.png" alt="netmapr NetMap – контроль доступности хостов" width="619" height="457" /></p>
<p>Краткий список достоинств:</p>
<ul>
<li>можно пинговать IP адреса и URL ресурсы;</li>
<li>бесплатная;</li>
<li>количество контролируемых IP адресов – не ограничено;</li>
<li>видна история, т.е. можно отмотать назад;</li>
<li>есть возможность прикручивать вызов внешних программ при определённых событиях;</li>
<li>очень удобно сравнивать доступность хостов.</li>
</ul>
<p><a style="color: #d21600; text-decoration: none; padding: 0px; margin: 0px;" href="http://www.imach.uran.ru/netmap/indexr.html" target="_blank">Скачать NetMap</a> с сайта автора.</p>
]]></content:encoded>
			<wfw:commentRss>http://danik.info/netmap-%e2%80%93-kontrol-dostupnosti-xostov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

