Модная штучка

Если cacti перестал рисовать графики..?

Январь 5, 2012 | ITшное, Администрирование | Модные словечки , , | Оставить свое мнение

Недавно, настраивая отображение графиков по своей статистике случилось странное: только что добавленный график начал рисоваться, но как я заметил уже позже, все остальные перестали проявлять какую либо активность =)

По логам кактуса он  обрабатывал только этот новый график, а остальных как будто не было. Я сначала удалил новый график на всякий случай, но ситуация не изменилась, к тому же в логах фигурировала фраза

NOTE: There are no items in your poller for this polling cycle!

То бышь сервер кактуса как бы и не видел других заданий. В общем то решение было простое. Нужно было зайти в console -> system utilities -> View Poller Cache. Там я увидел пустую табличку. После чего клацнул на Rebuild Poller Cache на предыдущей странице и это решило проблемму.

Спустя 10 минут графики стали возвращаться на свои позиции, оставив дыру без данных =)

Выводим в cacti статистику со своего скрипта

Январь 5, 2012 | ITшное, Администрирование | Модные словечки , , , , | Оставить свое мнение

Статистика по стандартным серверным штукам это хорошо, но хочется видеть еще и наглядные графики по сайтам, например прибыль или что там у кого.

Для этого сначала пишем на сайте скрипт типа 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 уже были видны первые штрихи. Правда меня ожидала еще и неожиданность, о ней в следующем посте =)

Cacti, centos, snmp и какие проблеммы могут возникнуть.

Январь 3, 2012 | ITшное, Администрирование | Модные словечки , , , , , , | Оставить свое мнение

Недавно я подумал, почему бы не добавить в мониторинг и третий сервер из комплекса, с которым я работаю в мониторинг. Раньше я о нем как то замалчивал, потому что он крутится на 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. С Новым Годом всех =)

Поднимаем свой кластер на freeBSD

Декабрь 28, 2011 | ITшное, Администрирование | Модные словечки , , , | Оставить свое мнение

Привет! Есть у меня в подчинении один проект, для которого очень важен высокий аптайм и работа при больших нагрузках.

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

Как я недавно писал в своем твиттере, для синхронизации файлов мне понравилась утилита csync2, которую я и планирую заюзать для этого.

При этом и процесс установки будет не совсем тупым повторением всех дейтвий, выполненных на первом сервере, во всяком случае не весь процесс =)

Начало конечно такое же:

  1. меняем порт со стандартного на другой
  2. меняем рутовый пароль
  3. обновляем порты  //http://toha.su/post/и-снова-о-настройке-freebsd/
  4. обновляем софт csup //same
  5. украсим немного командную строку //http://toha.su/post/разукрасим-командную-строку/
  6. настраиваем unicode для «русских» пользователей (самого юзера создадим позже) //http://toha.su/post/freebsd-русификация-удалась-или-даешь-unicode/
  7. обновляем мир //http://toha.su/post/и-снова-о-настройке-freebsd/
  8. обновляем ядро //http://toha.su/post/и-снова-о-настройке-freebsd/
  9. ставим софт (mc, screen, nano) //http://toha.su/post/настройка-сервера-на-freebsd-установка-софт/
  10. создаем юзера, под которым будем работать
  11. ставим sudo //http://toha.su/post/freebsd-sudo/
  12. продолжаем ставить софт (mysql, php, nginx), при чем зметьте что софт только ставим, не конфигурируем ничего //см. п.9
  13. подключаем сервер к мониторингу cacti (об этом подробнее ниже)

Подключение сервера к cacti на другом сервере

Дабы не плодить на каждом сервере свою систему мониторинга, подключим новый сервер на кактусу на старом.

Для этого на новый нужно поставить SNMP (http://toha.su/post/уютненький-сервер-на-freebsd-мониторинг-мат/)

После установки заходим в какти — console -> devices -> add

  • Адрес — айпи сервера.
  • Тип хоста — ucd/net SNMP Host
  • SNMP версия — v2
  • комьюнити указываете то же что в конфиге (там было changeme)

Если на новом сервере SNMP установлен и запущен то после добавления вы должны увидеть сообщение что действие выполнено успешно и хост добавлен. После этого уже добавляете туда графики, атачите график к нужному дереву и ждете обновления, у меня сразу в devices новый хост был со статусом unknown и в разделе graphs не отображался. Но спустя 5 минут (время обновления данных) статус перерос в OK. В графиках хост появился, подожду теперь и посмотрю как оно будет рисоваться (и будет ли :D).

Хотя вот судя по тому что значения Current/Min/Max обновились вижу что все ок будет.

На этом работа по установке нужного софта закончилось. И впереди самое интересное =)

Разукрасим командную строку

Декабрь 26, 2011 | ITшное, Администрирование | Модные словечки , , | Оставить свое мнение

Точнее не всю, а ту часть, которую видим в начале строки запроса.

Открываем ~/.cshrc и ищем где там есть

set prompt = ...

Убираем его и ставим вместо него это:

set prompt = "%{\033[1;34m%}[%d %T %{\033[0;32m%}`/usr/bin/whoami`%{\033[1;34m%}@%{\033[1;31m%}%m%{\033[1;34m%}] %{\033[0;32m%}%/%{\033[0;32m%}%# "

Кому то конечно по душе будет другой формат оформления, но мне нравится.

Вот еще можете почитать по теме http://www.propheta.ru/2008/02/cshtcsh.html с описанием всех возможных параметров.

Здесь же можно выставить редактор по умолчанию, у меня это так:

setenv EDITOR  nano

(раньше был ee, но в свете последних событий с его неспособностью работать с utf-8 пришлось отказаться от него)

Для применения эффекта нужно перелогиниться.

Ах да, еще я бы советовал перенести домашнюю дирректирию опльзователя из /root/ в /home/root и изменить ссылку на нее в профиле пользовалеля ( chpass root ). (http://www.freebsd.org/doc/ru/books/handbook/users-modifying.html)