Transcript

Monitoring Alfresco with Nagios/Icinga

Toni de la FuenteAlfresco Senior Solutions EngineerBlog: blyx.com Twitter: @ToniBlyx

Monitoring Alfresco with Nagios/Icinga

Toni de la FuenteAlfresco Senior Solutions EngineerBlog: blyx.com Twitter: @ToniBlyx

Agenda

• Monitoring Alfresco• What is Nagios and Icinga?• How it works?• Alfresco Plugin • Installation and configuration• Screenshots• Resources

Monitoring Alfresco

• Several ways:• JMX• Logging• TCP/UDP• ICMP• Profiling

• Why monitoring?• Control• Metrics• Provisioning• Bottlenecks• Problems• Performance• Scalation• Alerts• Threshold• Historic

How Can I Get Full Monitoring of Alfresco?

How Can I Get Full Monitoring of Alfresco?

• Nagios or Icinga + nagios4alfresco plugin

What is Nagios and Icinga?

Nagios• Open Source

monitoring software

• 1999 – NetSaint

• Thousands of downloads and live installations

• Very flexible

• Various notification options, alerts and scalations

• Plugins and modules

Icinga

• Nagios fork 2009

• Supports DB backend

• Icinga-web PHP

• Icinga Reports based on Jasper Reports (optional)

How it works?

Check plugins• “check_smth”

• Standard (TCP and UDP) plugins

• Service specific (MySQL, IMAP, SMTP, etc.)

• Custom plugins (check_jmx)

• Derivates check_jmx check_alfresco

How to monitoring Alfresco?

• TCP and JMX• Nagios plugin for Alfresco 1.1

• http://addons.alfresco.com/addons/alfresco-nagios-icinga-plugin/• For Alfresco Enterprise 3.2 and above• Easy and quick install

• README file• Copy check_alfresco and check_alfresco.jar files to plugins/libexec

directory • Copy and edit alfresco-server.cfg• Copy and edit alfresco-commands.cfg • Reload Nagios config

• Install pnp4nagios• Performance data supported on plugin• Enable performance data on Nagios

How to monitoring Alfresco?

• TCP and JMX• Nagios plugin for Alfresco 1.1

• http://addons.alfresco.com/addons/alfresco-nagios-icinga-plugin/• For Alfresco Enterprise 3.2 and above• Easy and quick install

• README file• Copy check_alfresco and check_alfresco.jar files to plugins/libexec

directory • Copy and edit alfresco-server.cfg• Copy and edit alfresco-commands.cfg • Reload Nagios config

• Install pnp4nagios• Performance data supported on plugin• Enable performance data on Nagios

alfresco-commands.cfg• Config file with all Alfresco specific check commands definitions• Sample command definition:

alfresco-server.cfg• Sample config file for an Alfresco server (template, name, IP address, icon, etc.)• Sample check:

Default Monitoring Checks• 28 Alfresco JMX specific checks

Heap Memory Usage

System Load Average

Thread Count

Number of Total Users

Number of Total Groups

Connection Pool

ContentStore Size Free

ContentStore Deleted Size Free

Audit Store Size

Hibernate Connect Count

Lucene Indexes SpacesStore Used Size

Lucene Indexes SpacesStore Num Docs

Repo Sessions

Repo Users Connected

Total Memory Used

Free Memory

Max Memory

Cache Size

Max Doc Alfresco Core

Number of Docs Alfresco Core

Max Doc Archive Core

Number of Docs Archive Core

Number of Activiti Task Instances

Number of Activiti Workflow Instances

Number of Activiti Workflow Definitions Deployed

Number of JBPM Task Instances

Number of JBPM Workflow Instances

Number of JBPM Workflow Definitions Deployed

• 11 OS and network related checks

• Ping

• TCP ports availability and response time

• App Server (8080)

• SSH (22)

• Web Server (80)

• Jetty (SPP – 7070)

• FTP (21)

• CIFS (139 and 445)

• RMI (50500)

• SMTP (inbound – 25)

New plugin version 1.2

• New version of nagios4alfresco plugin• Tested with Alfresco Enterprise 4.1.1

• Added SOLR + Workflow info• Commented Lucene, Hibernate, Audit storage checks• Changed default CIFS ports to 1445 and 1139

• Released Nov 13th

• Next releases and roadmap• Add more SOLR information• Add more OS related and protocol specific checks

Monitoring Community with JMXNot Alfresco EE - JMX layer specific, but Tomcat, for example:

• check_alfresco connections to Tomcat variables (File Descriptors, Load Average, Heap Memory Used, Number of Threads or Share Caches)• check_http 80 and 8080 ports for apache web proxy and tomcat• check_snmp for several general parameter (disks, memory, cpu, load, swap)• check_tcp conections to CIFS, FTP, RMI ports of Alfresco ECM• check_tomcat for servlet container monitorization via server status• check_mysqld for nice mysql graph stats and db net traffic

Access

• http://<yourserver>/nagios - classic web interface for Nagios• http://<yourserver>/icinga - classic web interface for Icinga• http://<yourserver>/icinga-web - new web interface• http://<yourserver>/pnp4nagios - graphs (and mobile access)

Icinga classic web interface (Nagios)• Always monitoring! • Nagios4Alfresco Plugin

+33 checks

How Icinga Looks Like?

pnp4nagios: Graphs Everywhere

• Rrd tool + nagios pefdata

Mobile Monitoring

• pnp4nagios has its own mobile interface

Troubleshooting• Ports and firewall (open only to your monitoring server!):

### RMI service ports ###alfresco.rmi.services.port=50500avm.rmi.service.port=50501avmsync.rmi.service.port=50502attribute.rmi.service.port=50503authentication.rmi.service.port=50504repo.rmi.service.port=50505action.rmi.service.port=50506deployment.rmi.service.port=50507

• Credentials•Change alfresco-jmxrmi.access and alfresco-jmxrmi.password (out of class path)•Read only for checks!!•Test with jconsole

Resources• Nagios

• http://www.nagios.org

• Icinga• http://www.icinga.org

• pnp4nagios• http://www.pnp4nagios.org

• Nagios4alfresco plugin • http://

addons.alfresco.com/addons/alfresco-nagios-icinga-plugin

• JavaMelody • http://code.google.com/p/

javamelody/

• Hyperic• http://www.hyperic.com

• NewRelic• http://www.newrelic.com

• AppDynamics• http://

www.appdynamics.com

• blyx.com• http://blyx.com

I would like to share my monitor server for testing purposes

• Not for production just test, gathering stats and add commands to the plugin

• No alerts mails or sms.

• Drop me an email: toni@blyx.com • IP address• JMX port• JMX read only user and password

• I will give you web access to see your server stats• Remember, personal project! Not SLA to apply :P• Up to 20 servers total

# while you=applause; do

echo THANKS!;done

Toni de la FuenteAlfresco Senior Solutions EngineerBlog: blyx.com Twitter: @ToniBlyx

# while you=applause; do

echo THANKS!;done

Toni de la FuenteAlfresco Senior Solutions EngineerBlog: blyx.com Twitter: @ToniBlyx

top related