+ All Categories
Home > Technology > Alfresco administration stockholm meetup

Alfresco administration stockholm meetup

Date post: 05-Dec-2014
Category:
Upload: carl-nordenfelt
View: 435 times
Download: 1 times
Share this document with a friend
Description:
Alfresco Administration best prcatices - in swedish
19
PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING Alfresco administration - best practices Erfarenheter av 5 års fältstudier 130506 Carl Nordenfelt [email protected]
Transcript
Page 1: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Alfresco administration- best practices

Erfarenheter av 5 års fältstudier

130506 Carl [email protected]

Page 2: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Projektplanering

Pilot, PoC eller “sprint 0”

Driftsättning

Förvaltning

PlattformArkitekturUse case

Agenda

JVM & gcBackup/restore

Loggning

SäkerhetLagring

Prestanda

ÖvervakningUppgradering

Underhåll

+ checklista och tool-tips!

Page 3: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Arkitektur & plattform

DB Fillager Index

LagringTransparent för Alfresco

Alfresco repositoryKlustrat vid behov

Lastbalansering

Lastbalansering

Presentation Normalt Alfresco Share

Page 4: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Arkitektur & plattform

DB Fillager Index

LagringTransparent för Alfresco

Alfresco repositoryKlustrat 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)

Page 5: Alfresco administration stockholm meetup

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

Page 6: Alfresco administration stockholm meetup

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

Page 7: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

I <3 my contentstore

dir.root/contentstore

/contenstore.deleted/solr

db.urlalf_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?

Page 8: Alfresco administration stockholm meetup

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!

Page 9: Alfresco administration stockholm meetup

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.

Page 10: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Konfiguration &administration

• Backup & restore

• JMX – konfigurera Alfresco online

• Övervakning

Page 11: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Backup och restore

2010

2011

DB

Solr index

20122013 012013 022013 03

solr.backup.alfresco.remoteBackupLocation=${dir.root}/solrBackup/alfrescosolr.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).

Page 12: Alfresco administration stockholm meetup

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/

Page 13: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Övervakning och monitorering

Varför?

• Förbättra tillförlitlighet (proaktivitet)

• Optimera hårdvara (minska kostnader)

• Optimera konfiguration (JVM, DB, nätverk, diskar, Tomcat, Alfresco)

• Analysera användarmönster

• Felsökning

Page 14: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Alternativ

1. Övervakning av resurserGarantera 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önsterUndersö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ökningIdentifiera 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

Page 15: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Exempel: Munin

Exempel

• Bevaka resurser på servern

• Bevaka JMX-attribut i Tomcat

Page 16: Alfresco administration stockholm meetup

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/

Page 17: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Checklista: 8 saker jag glömmer

1. Synka Tomcat trådar och DB-connectionsdb.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.logcatalina.org.apache.juli.FileHandler.directory=/var/log/alfresco

4. Minnesinställningar för JVMJAVA_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

Page 18: Alfresco administration stockholm meetup

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

Page 19: Alfresco administration stockholm meetup

PRODUCTS • CONSULTING • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING

Avslutning

• KunskapKunskap om systemet gör det möjligt att ta rätt beslut och planera för framtiden.

• VerktygDet finns verktyg för (nästan) allt – använd dom!

• PlattformPlattformen är i grunden skalbar och öppen.


Recommended