SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Alfresco monitoring
setups with Nagios and
ELK stack using JMX and
OOTB Support tools
Cesar Capillas <cesar@zylk.net>
Learn. Connect. Collaborate.
About me
• I am an IT/Solution Architect at zylk.net, a content management and big
data consultancy in Bilbao (Spain). I worked with Alfresco-based solutions
during the last 8 years in large organisations. I am a member of the OOTB,
the author of a popular Alfresco Blog in Spain, and an active user in
Alfresco Community forums.
• https://www.linkedin.com/in/cesarcapillas
Learn. Connect. Collaborate.
Intro and motivations
• Nagios/Icinga is a nice tool for alerts and notifications but:
– It is not the best option for visualizations
– It is more oriented for a given service or host, not for a complete view
of a cluster, for example.
• We use ELK stack with Kibana for:
– JMX metrics in Alfresco Enterprise
– A basic solution for your Alfresco logs
– A support tools-like system performance and active sessions
dashboard, but in a persisted way, for Alfresco Community.
Learn. Connect. Collaborate.
Minimal setup
1
Tested on:
- Alfresco 201707GA
- Alfresco 5.0.25 EE / 5.1.3 EE
Tested on:
- ELK stack 5.6.3
Tested on:
- Nagios 3 / Icinga 1.x
Learn. Connect. Collaborate.
Nagios setup
 Nagios is an IT industry standard for infrastructure monitoring, with tons of
plugins.
 It allows to define thresholds for alerts and notifications (email, slack)
for your hosts and services. Combined with graphs (PNP, nagiosgraphs), it
may help to check and understand behaviour patterns of our Alfresco
installation.
 The starting point is to monitor your infrastructure parameters such as CPU,
Memory, Swap, Load, Disk usages, check_http direct service urls or
check_tcp used ports of your Alfresco installation.
Learn. Connect. Collaborate.
The next step - JMX (Alfresco EE)
• JMX provides monitoring information of many properties such as
NumActive (Connection Pool), TicketAllNonExpired, NumDocuments
(SOLR), Disk sizes for your contentstores and indices and many many
more….
• JMX bean objects in Alfresco may be browsed and inspected with the help
of jconsole, jvisualvm or jmxshell.
• Alfresco objects are only available in Alfresco EE, although basic java,
tomcat and system information may be used with Alfresco CE
https://www.zylk.net/en/web-2-0/blog/-/blogs/enabling-jmx-in-alfresco
Learn. Connect. Collaborate.
JMX in Nagios via check_jmx (Alfresco EE)
• I create a basic template (for both Alfresco Community and Enterprise) in
Docker and Vagrant for using Nagios / Icinga.
http://www.github.com/zylklab/alfresco-nagios
https://github.com/toniblyx/alfresco-nagios-and-icinga-plugin
$ git clone https://github.com/zylklab/alfresco-nagios
$ cd alfresco-nagios
$ vim Dockerfile
ENV ACS_HOST alf-ee.melmac.net
ENV ACS_ADDR 127.0.0.1
ENV JMX_USER monitorRole
ENV JMX_PASS change_asap
$ docker build -t zylklab/icingalf .
$ docker run -i -t zylklab/icingalf
Tested on:
- Alfresco 201707GA + OOTB Support Tools
Addon > 0.1
- Alfresco 5.0.25 EE
- Nagios/Icinga 3
- Docker version 1.12.6
- Vagrant 1.8.1
Learn. Connect. Collaborate.
OOTB Support Tools webscripts (Alfresco CE)
• OOTB Support tools provides JSON-based webscripts that may be used
for extracting useful information for a monitoring service
– System Performance
– Active Sessions
– SOLR
• First step was to create Nagios scripts for getting this info via curl
command, providing alerts and notifications for Alfresco Community.
http://www.github.com/zylklab/alfresco-nagios 2
https://github.com/OrderOfTheBee/ootbee-support-tools
Learn. Connect. Collaborate.
Nagios / Icinga checks (Alfresco CE)
http://www.github.com/zylklab/alfresco-nagios
Tested on:
- Alfresco 201707GA + OOTB Support Tools
Addon > 0.1
- Alfresco 5.0.25 EE
- Nagios/Icinga 3
- Docker version 1.12.6
- Vagrant 1.8.1
Learn. Connect. Collaborate.
ELK setup: Kibana dashboards
• Kibana is a nice tool for inspecting logs, to do searches and inspect
graphically a given metric. It is part of the well known ELK stack.
• ELK = Elastic Search + Logstash + Kibana
– Elastic Search is the index server.
– Kibana is an interface for searching and visualizing the indexed data
(logs, metrics...)
– Logstash is the tool for extracting, transforming and loading data in
Elastic Search.
Learn. Connect. Collaborate.
Logstash input JMX plugin (Alfresco EE)
• Logstash has a lot of plugins. One of them is the logstash-input-jmx
• The plugin allows to define an URL service for JMX, user credentials, a set
of JMX objects and a polling frequency. And without many
transformations, we can index a JSON object in Elastic Search with the
given JMX fields and values.
## logstash.conf  JMX objects defined in $LS_HOME/jmx/jmx.conf
input {
jmx{
type => "jmx"
path => "./jmx"
polling_frequency => 60
}
}
Learn. Connect. Collaborate.
System Performance via JMX in Kibana
https://www.zylk.net/en/web-2-0/blog/-/blogs/kibana-dashboard-for-monitoring-alfresco-jmx-metrics
JVM Heap
usage for
3 Alfresco
nodes in a
cluster
Learn. Connect. Collaborate.
Alfresco JMX (./jmx/jmx.conf)
{
"host" : "alfie",
"port" : 50500,
"url" : "service:jmx:rmi:///jndi/rmi://localhost:50500/alfresco/jmxrmi",
"username" : "monitorRole",
"password": "change_asap",
"alias": "alfresco",
"queries" : [
{
"object_name" : "java.lang:type=Memory",
"attributes" : [ "HeapMemoryUsage" ],
"object_alias" : "Heap_Memory"
},
{
"object_name" : "Alfresco:Name=SolrIndexes,Core=alfresco",
"attributes" : [ "NumDocuments" ],
"object_alias" : "Alfresco_Solr_Indexes"
},
{
"object_name" : "Alfresco:Name=ConnectionPool",
"attributes" : [ "MaxActive", "NumActive" ],
"object_alias" : "DB_Connection_Pool"
}
] }
JMX url
JMX objects
3
Learn. Connect. Collaborate.
Alfresco Logs (Kibana dashboard)
https://www.zylk.net/en/web-2-0/blog/-/blogs/simple-kibana-dashboard-for-monitoring-alfresco-logs
Number of logs
vs t.
Last Alfresco Startup
Last LDAP Sync
Number of logs by
level (with filters)
Last LDAP SyncLast LDAP Sync
Number of logs by
class (with filters)
Log console
Learn. Connect. Collaborate.
Alfresco Logs (logstash.conf)
##
## Tomcat catalina.out logs
##
input {
file {
type => "alfresco-log"
path => ["/opt/alfresco/tomcat/logs/catalina.out", "/opt/alfresco/tomcat/logs/catalina*out*"]
}
}
##
## Filters for alfresco-log
##
filter {
if [type] == "alfresco-log" {
# Match incoming log entries to fields logLevel, class and Msg
grok {
match => [ "message", "%{TIMESTAMP_ISO8601:logdate}s*%{LOGLEVEL:logLevel} %{NOTSPACE:class}s*%{GREEDYDATA:Msg}" ]
}
# Match logdate from timestamp
date {
match => ["logdate" , "yyyy-MM-dd HH:mm:ss,SSS"]
target => "@timestamp"
}
}
}
Logstash input file
Grok parsing for extracting loglevel,
class and msg
Valid for both Alfresco CE and EE
Learn. Connect. Collaborate.
System Performance dashboard in Kibana (Alfresco CE)
https://www.zylk.net/en/web-2-0/blog/-/blogs/kibana-dashboard-for-monitoring-alfresco-community-via-ootb-support-tools
Kibana allows to
build a
dashboard via
saved searches,
tables, metrics,
gauges or
visualizations
over your indices
Heap Memory
System /
Process Load
Threads
Support Tools
like System
Performance
(but in a
persisted way)
Learn. Connect. Collaborate.
System Performance (logstash.conf)
##
## OOTB Admin performance webscript
##
input {
http_poller {
id => "ootb-poller-performance"
type => "ootb-performance"
urls => {
alfie_perform => {
url => "http://localhost:8080/alfresco/service/ootbee/admin/admin-performance.json"
method => "GET"
headers => {
Accept => "application/json"
}
auth => {
user => "monitor"
password => "s3cret"
}
}
}
automatic_retries => 0
#schedule => { cron => "* * * * * UTC"}
schedule => { every => "60s" }
request_timeout => 8
tags => ootb
}
}
System
Performance
webscript
in JSON format
-
OOTB
Support Tools
Polling
frequency
logstash-input-http_poller
4
Learn. Connect. Collaborate.
More dashboards in Kibana
ACTIVE SESSIONS SOLR SUMMARY
Learn. Connect. Collaborate.
Summarizing Nagios setup
• Requirement for monitoring Alfresco CE:
– Nagios curl scripts with OOTB Support Tools addon.
– Alfresco Hackathon (Zaragoza - Beecon 2017) – Added SOLR page to OOTB
Support Tools (new webscript)
– Docker and vagrant resources for Nagios / Icinga (for Alfresco Community)
– Docker and vagrant resources for Nagios / Icinga (for Alfresco Enterprise) -
based on previous Nagios template of Toni de la Fuente.
http://www.github.com/zylklab/alfresco-nagios
https://github.com/toniblyx/alfresco-nagios-and-icinga-plugin
Learn. Connect. Collaborate.
Summarizing ELK setup
• We needed a better solution for graphs:
– Dashboard for System Performance, Active Sessions and SOLR based on
logstash-input-http_poller plugin using OOTB Support Tools webscripts (for
Alfresco CE)
– Other dashboards for Alfresco Logs based mainly from Docker ELK resources
by Miguel Rodriguez.
• For Alfresco EE:
– Dashboard for System Performance based on logstash-input-jmx plugin.
http://www.github.com/zylklab/alfresco-elk
https://github.com/miguel-rodriguez/Docker-ELK-Alfresco-Monitoring
Learn. Connect. Collaborate.
What’s next: Apache stack instead ELK stack
• Alternatives to ELK in Apache stack ?
− We may use logstash-output-solr_http for saving metrics and log
information in SOLR.
− We may use Banana port for SOLR of Kibana.
− We may use Apache Zeppelin for querying SQL in SOLR.
− Apache Nifi vs. Logstash ?
https://www.zylk.net/es/web-2-0/blog/-/blogs/more-on-monitoring-dashboards-for-
alfresco-using-solr-banana-and-apache-zeppelin
Alfresco monitoring
setups with Nagios and
ELK stack using JMX and
OOTB Support tools
http://www.github.com/zylklab/alfresco-nagios
http://www.github.com/zylklab/alfresco-elk
@zylknet

Contenu connexe

Tendances

Salesforce Deployment using Change Set (1) (1).pptx
Salesforce Deployment using Change Set (1) (1).pptxSalesforce Deployment using Change Set (1) (1).pptx
Salesforce Deployment using Change Set (1) (1).pptxDean Infotech
 
Building Cloud Native Architectures with Spring
Building Cloud Native Architectures with SpringBuilding Cloud Native Architectures with Spring
Building Cloud Native Architectures with SpringKenny Bastani
 
Container orchestration overview
Container orchestration overviewContainer orchestration overview
Container orchestration overviewWyn B. Van Devanter
 
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...Alex Cachia
 
Mule Runtime: Performance Tuning
Mule Runtime: Performance Tuning Mule Runtime: Performance Tuning
Mule Runtime: Performance Tuning MuleSoft
 
The definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosumThe definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosumFlosum
 
Oracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide IIOracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide IIRati Sharma
 
Microservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous DeliveryMicroservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous DeliveryKhalid Salama
 
Exciting New Alfresco REST APIs
Exciting New Alfresco REST APIsExciting New Alfresco REST APIs
Exciting New Alfresco REST APIsJ V
 
Oracle Service Bus 12c (12.2.1) What You Always Wanted to Know
Oracle Service Bus 12c (12.2.1) What You Always Wanted to KnowOracle Service Bus 12c (12.2.1) What You Always Wanted to Know
Oracle Service Bus 12c (12.2.1) What You Always Wanted to KnowFrank Munz
 
Doors Getting Started
Doors Getting StartedDoors Getting Started
Doors Getting Startedsong4fun
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Chandler Anderson
 
Oracle R12 Upgrade - Sub Ledger Accounting
Oracle R12 Upgrade - Sub Ledger AccountingOracle R12 Upgrade - Sub Ledger Accounting
Oracle R12 Upgrade - Sub Ledger AccountingEnrich, LLC
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of dockerJohn Zaccone
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 
White Paper Oracle Subledger Accounting
White Paper Oracle Subledger AccountingWhite Paper Oracle Subledger Accounting
White Paper Oracle Subledger AccountingSandeep Vantmuriswami
 

Tendances (20)

Salesforce Deployment using Change Set (1) (1).pptx
Salesforce Deployment using Change Set (1) (1).pptxSalesforce Deployment using Change Set (1) (1).pptx
Salesforce Deployment using Change Set (1) (1).pptx
 
Building Cloud Native Architectures with Spring
Building Cloud Native Architectures with SpringBuilding Cloud Native Architectures with Spring
Building Cloud Native Architectures with Spring
 
Upgrading to Alfresco 6
Upgrading to Alfresco 6Upgrading to Alfresco 6
Upgrading to Alfresco 6
 
Container orchestration overview
Container orchestration overviewContainer orchestration overview
Container orchestration overview
 
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
 
Mule Runtime: Performance Tuning
Mule Runtime: Performance Tuning Mule Runtime: Performance Tuning
Mule Runtime: Performance Tuning
 
The definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosumThe definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosum
 
Oracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide IIOracle FCCS Getting Started Guide II
Oracle FCCS Getting Started Guide II
 
Terraform
TerraformTerraform
Terraform
 
Microservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous DeliveryMicroservices, DevOps, and Continuous Delivery
Microservices, DevOps, and Continuous Delivery
 
Exciting New Alfresco REST APIs
Exciting New Alfresco REST APIsExciting New Alfresco REST APIs
Exciting New Alfresco REST APIs
 
Oracle Service Bus 12c (12.2.1) What You Always Wanted to Know
Oracle Service Bus 12c (12.2.1) What You Always Wanted to KnowOracle Service Bus 12c (12.2.1) What You Always Wanted to Know
Oracle Service Bus 12c (12.2.1) What You Always Wanted to Know
 
Doors Getting Started
Doors Getting StartedDoors Getting Started
Doors Getting Started
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Oracle R12 Upgrade - Sub Ledger Accounting
Oracle R12 Upgrade - Sub Ledger AccountingOracle R12 Upgrade - Sub Ledger Accounting
Oracle R12 Upgrade - Sub Ledger Accounting
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
White Paper Oracle Subledger Accounting
White Paper Oracle Subledger AccountingWhite Paper Oracle Subledger Accounting
White Paper Oracle Subledger Accounting
 
Openstack nova
Openstack novaOpenstack nova
Openstack nova
 

Similaire à Alfresco monitoring with Nagios and ELK stack

StorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and PrestoStorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and PrestoAlluxio, Inc.
 
2015 03-16-elk at-bsides
2015 03-16-elk at-bsides2015 03-16-elk at-bsides
2015 03-16-elk at-bsidesJeremy Cohoe
 
ELK Ruminating on Logs (Zendcon 2016)
ELK Ruminating on Logs (Zendcon 2016)ELK Ruminating on Logs (Zendcon 2016)
ELK Ruminating on Logs (Zendcon 2016)Mathew Beane
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek PROIDEA
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackJakub Hajek
 
OnCrawl ElasticSearch Meetup France #12
OnCrawl ElasticSearch Meetup France #12OnCrawl ElasticSearch Meetup France #12
OnCrawl ElasticSearch Meetup France #12Cogniteev
 
Oncrawl elasticsearch meetup france #12
Oncrawl elasticsearch meetup france #12Oncrawl elasticsearch meetup france #12
Oncrawl elasticsearch meetup france #12Tanguy MOAL
 
Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin  Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin Kuberton
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMark Swarbrick
 
Elk presentation 2#3
Elk presentation 2#3Elk presentation 2#3
Elk presentation 2#3uzzal basak
 
Centralized logging for (java) applications with the elastic stack made easy
Centralized logging for (java) applications with the elastic stack   made easyCentralized logging for (java) applications with the elastic stack   made easy
Centralized logging for (java) applications with the elastic stack made easyfelixbarny
 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaPrajal Kulkarni
 
Elk devops
Elk devopsElk devops
Elk devopsIdeato
 
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...ShapeBlue
 
Centralized Logging System Using ELK Stack
Centralized Logging System Using ELK StackCentralized Logging System Using ELK Stack
Centralized Logging System Using ELK StackRohit Sharma
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...Fabio Franzini
 
Let's play with adf 3.0
Let's play with adf 3.0Let's play with adf 3.0
Let's play with adf 3.0Eugenio Romano
 

Similaire à Alfresco monitoring with Nagios and ELK stack (20)

elk_stack_alexander_szalonnas
elk_stack_alexander_szalonnaselk_stack_alexander_szalonnas
elk_stack_alexander_szalonnas
 
Logstash
LogstashLogstash
Logstash
 
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and PrestoStorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
 
2015 03-16-elk at-bsides
2015 03-16-elk at-bsides2015 03-16-elk at-bsides
2015 03-16-elk at-bsides
 
ELK Ruminating on Logs (Zendcon 2016)
ELK Ruminating on Logs (Zendcon 2016)ELK Ruminating on Logs (Zendcon 2016)
ELK Ruminating on Logs (Zendcon 2016)
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic Stack
 
OnCrawl ElasticSearch Meetup France #12
OnCrawl ElasticSearch Meetup France #12OnCrawl ElasticSearch Meetup France #12
OnCrawl ElasticSearch Meetup France #12
 
Oncrawl elasticsearch meetup france #12
Oncrawl elasticsearch meetup france #12Oncrawl elasticsearch meetup france #12
Oncrawl elasticsearch meetup france #12
 
Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin  Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats new
 
Elk presentation 2#3
Elk presentation 2#3Elk presentation 2#3
Elk presentation 2#3
 
Centralized logging for (java) applications with the elastic stack made easy
Centralized logging for (java) applications with the elastic stack   made easyCentralized logging for (java) applications with the elastic stack   made easy
Centralized logging for (java) applications with the elastic stack made easy
 
Alfresco Architecture
Alfresco ArchitectureAlfresco Architecture
Alfresco Architecture
 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and Kibana
 
Elk devops
Elk devopsElk devops
Elk devops
 
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
 
Centralized Logging System Using ELK Stack
Centralized Logging System Using ELK StackCentralized Logging System Using ELK Stack
Centralized Logging System Using ELK Stack
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
 
Let's play with adf 3.0
Let's play with adf 3.0Let's play with adf 3.0
Let's play with adf 3.0
 

Dernier

Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of indiaimessage0108
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts servicesonalikaur4
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 

Dernier (20)

Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of india
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 

Alfresco monitoring with Nagios and ELK stack

  • 1. Alfresco monitoring setups with Nagios and ELK stack using JMX and OOTB Support tools Cesar Capillas <cesar@zylk.net>
  • 2. Learn. Connect. Collaborate. About me • I am an IT/Solution Architect at zylk.net, a content management and big data consultancy in Bilbao (Spain). I worked with Alfresco-based solutions during the last 8 years in large organisations. I am a member of the OOTB, the author of a popular Alfresco Blog in Spain, and an active user in Alfresco Community forums. • https://www.linkedin.com/in/cesarcapillas
  • 3. Learn. Connect. Collaborate. Intro and motivations • Nagios/Icinga is a nice tool for alerts and notifications but: – It is not the best option for visualizations – It is more oriented for a given service or host, not for a complete view of a cluster, for example. • We use ELK stack with Kibana for: – JMX metrics in Alfresco Enterprise – A basic solution for your Alfresco logs – A support tools-like system performance and active sessions dashboard, but in a persisted way, for Alfresco Community.
  • 4. Learn. Connect. Collaborate. Minimal setup 1 Tested on: - Alfresco 201707GA - Alfresco 5.0.25 EE / 5.1.3 EE Tested on: - ELK stack 5.6.3 Tested on: - Nagios 3 / Icinga 1.x
  • 5. Learn. Connect. Collaborate. Nagios setup  Nagios is an IT industry standard for infrastructure monitoring, with tons of plugins.  It allows to define thresholds for alerts and notifications (email, slack) for your hosts and services. Combined with graphs (PNP, nagiosgraphs), it may help to check and understand behaviour patterns of our Alfresco installation.  The starting point is to monitor your infrastructure parameters such as CPU, Memory, Swap, Load, Disk usages, check_http direct service urls or check_tcp used ports of your Alfresco installation.
  • 6. Learn. Connect. Collaborate. The next step - JMX (Alfresco EE) • JMX provides monitoring information of many properties such as NumActive (Connection Pool), TicketAllNonExpired, NumDocuments (SOLR), Disk sizes for your contentstores and indices and many many more…. • JMX bean objects in Alfresco may be browsed and inspected with the help of jconsole, jvisualvm or jmxshell. • Alfresco objects are only available in Alfresco EE, although basic java, tomcat and system information may be used with Alfresco CE https://www.zylk.net/en/web-2-0/blog/-/blogs/enabling-jmx-in-alfresco
  • 7. Learn. Connect. Collaborate. JMX in Nagios via check_jmx (Alfresco EE) • I create a basic template (for both Alfresco Community and Enterprise) in Docker and Vagrant for using Nagios / Icinga. http://www.github.com/zylklab/alfresco-nagios https://github.com/toniblyx/alfresco-nagios-and-icinga-plugin $ git clone https://github.com/zylklab/alfresco-nagios $ cd alfresco-nagios $ vim Dockerfile ENV ACS_HOST alf-ee.melmac.net ENV ACS_ADDR 127.0.0.1 ENV JMX_USER monitorRole ENV JMX_PASS change_asap $ docker build -t zylklab/icingalf . $ docker run -i -t zylklab/icingalf Tested on: - Alfresco 201707GA + OOTB Support Tools Addon > 0.1 - Alfresco 5.0.25 EE - Nagios/Icinga 3 - Docker version 1.12.6 - Vagrant 1.8.1
  • 8. Learn. Connect. Collaborate. OOTB Support Tools webscripts (Alfresco CE) • OOTB Support tools provides JSON-based webscripts that may be used for extracting useful information for a monitoring service – System Performance – Active Sessions – SOLR • First step was to create Nagios scripts for getting this info via curl command, providing alerts and notifications for Alfresco Community. http://www.github.com/zylklab/alfresco-nagios 2 https://github.com/OrderOfTheBee/ootbee-support-tools
  • 9. Learn. Connect. Collaborate. Nagios / Icinga checks (Alfresco CE) http://www.github.com/zylklab/alfresco-nagios Tested on: - Alfresco 201707GA + OOTB Support Tools Addon > 0.1 - Alfresco 5.0.25 EE - Nagios/Icinga 3 - Docker version 1.12.6 - Vagrant 1.8.1
  • 10. Learn. Connect. Collaborate. ELK setup: Kibana dashboards • Kibana is a nice tool for inspecting logs, to do searches and inspect graphically a given metric. It is part of the well known ELK stack. • ELK = Elastic Search + Logstash + Kibana – Elastic Search is the index server. – Kibana is an interface for searching and visualizing the indexed data (logs, metrics...) – Logstash is the tool for extracting, transforming and loading data in Elastic Search.
  • 11. Learn. Connect. Collaborate. Logstash input JMX plugin (Alfresco EE) • Logstash has a lot of plugins. One of them is the logstash-input-jmx • The plugin allows to define an URL service for JMX, user credentials, a set of JMX objects and a polling frequency. And without many transformations, we can index a JSON object in Elastic Search with the given JMX fields and values. ## logstash.conf  JMX objects defined in $LS_HOME/jmx/jmx.conf input { jmx{ type => "jmx" path => "./jmx" polling_frequency => 60 } }
  • 12. Learn. Connect. Collaborate. System Performance via JMX in Kibana https://www.zylk.net/en/web-2-0/blog/-/blogs/kibana-dashboard-for-monitoring-alfresco-jmx-metrics JVM Heap usage for 3 Alfresco nodes in a cluster
  • 13. Learn. Connect. Collaborate. Alfresco JMX (./jmx/jmx.conf) { "host" : "alfie", "port" : 50500, "url" : "service:jmx:rmi:///jndi/rmi://localhost:50500/alfresco/jmxrmi", "username" : "monitorRole", "password": "change_asap", "alias": "alfresco", "queries" : [ { "object_name" : "java.lang:type=Memory", "attributes" : [ "HeapMemoryUsage" ], "object_alias" : "Heap_Memory" }, { "object_name" : "Alfresco:Name=SolrIndexes,Core=alfresco", "attributes" : [ "NumDocuments" ], "object_alias" : "Alfresco_Solr_Indexes" }, { "object_name" : "Alfresco:Name=ConnectionPool", "attributes" : [ "MaxActive", "NumActive" ], "object_alias" : "DB_Connection_Pool" } ] } JMX url JMX objects 3
  • 14. Learn. Connect. Collaborate. Alfresco Logs (Kibana dashboard) https://www.zylk.net/en/web-2-0/blog/-/blogs/simple-kibana-dashboard-for-monitoring-alfresco-logs Number of logs vs t. Last Alfresco Startup Last LDAP Sync Number of logs by level (with filters) Last LDAP SyncLast LDAP Sync Number of logs by class (with filters) Log console
  • 15. Learn. Connect. Collaborate. Alfresco Logs (logstash.conf) ## ## Tomcat catalina.out logs ## input { file { type => "alfresco-log" path => ["/opt/alfresco/tomcat/logs/catalina.out", "/opt/alfresco/tomcat/logs/catalina*out*"] } } ## ## Filters for alfresco-log ## filter { if [type] == "alfresco-log" { # Match incoming log entries to fields logLevel, class and Msg grok { match => [ "message", "%{TIMESTAMP_ISO8601:logdate}s*%{LOGLEVEL:logLevel} %{NOTSPACE:class}s*%{GREEDYDATA:Msg}" ] } # Match logdate from timestamp date { match => ["logdate" , "yyyy-MM-dd HH:mm:ss,SSS"] target => "@timestamp" } } } Logstash input file Grok parsing for extracting loglevel, class and msg Valid for both Alfresco CE and EE
  • 16. Learn. Connect. Collaborate. System Performance dashboard in Kibana (Alfresco CE) https://www.zylk.net/en/web-2-0/blog/-/blogs/kibana-dashboard-for-monitoring-alfresco-community-via-ootb-support-tools Kibana allows to build a dashboard via saved searches, tables, metrics, gauges or visualizations over your indices Heap Memory System / Process Load Threads Support Tools like System Performance (but in a persisted way)
  • 17. Learn. Connect. Collaborate. System Performance (logstash.conf) ## ## OOTB Admin performance webscript ## input { http_poller { id => "ootb-poller-performance" type => "ootb-performance" urls => { alfie_perform => { url => "http://localhost:8080/alfresco/service/ootbee/admin/admin-performance.json" method => "GET" headers => { Accept => "application/json" } auth => { user => "monitor" password => "s3cret" } } } automatic_retries => 0 #schedule => { cron => "* * * * * UTC"} schedule => { every => "60s" } request_timeout => 8 tags => ootb } } System Performance webscript in JSON format - OOTB Support Tools Polling frequency logstash-input-http_poller 4
  • 18. Learn. Connect. Collaborate. More dashboards in Kibana ACTIVE SESSIONS SOLR SUMMARY
  • 19. Learn. Connect. Collaborate. Summarizing Nagios setup • Requirement for monitoring Alfresco CE: – Nagios curl scripts with OOTB Support Tools addon. – Alfresco Hackathon (Zaragoza - Beecon 2017) – Added SOLR page to OOTB Support Tools (new webscript) – Docker and vagrant resources for Nagios / Icinga (for Alfresco Community) – Docker and vagrant resources for Nagios / Icinga (for Alfresco Enterprise) - based on previous Nagios template of Toni de la Fuente. http://www.github.com/zylklab/alfresco-nagios https://github.com/toniblyx/alfresco-nagios-and-icinga-plugin
  • 20. Learn. Connect. Collaborate. Summarizing ELK setup • We needed a better solution for graphs: – Dashboard for System Performance, Active Sessions and SOLR based on logstash-input-http_poller plugin using OOTB Support Tools webscripts (for Alfresco CE) – Other dashboards for Alfresco Logs based mainly from Docker ELK resources by Miguel Rodriguez. • For Alfresco EE: – Dashboard for System Performance based on logstash-input-jmx plugin. http://www.github.com/zylklab/alfresco-elk https://github.com/miguel-rodriguez/Docker-ELK-Alfresco-Monitoring
  • 21. Learn. Connect. Collaborate. What’s next: Apache stack instead ELK stack • Alternatives to ELK in Apache stack ? − We may use logstash-output-solr_http for saving metrics and log information in SOLR. − We may use Banana port for SOLR of Kibana. − We may use Apache Zeppelin for querying SQL in SOLR. − Apache Nifi vs. Logstash ? https://www.zylk.net/es/web-2-0/blog/-/blogs/more-on-monitoring-dashboards-for- alfresco-using-solr-banana-and-apache-zeppelin
  • 22. Alfresco monitoring setups with Nagios and ELK stack using JMX and OOTB Support tools http://www.github.com/zylklab/alfresco-nagios http://www.github.com/zylklab/alfresco-elk @zylknet