Рубрики
Архивы
Language

Мониторинг для Redis

Краткий экскурс:

Redis – это высокопроизводительное нереляционное распределённое хранилище данных. В отличие от Memcached, который может в любой момент удалить данные, вытесняя старые записи новыми, Redis хранит информацию постоянно.

Memcached позволяет хранить массивы, но эти массивы будут сохранены в виде строк, т.к. происходит их сериализация. Следовательно, атомарные операции над такими массивами невозможны.
Redis же позволяет хранить как строки, так и массивы, атомарные операции pop / push, делать выборки из таких массивов и кучу других полезных для программистов вещей.

Плюс ко всему, Redis очень производителен: 110000 SET запросов в секунду, 81000 GET запросов в секунду на Xeon X3320 2.5Ghz Linux 2.6.x (более детально о производительности), а также хорошо масштабируем (master/slave).

Так как с точки зрения администрирования мониторить нужно всё, написал плагин для munin, который мониторит некоторые параметры Redis:

  • connected clients
  • requests per second
  • connections per second
  • used memory

Остальные параметры в условиях конкретной задачи не были важны, но их легко можно мониторить, слегка модифицировав плагин (достаточно базовых знаний Perl).
Прочитать остальную часть записи »

Java on CentOS

При сборке Sun JDK что под CentOS, что под федору, криво линкуются deps для jdbc (джавовский ODBC, который служит для соединения с MySQL/PostgreSQL/etc из Java).

Как следствие, при попытке установить всё это добро одна из rpm не устанавливается, ссылаясь на следующее:

libodbcinst.so() is needed by java-1.6.0-sun-jdbc-1.6.0.14-1jpp.i586
libodbc.so() is needed by java-1.6.0-sun-jdbc-1.6.0.14-1jpp.i586

Если работа с базой в Java приложении не планируется, можно забить на это, и просто не ставить RPM java-1.6.0-jdbc-блаблабла.

В моём случае работа с базой была необходима, поэтому немного погуглив, был найден вот этот фикс.

Если у Вас не получится переписать spec файл, готовые RPM Sun JDK 1.6.0 update 14 под
CentOS 5.3 i386 можно взять здесь (возможно, соберу ещё под x86_64 при наличии свободного времени)

Устанавливается всё добро так:
1. yum -y install unixODBC unixODBC-devel
2. скачиваете wget’ом (curl’ом, либо чем угодно) java-*.rpm
3. yum -y –nogpgcheck localinstall java-*.rpm

memcached 1.4.2

Не знаю, почему Dag Wieers до сих пор держит в rpmforge memcached-1.2.6, учитывая, что давно есть 1.4.2 stable.

Программисты попросили именно 1.4.2, под EL5 rpm нигде нету, пришлось собрать свой.
CentOS 5.3 (i386 и x86_64), забрать можно здесь (memcached-debug в RPM не входит)