Alfresco Administration best prcatices - in swedish
1 of 19
Download to read offline
More Related Content
Alfresco administration stockholm meetup
1. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Alfresco
administration
- best practices
Erfarenheter av 5 års fältstudier
130506 Carl Nordenfelt
calle@redpill-linpro.com
2. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Projektplanering
Pilot, PoC eller
“sprint 0”
Driftsättning
Förvaltning
Plattform
Arkitektur
Use case
Agenda
JVM & gc
Backup/restore
Loggning
Säkerhet
Lagring
Prestanda
Ă–vervakning
Uppgradering
UnderhĂĄll
+ checklista och tool-tips!
3. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Arkitektur & plattform
DB Fillager Index
Lagring
Transparent
för Alfresco
Alfresco repository
Klustrat vid behov
Lastbalansering
Lastbalansering
Presentation
Normalt Alfresco Share
4. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Arkitektur & plattform
DB Fillager Index
Lagring
Transparent
för Alfresco
Alfresco repository
Klustrat vid behov
Lastbalansering
Lastbalansering
Presentation
Normalt Alfresco Share
âś” Verifiera plattformen: http://www.alfresco.com/services/subscription/supported-
platforms
✔ Utnyttja möjligheten att skikta lösningen i flera lager och
separera delar (sökmotor, transformationer) vid behov.
✔ Börja i liten skala och väx efter behov. Stäng av de tjänster
som inte används (cifs, ftp, nfs, imap, smtp...).
âś” Use case pĂĄverkar arkitektur och konfiguration! Estimera
- Antal noder i systemet
- Typ av innehĂĄll (office, media, text...)
- Antal användare (aktiva/passiva)
- Fördelning mellan läs- och skrivtransaktioner
- Systemintegrationer (typ och frekvens)
5. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Generella rekommendationer för extern åtkomst
• Använd alltid en proxy (httpd, HAProxy, nginx etc).
• Använd alltid ssl (https).
• Exponera aldrig Alfresco repository (öppna specifika
portar vid behov).
• Policy för lösenord?
• Utnyttja rättighetsstyrningen i Alfresco och utbilda
användarna!
• Medvetenhet om vad som exponeras i dokument och
metadata.
Säkerhet
6. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
“kom ihåg lista”
• Ändra standardlösenord (admin, databas, jmx).
• Generera egna certifikat (använd keytool) för Solr.
• Skapa en dedikerad användare för Alfresco (använd inte “root”)
• Begränsa rättigheterna på contentstore, konfig, loggar.
• Kontrollera öppna portar: sudo netstat Âpletn | grep Âi java
• Inaktivera “guest”-användaren.
• Kontrollera senaste patchar för applikationsserver och databas.
• Använd en säker autenticering (alltså inte ldap utan kryptering).
Mer detaljer: http://www.youtube.com/watch?v=kGrcXrpLz_M och
http://code.google.com/p/alfresco-security-toolkit
Säkerhet - konfiguration
7. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
I <3 my contentstore
dir.root
/contentstore
/contenstore.deleted
/solr
db.url
alf_node →
alf_content_data →
alf_content_url
?
Vad händer när innehåll skapas,
förändras och raderas?
Varför är detta relevant?
8. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
The life of a document...
1 Dokumentet skapas
â—Ź Filen lagras i contentstore
â—Ź Ny nod skapas i db
â—Ź Index skapas
contentstore/2013/4/30/9/27/1a75a2d9-1127-45aa-a88c-3beb867fba51.bin
alf_node(id) →
alf_content_data(content_url_id) →
alf_content_url(content_url)
alf_node(store_id) = 5 (archive://SpacesStore)2 Dokumentet raderas
â—Ź Samma fil i contentstore
â—Ź Markeras i DB
â—Ź Flyttas till nytt index
3 Papperskorgen töms
â—Ź Samma fil i contentstore
â—Ź Markeras i DB
â—Ź Raderas frĂĄn index
Schemalagt jobb contentStoreCleaner flyttar filen till
contentstore.deleted och raderar referenser till
alf_content_url
Schemalagt jobb nodeServiceCleanup raderar noden
frĂĄn alf_node
4 Permanent radering
â—Ź Filen flyttas till
contentstore.deleted
â—Ź Raderas frĂĄn DB
14 dagar
30 dagar
sys:pendingDelete aspekt kopplas till
noden, metadata och associationer raderas
Hoppa över hela steg 3 mha cm:temporary!
9. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Slutsatser
Filer i contentstore förändras inte
• Varje ny version är en ny fil → Behöver man spara alla versioner?
• Vid restore är det bättre att lägga in för mycket än för lite filer i
contentstore.
Filer i contentstore.deleted raderas aldrig automatiskt!
• Utrymme på disken måste frigöras manuellt (vid behov).
Markörer i databasen:
• Papperskorgen är bara en flagga, filer går att återskapa även efter att
papperskorgen töms (med lite sql).
• Schemalagda jobb hanterar slutgiltig radering från Alfresco.
10. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Konfiguration &
administration
• Backup & restore
• JMX – konfigurera Alfresco online
• Övervakning
11. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Backup och restore
2010
2011
DB
Solr index
2012
2013 01
2013 02
2013 03
solr.backup.alfresco.remoteBackupLocation=${dir.root}/solrBackup/alfresco
solr.backup.alfresco.cronExpression=0 0 2 * * ?
solr.backup.alfresco.numberToKeep=3
1
2
3
Tack vare strukturen i contentstore
är det enkelt att göra inkrementella
backuper = Index backup + DB +
inkrement av contentstore
Restore: Omvänd process
(index.recoveryMode=AUTO behövs
ej för Solr).
12. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
JMX
• Enkel övervakning (manuell)
• Enkel felsökning (trådar och minne)
• Konfigurera Alfresco online och hantera schemalagda jobb med hjälp
av Mbeans
• Ändra log4j-nivåer online
• Tänk på att förändringar i JMX persisteras (i DB) och överlagrar
alfresco-global.properties. Använd “operations  revert()→ ” för att
ta bort ändringar i JMX.
Inkluderat i JDK eller ladda ner frĂĄn https://visualvm.java.net/
14. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Alternativ
1. Ă–vervakning av resurser
Garantera till-gänglighet: Upptäck
resursproblem i tid. Cpu, i/o, nätverk,
JVM etc.
• Icinga http://icinga.org/
• Munin http://munin-monitoring.org/
• Hyperic https://addons.alfresco.com/addons/alfresco-
hyperic-plugin
• VisualVM (included in JDK)
New Relic http://newrelic.com/
2. Analys av användar-
mönster
Undersök hur systemet används
för att optimera funktioner eller
hitta misstänkta användarmönster.
• Google Analytics http://code.google.com/p/share-
extras/wiki/GoogleAnalyticsTracking
• Piwik http://piwik.org
3. Prestandaoptimering
och felsökning
Identifiera flaskhalsar dĂĄ
prestandaproblem uppstĂĄr. Hitta
minnes-läckor.
• JavaMelody http://code.google.com/p/javamelody/
• VisualVM (included in JDK)
• New Relic http://newrelic.com/
• tcpdump (Wireshark) http://www.tcpdump.org/
• JProfiler http://www.ej-
technologies.com/products/jprofiler/overview.html
15. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Exempel: Munin
Exempel
• Bevaka resurser på servern
• Bevaka JMX-attribut i Tomcat
16. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Exempel: JavaMelody
Exempel
• Statistik på http request och sql-frågor
• Sessioner och request över tid
• https://tpeelen.wordpress.com/2012/12/12/alfresco-monitoring-with-
javamelody/
17. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Checklista: 8 saker jag
glömmer
1. Synka Tomcat trĂĄdar och DB-connections
db.pool.max > tomcat threads + 75
2. Linux: Ă–ka antal tillĂĄtna file-handles!
ulimit Ân
3. Konfiguera log4j och JULI.
log4j.appender.File.File=/var/log/alfresco/alfresco.log
catalina.org.apache.juli.FileHandler.directory=/var/log/alfresco
4. Minnesinställningar för JVM
JAVA_OPTS="ÂXX:MaxPermSize=512m –Xss128k"
5. Cache för Alfresco och Solr, t ex solr.pathCache.size och “Ehcache
custom”.
6. Slå på “production mode” i Share/SpringSurf.
7. Dubbelkolla att inget antivirus körs på dir.root
8. Ska användare från LDAP/AD raderas?
synchronization.allowDeletions=false
18. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Tips: 6 inbyggda verktyg för
Alfresco admin
1. NodeBrowsern är din vän! /share/page/console/adminÂ
console/nodeÂbrowser
2. WebScript index, bĂĄde pĂĄ repo och share:
/alfresco/service/index
3. Detaljerad kontroll över dina index: /solr/alfresco/admin samt
diverse rapporter /solr/admin/cores?action=STATUS&wt=xml
4. Administrera workflows: /alfresco/activitiÂadmin
5. Server-side JavaScript debugger, aktiveras frĂĄn
/alfresco/service/index
6. Analysera komponenterna pĂĄ en surf-sida, aktiveras frĂĄn
/alfresco/service/index
19. PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
Avslutning
• Kunskap
Kunskap om systemet gör det möjligt att ta rätt beslut och planera
för framtiden.
• Verktyg
Det finns verktyg för (nästan) allt – använd dom!
• Plattform
Plattformen är i grunden skalbar och öppen.