Pull to refresh

Comments 74

Пост ни о чем.
Лучше бы написали плюсы и минусы в реальном жизненном использовании, или привели скрипты решающие проблему которую не решить стандартными средствами.

P.S.: Хоть написали бы для каких систем подходит, коль обзор сделали :)
Пост и задумывался как обзор, без решения нестандартных проблем, просто для того, чтобы о Zabbix узнали те, кто не мониторил свои сервера, или мониторил самописными скриптами.
Сам сервер Zabbix можно поставить на любую posix-совместимую OC, а в качестве объекта наблюдения подходит вообще что угодно, от юниксов и виндовсов до управляемых свитчей и сетевых принтеров.
Zabbix еще и довольно-таки тяжелая система. Для крупных инсталляций с выделенным сервером мониторинга больше подходит чем для мелочей в виде 3-5 систем.
Заббикс-агенты есть как под вину так и под линукс.
У меня вся моя ферма на нем живет, а у меня зоопарк не маленький — от XP до W2k8, проходя через несколько линуксовых рабочих станций. пару тонких клиентов на фряхе и линухоовые сервера. Так же заббикс сервер может агрегировать весь SNMP трафик от устройств, умеющих отдавать статистику.
Итого имеем:
Контроль рабочих станция пользователей.
Контроль состояния серверов.
контроль сстояния сетевого оборудования с SNMP
контроль доступности сетевого оборудования или хостов без возможности сбора информации.
помоему более чем достаточно. К тому же не стоит забывать что решение абсолютно бесплантное и требует минимальных трудозатрат при разворачивании.
UFO just landed and posted this here
Да, можно. Для добавления новых скриптов даже не придется рестартовать сервер, достаточно положить скрипт в указанную в конфигурации директорию и добавить новый элемент данных, указывающий на скрипт, к нужным хостам. О миграции (по возможности безболезненной) с Nagios на Zabbix я буду писать отдельной подробной статьёй.
еще есть system.run, который позволяет выполнять через шелл команды на клиенте — очень удобная штука для написания своих тригеров.
например только что сделал триггер для мониторинга партиции с кешем сквида:

т.к. кеш лежит в tmpfs и не всегда в конкретном месте, то вместо vfs.size я взял:

system.run[df -m|egrep «nginx|squid»|awk '{print $4}']

на выходе — значение свободного места на разделе в Mb

UFO just landed and posted this here
о_О не понял вопроса
UFO just landed and posted this here
я вобще не хочу задействовать винты для кеша.
если отдать кеширование на плечи системы, винты все равно будут нагружаться.
в случае же использования tmpfs я полностью доверяюсь эффективному кешированию сквида.
UFO just landed and posted this here
возможно, но какие минусы у tmpfs?
UFO just landed and posted this here
память на tmpfs выделяется системой по запросу.

кстати, а вы не вкурсе как сейчас дела с кешем у жиксы?
в продакшене можно использовать?
UFO just landed and posted this here
кстати, ядро не кеширует файлы на tmpfs
UFO just landed and posted this here
Однозначно рекомендую Zabbix. Сейчас переходим с Nagios на Zabbix.
Коротко плюсы:
+ более приятный веб-интерфейс,
+ не текстовые конфиги, а база данных с неплохим api из веб-интерфейса — незаменимо для автоматизации добавления новых хостов в мониторинг,
+ не только мониторинг доступности в формате работает/нет, но и сразу же построение графиков, по которым можно наглядно увидеть интервалы недоступности
Хм, а в чем проблема автоматически генерировать текстовые файлы? :)
Если бы эти текстовые файлы генерировались машиной с самого начала, проблем в общем-то нет. Но у Nagios'а, который мне достался, так сказать, по наследству, конфиги были написаны не одним человеком-сисадмином, абсолютно нелогичным способом разбиты на несколько десятков файлов, плохо структурированы, и хорошо разбавлены кашей из комментариев и закомментированных блоков в разных кодировках в самых неожиданных местах. Попытки автоматизировать были, и даже иногда успешные, но проблем от такой автоматизации было наверное столько же, сколько и пользы.
Жил-был у меня zabbix с базами в mysql. Довольно долго жил, прежде чем однажды mysql не упал вместе с виртуальной машиной. После поднятия в заббиксе исчезли несколько элементов данных, из которых строились графики. Очень было печально, в результате поднял новый заббикс, но уже на PostgreSQL. Заодно и более свежую версию заббикса использовал.
Но не все оказалось так просто. Поддержка постгреса оставляет желать лучшего. Например, при создании хоста из шаблона и попытке деактивировать ненужные элементы данных веб-морда после долго размышления выбрасывала логи неудачных sql-запросов. Когда же я пытался удалить сразу несколько элементов данных, веб-морда основательно висла, а постгресовые логи непрерывно заполнялись сообщениями о тысячах одинаковых неудачных транзакций…
Еще в заббиксе огорчает невозможность генерировать графики по расписанию, а не пхп-кодом по запросу. Куда менее ресурсоемко было бы, имхо.
А в целом система неплохая, да. Особенно радуют возможности манипулировать графиками в ajax-стиле, с выделениями участков графика для их масштабирования по времени и пр.
Честно говоря, с PostgreSQL я не работал, надо будет попробовать. А MySQL… Возможно, в старой версии использовался движок MyISAM, который, как известно, не поддерживает транзакции и не особо устойчив к падениям.
Насчет генерации графиков по расписанию — спорный вопрос, например если по ночам никто на эти графики не смотрит, то и генерировать их незачем. Да если и какие-то графики наблюдаются круглосуточно, то это всего пара-тройка самых главных, а остальные десятки, сотни и тысячи (сколько у вас элементов?) тоже просматриваются изредка и перерисовывать тоже не надо. По запросу проще — гарантия актуальности графика (а вдруг сломалось расписание?) и автообновление страницы в браузере и есть то самое расписание, только само выключается когда на него не смотрят, и обновляет только то, что смотрят.
MyISAM и InnoDB — это сама по себе длинная и грустная история, лично для меня закончившаяся переводом критично важных баз на постгрес. InnoDB определенно лучше MyISAM, но в случае повреждения журнала его поведение совершенно неадекватно, а именно — блокируется запуск mysqld целиком до внесения innodb_force_recovery в конфиг. Когда из-за проблем в одной таблице одной базы (пусть даже достаточно серьезных) не запускается демон, обслуживающий множество других баз — это ненормально.
Постгрес попробовать стоит, но не на заббиксе. Последние два дня тестирования показали, что поддержка постгреса там скорее для галочки, а не на уровне нормального продакшена.
Что касается графиков по расписанию, то я подразумевал то, как это сделано в cacti — графики могут создаваться и на лету при запросе, но могут и генерироваться как графические файлы в указанной папке. Возможность включать-выключать этот механизм должна быть доступна через веб-интерфейс. Тогда можно включить это для нескольких графиков, а остальные оставить в стандартном режиме.
Даже если на графики никто не смотрит, они все равно могут генерироваться. Например, они могут висеть на отдельном рабочем столе либо вовсе в кач-ве обоев. Знаю людей, находящих это удобным.
Что до актуальности, то на оси абсцисс ведь указывается время, поэтому видно, когда график в последний раз обновлялся. Хотя, конечно, нулевые значения лучше видно, чем дату.
Но вообще мне кажется, что вылизываемый десятилетиями крон более надежен, чем браузер-вебсервер-пхп, поэтому вряд ли с расписанием что-то случится :)
В разных ситуациях удобны разные подходы и было бы просто замечательно, если бы авторы давали выбор. В связи с этим я бы с удовольствием пользовался cacti, но заббикс все-таки намного больше умеет делать :)
Жил был у меня Zabbix с MySQL, но это было сильно грустно и частенько вставало колом. После чего взяли и перевели на PostgreSQL и оно до сих пор живет и пить есть не просит.
А какая нагрузка? На оф. форуме немало жалоб на медленную работу с постгресом при большом кол-ве данных. И какую версию используете?
Zabbix 1.6.5

Number of hosts 259
Number of items 5729
Number of triggers 607

Hardware:
CPU Intel Core 2 6320
2Gb RAM
Software RAID5 на 4 дисках.
О, может вы мне подскажете, как боротся с разрывами в отрисовке графиков?
Zabbix 1.6.5
Hosts: 83
Items: 3126
Triggers: 1281

Графики начинают отрисовыватся очень грубо и недетализовано, иногда в графиках возникают разрывы по 10-20 минут. Крутил количество агентов-количество серверов — не особенно помогло, сервак один и выделеный. Куда копать?
В housekeepeing. Перенастройте его на запуск раз в сутки. Далее оттюньте PostgreSQL по доке www.scribd.com/doc/4846379/-PostgreSQL-

По умолчанию PostgreSQL не использует всю доступную память. Ну и не забудьте перейти на версию 8.3 или выше.
Еще стоит покрутить период обновления итемов. Далеко не для всех нобходим съем данных раз в 30 секунд.
Проблема деактивации элементов данных (ошибка с текстом «ERROR: invalid byte sequence for encoding») заключена не в работе с PostgreSQL а в проблемах локализации самого Zabbix, точнее в работе с UTF, и исправляется редактированием файла ./include/audit.inc.php с заменой строки
$details = substr($details, 0, 125).'...';
на
$details = mb_substr($details, 0, 125).'...';
О, это вы не знаете, как оно с ораклом! Правда, говорят, в zabbix-1.8 стало получше…
А так — подтверждаю, постгрес достаточно сильно тормозит при большом количестве хостов/айтемов/триггеров.
На ваших картинках — ничего не разобрать. Зачем они тут тогда? Лишь бы были?
На наших картинках — скриншоты прямо с официального сайта. Они дают достаточное представление о внешнем виде системы без нужды разглядывать всё в деталях. Впрочем я сам не особо доволен уменьшенными изображениями. Напишете в вебмастерам сайта Zabbix, чтобы скриншоты получше повесили?
www.zabbix.com/screenshots.php — тут вижу нормальные картинки, где можно все увидеть в нужном объеме (по клику)

А то, что у вас — жалкое подобие. Не увеличиваются, не кликаются.

Залили бы сначала на какой-то фотохостинг, а потом уже с него вставили в заметку, было бы на порядок лучше.
Когда работал в компании-провайдере тоже использовали Заббикс. Обзор, я считаю, получился полным и достоверным. Можно добавить что он умеет авторизовать юзеров по LDAP…
Полным? Вы наверное шутите :) Это в лучшем случае поверхностное описание только половины возможностей. Про поддержку LDAP в нем я вообще впервые от вас слышу ;)
Есть но она какая-то неполная. Авторизация идет через LDAP, но это не избавляет от необходимости вручную добавлять юзера в Zabbix и назначать ему привелегии :)
хммм… в любой системе так. или она должна еще угадывать, какие права дать новому пользователю???
LDAP может больше чем просто хранить пользователя. :) Почему бы Zabbix не понимать также такие вещи как группы в LDAP или, например, атрибут authorizedService?
Я вот писал о PRTG недавно xldsakamrhahn.habrahabr.ru/blog/69781/, но вижу что этот продукт получше будет + шаровый. Завтра начну тестировать, интересно какой он в плане удобства использования.
Обязательно отпишитесь о результатах :)
Как правило, последнее сообщение ветки бывает такое: потестирую — отпишусь ;). Как бы стандарт дэ факто )
Установил, посмотрел возможности, первый вывод — удобней cacti ИМХО. Далее — нужно колупать и еще раз колупать ;)
Поколупал — первые впечатления перекрылись общим гемороем )
Буду читать мануал дабы понять все что непонятно на первый взгляд.
UFO just landed and posted this here
Заббикс — отличная вещь. Когда-то долго и въедливо выбирал между заббиксом и zenoss'ом, остановился на первом, с тех пор ни разу не пожалел. Слышал иногда репорты о проблемах с заббиксом — падения агента, с базой, но сам ни разу не сталкивался — все довольно надежно работает. К тому же с версии 1.6 он намного стабильнее стал.
Тоже хочу выбрать из этих двух, сейчас на cacti. Что повлияло на ваш выбор? Я пока не вникал, но zenoss вроде симпатичнее…
Много было факторов. :) Вообще Zenoss — неплохая штука, но показался менее удобным и менее функциональным. В зеноссе сложнее разобраться, какой-то он не интуитивно понятный. Заббикс очень гибкий, по-быстрому там делал такие вещи, которые в зеноссе вообще не разобрался как делать, или очень долго читал доки. Зеносс только по snmp работает, а в заббиксе агент. Как-то понадобилось что-то нестандартное на зеноссе измерять, сделал через костыли и замороченно, а заббикс-агент может принимать вывод скрипта. Заббикс работает с данными, дает больше доступа к ним, например можно посмотреть численные значения итемов, в зеноссе такого по-моему нельзя, только если в графике ковыряться. Плюс, зеносс как-то странно себя вел, непредсказуемо. Может это баги были, но частенько проскакивало такое, что у измеряемого параметра, который всегда равен либо единице либо нулю, зеносс показывал 1.05 и т.п.

Большой плюс у зеносса — на мой взгляд красивый интерфейс очень удобные графики, но заббикс вроде подтягивается в этом.
Еще важен такой параметр, как производительность, не сравнивали их в этом направлении?
Не, не мог сравнить, у меня всего около 50 серверов и несколько свитчей мониторилось, и не очень много параметров, а на таких объемах обе проги работали без тормозов. Но ядро и агенты заббикса написаны на С, а зеносс целиком на python + zope, так что может быть на больших системах заббикс себя лучше покажет.
карту сети рисовать очень муторно. нет автоматической карты. а в остальном я был доволен.
как выглядит автодискавери там? Когда в последний раз пытался сделать мониторинг (700+ девайсов) ничего путного не происходило — все сводилось к тому что он показывал список девайсов и когда последний раз пинг проходил.
Мне всего то надо было автодискавери подсетки и чтоб он общался с ними по snmp + пинговал.
Сейчас по snmp умеет, только пока до 1.8 это довольно бестолковая функция, там обещают больше. Посмотрите 1.7.1 версию.
Юзаю более простую вещь mon. Условия мониторинга пишутся ручками в конфиге, оповещения (алерты) в виде внешних программ. Еще есть cgi-шка для просмотра текущего состояния.

Настроил так, что при падении сервера пишется сообщение в файл, specto выводит оповещение, если этот файл изменился, также отсылается e-mail на gmail, а gmail отсылает копию на e-mail на xxx@mts.ru для смс-ки.

Под виндой юзал gui-шную HostMonitor, интерфейс немного перегруженный, но в принципе всё понятно, очень много возможностей мониторинга и видов оповещений.
Знакомый сис. админ подсказал что они юзают nagios. А Zabbix загибаается при 1000 объектов :(
Zabbix — если у вас свой ДЦ и можете выделить нормальные сервера под мониторинг
Munin — если у вас несколько серверов и вы хотите визуально наблюдать их состояние по графикам
Monit — если у вас один сервер и надо тупо подымать апач на автомате, если тот вдруг упадет
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Если вам нужен именно системный мониторинг, посмотрите на HP SiteScope
UFO just landed and posted this here
UFO just landed and posted this here
Обзор прекраснейший. Хуже обзора я еще не видел.
А можно ли его настроить так, чтобы он понимал топологию сети? Может мигрирую на него с нагиоса.
Поясню свою мысль. У меня есть роутер и за ним 5 свичей, то в момент когда роутер станет недоступен, перестают пинговаться и все устройства расположенные за ним. Нагиос в такой ситуации пришлет мне на почту 6 писем.
Да, у триггеров есть зависимости, то есть в вашем случае триггеры доступности на свитчах зависят от триггера на роутере, и при недоступности роутера Zabbix проигнорирует оповещения от зависимых свитчей.
А тут trac.greenmice.info/ztc/wiki можно найти хороших темплейтов для заббикса. Рекомендую сразу их использовать, т.к. стандартные немного не оптимальны по времени хранения данных. На прошлой работе база на заббиксе со стандартными темплейтами за год распухла до 300 гигабайт (~40 серверов). Сейчас 20 (:
и ни слова про то что недавно появилась такая вещь как zabix-proxy
Спасибо, пригодится.
В ближайшем будущем — о том, как использовать Zabbix вместо Nagios и MRTG и рекомендации по миграции на Zabbix с этих двух систем и сравнение преимуществ и недостатков; о написании собственных скриптов оповещения и сбора данных, о моём личном опыте использования Zabbix в продакшне, и о чем-нибудь еще, что я узнаю в процессе дальнейшего изучения этой замечательной системы.

Было бы интересно почитать.
Sign up to leave a comment.

Articles

Change theme settings