Январь 5, 2012 | ITшное, Администрирование | Модные словечки cacti, freeBSD, проблеммы | Оставить свое мнение
Недавно, настраивая отображение графиков по своей статистике случилось странное: только что добавленный график начал рисоваться, но как я заметил уже позже, все остальные перестали проявлять какую либо активность =)
По логам кактуса он обрабатывал только этот новый график, а остальных как будто не было. Я сначала удалил новый график на всякий случай, но ситуация не изменилась, к тому же в логах фигурировала фраза
NOTE: There are no items in your poller for this polling cycle!
То бышь сервер кактуса как бы и не видел других заданий. В общем то решение было простое. Нужно было зайти в console -> system utilities -> View Poller Cache. Там я увидел пустую табличку. После чего клацнул на Rebuild Poller Cache на предыдущей странице и это решило проблемму.
Спустя 10 минут графики стали возвращаться на свои позиции, оставив дыру без данных =)
Январь 5, 2012 | ITшное, Администрирование | Модные словечки cacti, freeBSD, php, графики, статистика | Оставить свое мнение
Статистика по стандартным серверным штукам это хорошо, но хочется видеть еще и наглядные графики по сайтам, например прибыль или что там у кого.
Для этого сначала пишем на сайте скрипт типа stat_cacti.php который будет выводить ответ формата
count:XXX
В моем случае скрипт принимал еще параметры с (параметр, характеризующий какого рода статистику выдавать) и i (интервал, за какое время выдавать стату).
Скрипт готов, настраиваем кактус.
Сначала добавляем data input method -> add и приводим его примерно к следующему виду:

В input string у меня следующее:
/usr/local/bin/wget --tries=1 --inet4-only --connect-timeout=3 --dns-timeout=3 --timeout=3 --quiet --no-check-certificate -O - "<url>?c=<command>&i=<interval>"
Суть такова — скрипт выполняет запрос на удаленный сервер, который будет позже задан в конфиге <url> и читает результат.
Далее добавляем data template и приводим примерно к следующему виду:

Добавляем graph template.
(эту часть вы увидете после того как нажмете добавить, заполнив то что на картинке ниже) 
Теперь, если вы все правильно сделали, все готово для добавления графика. Ждя этого жмакаем кнопку new graphs и в скиске выбираем то, что вы вписывали в название graph template. После нажатия на кнопку добавить, кактус должен бы вас спросить написать адрес откуда брать стату, название создаваемого графика и еще вроде что то. Если каких то полей он не спросил, а должен, проверяйте в созданных шаблонах (template), что бы на нужных полях стояла галочка user per-data value.
После этого все, следите что там рисует кактус, у меня спустя минут 10 уже были видны первые штрихи. Правда меня ожидала еще и неожиданность, о ней в следующем посте =)
Январь 3, 2012 | ITшное, Администрирование | Модные словечки apache, cacti, perl, мониторинг | Оставить свое мнение
Для начала, на мониторимом сервере нужно включить отображение статистики server-status & server-info.
У меня, к примеру, не было модуля mod_info, поэтому нужно было пересобрать apache с этим модулем.
Далается это в соответстветствии с инструкцией здесь http://help.directadmin.com/item.php?id=191
Единственное замечание к той инстукции: не всегда нужно добавлять именно —with-module, иногда запись может отличаться. Я перепробовал разнообразные варианты типа with-mod_info, with-info_module, но ничего не работало. В итоге я нарыл соответствия параметров конфига строки и модулей: http://httpd.apache.org/docs/2.2/programs/configure.html
Оказалось, нужно было добавлять: —enable-info.
Update: сначала сделал все так как описал ниже, но потом обнаружил более новую версию здесь и здесь (по второй ссылке это типа оффициальная страница). Удалил старые дата темплейты и поставил вместо них эти, работает тоже ок, только читайте внимательно инструкции по установке там на форуме.
После того, как действие выполнено, следуем по интрукции http://www.lissyara.su/articles/freebsd/www/apachestats/
Далее все прошло в целом гладко, пришлось только немного допилить скрипт для парсинга статуса. Он мог работать нормально только на локальном хосте. Если же требовалось собирать статистику с удаленного сервера то в нем явно была ошибка. Может быть конечно где то и есть новая версия, у меня скрипт 2004 года, так что внес в него свежие правки =) Можете скачать его.
P.S. мне потребовалось доставить в perl модуль Switch, так как скрипт вылетал с ошибкой
Switch will be removed from the Perl core distribution in the next major release бла бла бла
Ставится точно так же как и в посте http://toha.su/post/график-загрузки-nginx-для-cacti/. Только в CPAN нужно ввести
install Switch
(регистр имеет значение!)
Январь 3, 2012 | ITшное, Администрирование | Модные словечки cacti, centos, freeBSD, iptables, snmp, tcp, udp | Оставить свое мнение
Недавно я подумал, почему бы не добавить в мониторинг и третий сервер из комплекса, с которым я работаю в мониторинг. Раньше я о нем как то замалчивал, потому что он крутится на centos + панелька директадмин и используется для всяких треш скриптов которые я вообще не в силах контролировать и приводить в порядок. Раньше этот сервер был основным и там крутилось все, но постепенно я хочу оставить там только то, что не является особо критичным. А все важное вынести на кластер из двух серверов на freebsd.
Так вот, впринципе здесь было бы нечего описывать даже, так как процедура по сути та же что и для добавления удаленного сервера на freebsd. Но особенности таки есть.
В целом это только фаервол, который к примеру у меня (возможно это панель directadmin ставит свои дефолтные конфиги iptables), доступы к «левым» портам, в том числе и 161 (по умолчанию для snmp) были закрыты.
Как открыть нужные порты я нашел здесь http://shalb.com/ru/spae/spaedocs/firewallrules/. Но по результатам скажу что описанные там правила будут работать не для всех. Дело в том, что у меня в конце цепочки INPUT было правило, запрещающее доступ ко всем портам которые не попали под правила выше. И если делать так как там, то правила добавлялись в конце и никогда не срабатывали. Свои правила пишу здесь:
iptables -I INPUT --proto tcp --dport 161 -s 1.2.3.4 -j ACCEPT
iptables -I INPUT --proto udp --dport 161 -s 1.2.3.4 -j ACCEPT
Где вместо 1.2.3.4 вы пишите адрес сервера, на котором стоит cacti. Моя правка заключается в том, что я использую -I вместо -A — то есть вставку вместо добавления. Если после слова INPUT не указать номер, то по-умолчанию добавляется в начало и таким образом правило обрабатывается правильно.
После добавления правил не забудьте сделать
service iptables save
Иначе изменения пропадут при перезапуске.
P.S. еще, пока сразу не понял в чем дело, узнал у слона, что при подключении к кактусу сервера на впс centos может возникнуть проблемма в том, что по udp snmp не рабтает. В этом случае нужно попробовать подключить по tcp.
Как это сделано неплохо описано здесь: http://forums.cacti.net/viewtopic.php?t=15353
Краткое содержание:
на подключаемом сервере в snmpd.conf добавить:
agentaddress tcp:161
А в кактусе при добавлении хоста указать не просто IP, а запись вида tcp:IP (пример: tcp:1.2.3.4)
Так же оттуда полезно почерпнуть инфу о том, как сделать возможность мониторить диски по snmp, так как если не добавить этого в конфиг то в кактусе не будет видно никаких дисков.
Upd: недавно почему то сбились настройки фаервола, делал по своей же инструкции и обнаружил что парсер вордпресса сьел двойной минус и заменил его тыре. Исправил эту ошибку.
P.P.S. Не забывайте перезапускать (service snmpd restart) после внесения правок в snmpd.conf
P.P.P.S. С Новым Годом всех =)
Декабрь 22, 2011 | ITшное, Администрирование | Модные словечки cacti, freeBSD, nginx, мониторинг | Оставить свое мнение
Начал делать график для какти по скриптах, из этого форума http://forums.cacti.net/about26458.html
При тесте скрипта столкнулся с ошибкой:
no (LWP::UserAgent not found)
Свидетельствует о том, что собственно в perl не найдено модуля LWP.
Ставим его так (спасибо за мануалы с http://docstore.mik.ua/orelly/perl3/lwp/ch01_03.htm ):
Вкратце именно то что делал я:
perl -MCPAN -eshell
cpan> install Bundle::LWP
cpan> exit
(были еще промежуточные вопросы так как запускал я первый раз, нажимал просто энтер — предлагалось сделать первоначальную конфигурацию и подобрать лучшие зеркала).
После этого скрипты выдавали правильную информацию.
./get_nginx_clients_status.pl http://******/nginx_status
nginx_active:256 nginx_reading:3 nginx_writing:4 nginx_waiting:249
./get_nginx_socket_status.pl http://******/nginx_status
nginx_accepts:15638 nginx_handled:15638 nginx_requests:40322
Далее я сделал импорт дата темплейтов через веб интерфейс кактуса и добавил графики по этим темплейтам, указав в параметре url по которому доступен nginx_status (http://******/nginx_status).
После этого правда началось шаманство с кактусом. Прошло несколько часов, но график был пустой. При этом по логам все ок, файлы rrd обновляются и не понятно в чем дело. Попробовал было удалить графики и добавить по новой, но результата так и не было.
Но потом уже вечером увидел что на графике появились таки данные и дальше все рисовалось четко. Не могу объяснить этот феномен, кактус выделывает такое, да и вообще он сложноват в администрировании, если что идет не так. При чем это не только мое мнение, а и многих админов.
Касательно расшифровки показаний статуса nginx: http://wiki.nginx.org/HttpStubStatusModule — оригинал или например вот тут http://alegenk.livejournal.com/22071.html на русском.
P.S. не забудьте закрыть доступ к /nginx_status для всех айпишников кроме айпи сервера или хотя бы поменяйте путь на другой ( типа /nginx_kmf3md ).
Последние отзывы