OpenNMS: Memcached mit SNMP überwachen

opennmsIn OpenNMS gibt es zwar auch einen „nativen“ Memcached-Monitor – aber dieser funktioniert nur wenn der Memcached direkt über das Netz vom Monitorserver aus erreichbar ist.

Mit der bekannten SNMP-extend Methode lässt sich der Memcached Daemon auch gut via SNMP mit OpenNMS überwachen. Hier nur kurz die wichtigsten Scripte und Schritte:

Service überwachen

Das geht am einfachsten über das „HostResourceSwRunPlugin“ Plugin welches die laufenden Prozesse via SNMP überwacht. Zunächst muss der Service überhaupt erkannt werden:

/etc/opennms/capsd-configuration.xml

    <protocol -plugin protocol="Process-memcached"
	class-name="org.opennms.netmgt.capsd.plugins.HostResourceSwRunPlugin"
	scan="on" user-defined="false">
	<property key="timeout" value="2000"></property>
	<property key="retry" value="1"></property>
	<property key="service-name" value="memcached"></property>
    </protocol>

Dann wird die Überwachung definiert:
/etc/opennms/poller-configuration.xml

   ...
<service name="Process-memcached" interval="300000"
    user-defined="false" status="on">
    <parameter key="retry" value="5"></parameter>
    <parameter key="timeout" value="10000"></parameter>
    <parameter key="service-name" value="memcached"></parameter>
    <parameter key="run-level" value="3"></parameter>
    <parameter key="match-all" value="true"></parameter>
</service>
 ...
    <monitor service="Process-memcached" class-name="org.opennms.netmgt.poller.monitors.HostResourceSwRunMonitor"></monitor>

Statistiken

Um noch ein paar Graphen zu generieren werden per SNMP noch die Statusdetails des Memcached Daemons übertragen…

„OpenNMS: Memcached mit SNMP überwachen“ weiterlesen

Typo3 mit memcached beschleunigen

Gerade bei der Generierung von Webseiten spielen Caches ihre Stärke voll aus: im Allgemeinen wird eine Webseite erheblich öfter aufgerufen als verändert.

Mittlerweile sollte sich der memcached Daemon herumgesprochen haben (Installation unter Centos). Hier die paar Zeilen um die Typo3 Caches von MySQL auf memcached umzustellen (funktioniert zumindest ab Typo3 4.3 on the fly).

In der typo3conf/localconf.php folgendes eintragen:

$TYPO3_CONF_VARS['SYS']['useCachingFramework'] = '1';
 
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pages']['backend'] = 't3lib_cache_backend_MemcachedBackend';
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pages']['options'] = array(
 'servers' => array('localhost:11211'),
 );
 
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pagesection']['backend'] = 't3lib_cache_backend_MemcachedBackend';
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_pagesection']['options'] = array(
 'servers' => array('localhost:11211'),
 );
 
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_hash']['backend'] = 't3lib_cache_backend_MemcachedBackend';
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations']['cache_hash']['options'] = array(
 'servers' => array('localhost:11211'),
 );

Das sollte es gewesen sein, die Tabellen cache_pages, ‚cache_pagesection und cache_hash können getrost geleert werden und sollten nicht mehr von Typo3 verwendet werden.

Update: localconf.php Code changed
Update 2:
localconf.php Code changed. Bei neueren Typo3 Versionen wurde teilweise die Default-Cache-Config überschrieben.

Memcached unter Centos (via EPEL)

Das EPEL Repository hatte ich ja schon mal gepostet. Hier kurz die Pakete um memcached für PHP unter Centos zu installieren:

yum install memcached php-pecl-memcache
/etc/init.d/memcached start
/etc/init.d/httpd restart

memcached läuft dann mit 64MB auf dem Port 11211.