#AlfrescoDayVienna
Alfresco One Admin Support Tools
The Alfresco One Admin’s best friends
Advanced Support Engineer
Nebil Kisa, Support, Alfresco
● Overview
● Alfresco One not easy to maintain
● One-Man-Show issue
● Large Enterprises problem to investigate issues quickly
● Comparison both worlds
● Dependencies
● JMX required
● How it looks
● Browser
● Features
● Live Graphs
● Active Sessions
● Hot Threads, Thread Dumper and Thread Sampler
● Log4J Settings and Extra
● Acknowledgments
● Source code on GitHub
Agenda
Overview
• Alfresco One is not an easily maintained application. It requires
external tools to diagnose, monitor and analyse problems or fine
tune configuration specific to the user case. For example, jstack,
jVisualVM , Yourkit, etc.
AlfrescoOne
Overview
• In mid-size companies the system administration tasks are run by a
one-man band
One-Man-Show
Overview
• In larger enterprises problem investigation or configuration of a system
feature (e.g. LDAP sync) involves several people from different teams:
Alfresco admin, sysAdmin, DBAdmin, Developer, network admin,
DevOps, project Manager … this can comprise 4 or 5 people ...
LargeEnterprises
Overview
One-man band:
• Knows a little about everything
• Alfresco is not his sole
responsibility
• Not a specialist or has access to
specialist tools.
• Alfresco support may need to
train the admin how to use a
specialist tool
Comparison
DevOps Team:
• Not all available when required
• Alfresco is not the only
responsibility
• A simple task such as putting a
class in DEBUG may require an
internal change process
• Internal security policies may
inhibit diagnostic steps, such as
accessing the DB or LDAP-AD
Dependencies
• Traditionally control of a JVM is made through the JMX (Java
Management Extension) which gives access to the Management
Beans (MBeans) and the monitoring parameters of the JVM.
• Note: JMX is only available in the Enterprise Edition of Alfresco
• Starting with version Alfresco 4.2.0 the JMX objects are exposed
through the JavaScript API.
JMXrequired
Dependencies
• Support Tools depends on the Admin Console provided from version 4.2 Enterprise onwards
• Sample URL: http://127.0.0.1:8080/alfresco/s/enterprise/admin/
Howitlooks
Dependencies
● This is the library used: http://smoothiecharts.org/
Browser
Internet
Explorer
Firefox
Safari
(Desktop)
Chrome
Opera
(Desktop)
Safari
(Mobile)
Opera
(Mobile)
Android
Browser
6.0 - 8.0 2.0 - 6.0 3.1 - 3.2 4.0 - 13.0 9.0 - 11.0 3.2 10.0 2.0
9.0 7.0 4.0 14.0 11.1 4.0 11.0 2.1
… … … … … … … …
11.0 47.0 9.1.1 51.0 30 6.0 16 4.4
● Live graphs use the CANVAS browser object which is unavailable on some old
browsers:
Features
LiveGraphs
System Performance
• Live graphs of the Memory
and CPU usage
• The graph uses a recursive
call to refresh data every 2
seconds
• Lightweight webscript that
will execute a JMX bean
operation (minimal impact)
• Timescale is configurable
by the user
Features
ActiveSessions
Checks your DB pool usage
and allows you to check
active usernames.
This actually traces sys activity
on DB side and the current
list of logged users
• You can click on one of
the usernames to see
more details
• You can invalidate the
session ticket of one user
to force a logoff
Features
HotThreads
• Based on the famous
HotThread tool written
in Java
• The script calculates the
CPU during 5 seconds
and displays the stack
trace of the 5 busiest
threads.
• You can generate
reports, save them and
send them to support
Features
ThreadDumper
• To troubleshoot
performance problems and
deadlocks
• You can generate as many
as you need and navigate
through them to compare.
Save all and study later
(this may not work on IE8
due the functions used to
save, copy and paste then
manually).
• The output is formatted to
resemble a Jstack
Features
ThreadSampler
• Allows you to see what each
thread on the system is
doing, every 5 seconds
• Threads are coloured
depending on their status
• Clicking on one of them
displays the stacktrace.
• Thread dumps can be saved
in JSON format to send to a
support ticket or loaded later
using the same page to
analyse them.
Features
Log4JSettings
• A live class can be set
easily to debug, tailed
in system log remotely
with a nice UI and with
only 2 clicks.
Features
Extra
Apart from that there are 4 little tools that could be helpful on some cases
• JMX Settings on the DB
– To find which beans have values overridden from the DB and revert them to the values on the properties
files, use with care
• Scheduled Jobs
– Lists and interprets the CRON jobs defined internally in Alfresco. Also shows the last execution time.
• Test Transformation
– Transformation settings and test transformation
• Thread Profiler
– Provides a live summary of each thread’s memory and CPU usage
Acknowledgments
SpecialThanks
• Mike Farman for his support on this project and parts of the code.
• Marco Mancuso for his help on the development and adapting it to Maven
standards.
• Rich McKnight for his code to access the persisted MBeans on the DB.
• Jamie Allison for his code review, polish and improvements.
• Will Abson for his useful advice.
• The Smoothie Charts creators: http:smoothiecharts.org/ the library from which
was quite useful and fun to use
Acknowledgments
Founder
Antonio Soler
Premier Advanced Support Engineer EMEA
Source code on Github
GitHub
1. Download v1.10 at: https://github.com/Alfresco/alfresco-support-tools
2. Stop Alfresco
3. Drop the Alfresco Support Tools AMP to folder ../<AlfrescoInstallHome>/amps
4. Use ../<AlfrescoInstallHome>/bin/apply_amps.sh/bat to inject the Alfresco Support
Tools in the alfresco.war
5. Empty “../tomcat/tmp”, “../tomcat/work” and remove “../tomcat/webapps/alfresco”
6. Restart Alfresco, log in to the Admin console and you are ready to go
Vielen Dank!
Nebil Kisa – nebil.kisa@alfresco.com
Folgen Sie uns auf
#AlfrescoDayVienn
a

Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole

  • 1.
  • 2.
    Alfresco One AdminSupport Tools The Alfresco One Admin’s best friends
  • 3.
    Advanced Support Engineer NebilKisa, Support, Alfresco
  • 4.
    ● Overview ● AlfrescoOne not easy to maintain ● One-Man-Show issue ● Large Enterprises problem to investigate issues quickly ● Comparison both worlds ● Dependencies ● JMX required ● How it looks ● Browser ● Features ● Live Graphs ● Active Sessions ● Hot Threads, Thread Dumper and Thread Sampler ● Log4J Settings and Extra ● Acknowledgments ● Source code on GitHub Agenda
  • 5.
    Overview • Alfresco Oneis not an easily maintained application. It requires external tools to diagnose, monitor and analyse problems or fine tune configuration specific to the user case. For example, jstack, jVisualVM , Yourkit, etc. AlfrescoOne
  • 6.
    Overview • In mid-sizecompanies the system administration tasks are run by a one-man band One-Man-Show
  • 7.
    Overview • In largerenterprises problem investigation or configuration of a system feature (e.g. LDAP sync) involves several people from different teams: Alfresco admin, sysAdmin, DBAdmin, Developer, network admin, DevOps, project Manager … this can comprise 4 or 5 people ... LargeEnterprises
  • 8.
    Overview One-man band: • Knowsa little about everything • Alfresco is not his sole responsibility • Not a specialist or has access to specialist tools. • Alfresco support may need to train the admin how to use a specialist tool Comparison DevOps Team: • Not all available when required • Alfresco is not the only responsibility • A simple task such as putting a class in DEBUG may require an internal change process • Internal security policies may inhibit diagnostic steps, such as accessing the DB or LDAP-AD
  • 9.
    Dependencies • Traditionally controlof a JVM is made through the JMX (Java Management Extension) which gives access to the Management Beans (MBeans) and the monitoring parameters of the JVM. • Note: JMX is only available in the Enterprise Edition of Alfresco • Starting with version Alfresco 4.2.0 the JMX objects are exposed through the JavaScript API. JMXrequired
  • 10.
    Dependencies • Support Toolsdepends on the Admin Console provided from version 4.2 Enterprise onwards • Sample URL: http://127.0.0.1:8080/alfresco/s/enterprise/admin/ Howitlooks
  • 11.
    Dependencies ● This isthe library used: http://smoothiecharts.org/ Browser Internet Explorer Firefox Safari (Desktop) Chrome Opera (Desktop) Safari (Mobile) Opera (Mobile) Android Browser 6.0 - 8.0 2.0 - 6.0 3.1 - 3.2 4.0 - 13.0 9.0 - 11.0 3.2 10.0 2.0 9.0 7.0 4.0 14.0 11.1 4.0 11.0 2.1 … … … … … … … … 11.0 47.0 9.1.1 51.0 30 6.0 16 4.4 ● Live graphs use the CANVAS browser object which is unavailable on some old browsers:
  • 12.
    Features LiveGraphs System Performance • Livegraphs of the Memory and CPU usage • The graph uses a recursive call to refresh data every 2 seconds • Lightweight webscript that will execute a JMX bean operation (minimal impact) • Timescale is configurable by the user
  • 13.
    Features ActiveSessions Checks your DBpool usage and allows you to check active usernames. This actually traces sys activity on DB side and the current list of logged users • You can click on one of the usernames to see more details • You can invalidate the session ticket of one user to force a logoff
  • 14.
    Features HotThreads • Based onthe famous HotThread tool written in Java • The script calculates the CPU during 5 seconds and displays the stack trace of the 5 busiest threads. • You can generate reports, save them and send them to support
  • 15.
    Features ThreadDumper • To troubleshoot performanceproblems and deadlocks • You can generate as many as you need and navigate through them to compare. Save all and study later (this may not work on IE8 due the functions used to save, copy and paste then manually). • The output is formatted to resemble a Jstack
  • 16.
    Features ThreadSampler • Allows youto see what each thread on the system is doing, every 5 seconds • Threads are coloured depending on their status • Clicking on one of them displays the stacktrace. • Thread dumps can be saved in JSON format to send to a support ticket or loaded later using the same page to analyse them.
  • 17.
    Features Log4JSettings • A liveclass can be set easily to debug, tailed in system log remotely with a nice UI and with only 2 clicks.
  • 18.
    Features Extra Apart from thatthere are 4 little tools that could be helpful on some cases • JMX Settings on the DB – To find which beans have values overridden from the DB and revert them to the values on the properties files, use with care • Scheduled Jobs – Lists and interprets the CRON jobs defined internally in Alfresco. Also shows the last execution time. • Test Transformation – Transformation settings and test transformation • Thread Profiler – Provides a live summary of each thread’s memory and CPU usage
  • 19.
    Acknowledgments SpecialThanks • Mike Farmanfor his support on this project and parts of the code. • Marco Mancuso for his help on the development and adapting it to Maven standards. • Rich McKnight for his code to access the persisted MBeans on the DB. • Jamie Allison for his code review, polish and improvements. • Will Abson for his useful advice. • The Smoothie Charts creators: http:smoothiecharts.org/ the library from which was quite useful and fun to use
  • 20.
  • 21.
    Source code onGithub GitHub 1. Download v1.10 at: https://github.com/Alfresco/alfresco-support-tools 2. Stop Alfresco 3. Drop the Alfresco Support Tools AMP to folder ../<AlfrescoInstallHome>/amps 4. Use ../<AlfrescoInstallHome>/bin/apply_amps.sh/bat to inject the Alfresco Support Tools in the alfresco.war 5. Empty “../tomcat/tmp”, “../tomcat/work” and remove “../tomcat/webapps/alfresco” 6. Restart Alfresco, log in to the Admin console and you are ready to go
  • 22.
    Vielen Dank! Nebil Kisa– nebil.kisa@alfresco.com Folgen Sie uns auf #AlfrescoDayVienn a