Betriebskonzept Website und zugehörige Applikationen

Transcrição

Betriebskonzept Website und zugehörige Applikationen
Patagon:
Betriebskonzept
Website und zugehörige Applikationen
Typ
Dokumentation
Version
Erstellt
0.2
17. Juli 2001 / Johannes Faassen, opus5 Dreieich
Kurzbeschreibung
Dieses Dokument beschreibt die Betriebsabläufe der Applikationen und
Server, die für die www.patagon.de Website benötigt werden. Abgedeckt
werden die Installation, Regelbetrieb und die Fehlerbehandlung bis hin
zur Wiederherstellung nach einem Totalausfall.
Inhaltsverzeichnis / Übersicht
1
Systemüberblick .....................................................3
1.1
Kurzbeschreibung der Einzelsysteme .............................3
1.2
Netzwerkplan und Kommunikationsbeziehungen .....................3
1.3
ContentSwitch und Failover-Konzept .............................4
2 Installation und Konfiguration ......................................6
2.1
Hardware und Basissystem .......................................6
2.1.1
Webserver ...................................................6
2.1.2
Messaging-Box ...............................................6
2.1.3
Datenbankserver .............................................7
2.1.4
Loghost und CMS .............................................8
2.1.5
Content-Switch ..............................................8
2.1.6
Firewall ...................................................11
2.2
Software und Applikationen ....................................12
2.2.1
Datenbank ..................................................12
2.2.2
Messaging-System ...........................................16
2.2.3
Webserver und Webapplikationen .............................23
2.2.4
Backend-Applikationen ......................................30
2.2.5
Reporting ..................................................30
2.2.6
CMS und QS .................................................32
2.3
Externe Komponenten ...........................................40
2.3.1
Monitoring .................................................40
opus5 interaktive medien gmbh
1
3
4
5
6
2.3.2
Backup .....................................................40
2.3.3
ITBS Datenfeed .............................................40
2.3.4
FMS ........................................................40
2.4
Securitypolicy ................................................41
Organisatorische Vorbereitung ......................................41
3.1
Service Team Systeme und Applikationen ........................41
3.1.1
Rollen .....................................................41
3.1.2
Service Kanäle .............................................41
3.1.3
Servicezeiten ..............................................41
3.2
Service Team Hosting ..........................................41
3.3
Service Center Patagon ........................................41
3.4
Notfallstab Patagon ...........................................41
3.5
Vorzubereitende Entscheidungen und Eskalationsszenarien .......41
3.5.1
Intrusion ..................................................41
3.5.2
Eingeschränkter Betrieb nach Totalausfall ..................41
Regelbetrieb .......................................................41
4.1
System ........................................................41
4.1.1
Monitoring .................................................41
4.2
Backup ........................................................49
4.2.1
Konzept ....................................................49
4.2.2
Wiederherstellung ..........................................49
4.3
ContentSwitch .................................................49
4.3.1
Konfigurationsfile und Standard-Doings .....................49
4.4
Anwendungen ...................................................50
4.4.1
Frontent-Anwendungen .......................................50
4.4.2
QS-System ..................................................53
4.4.3
Webapplikation Backend .....................................54
4.4.4
Reporting-Server ...........................................55
4.4.5
CMS ........................................................56
4.4.6
Messaging-System ...........................................59
4.4.7
Datenbank ..................................................60
4.4.8
Checklisten ................................................61
4.5
Batches .......................................................66
4.5.1
Batch-Jobs auf dem LogHost .................................66
4.5.2
Batch-Jobs auf dem Datenbankserver .........................67
4.6
Archivierung ..................................................67
4.7
Email Adressen ................................................67
4.8
Sonstige manuelle Prozesse ....................................67
Störungsbehebung und Service-Level .................................67
5.1
Fehlertypen ...................................................67
5.2
Fehlerbehebung ................................................67
5.3
Intrusion Incident ............................................67
5.4
Desaster Recovery .............................................67
Versionsübersicht ..................................................68
opus5 interaktive medien gmbh
2
1
Systemüberblick
Das Serversystem des Webauftritts patagon.de besteht aus folgenden
Komponenten:
•
•
•
•
•
ContentSwitch
Liveservern (Webapplikation)
Loghost (CMS, Backend, Reporting, Webapplikation)
Datenbankserver
Message Box
1.1
Kurzbeschreibung der Einzelsysteme
Als Verteilungsmechanismus für eingehende Anfragen dient der
ContentSwitch. Er verteilt die Anfragen an die verfügbaren Webserver
weiter. Die Applikation auf den Webservern arbeiten eng mit der Datenbank
zusammen, die auf dem Datenbankserver installiert ist.
Auf dem Loghost ist das Content Mangagement System, das Reporting, die
Applikations Administration (Backend) und eine weitere Version des
Webauftritts (für den Quality of Service Check) installiert.
Für den Versand der Newsletter steht die Message Box bereit.
1.2
Netzwerkplan und Kommunikationsbeziehungen
Maschinen, IPs, Logins:
IP(extern)
IP(intern)
Name
Login
217.110.119.84
Funktion
ContentSwitch
217.110.119.85 192.168.150.101
santanderbkg-01 w101-101
www
217.110.119.86 192.168.150.102
santanderbkg-02 w102-102
www
217.110.119.87 192.168.150.103
santanderbkg-03 w103-103
www
217.110.119.90 192.168.110.2
santanderbkg-04 w002-002
mail
217.110.119.70 192.168.140.2
santanderbkg-05 w002-002
CMS(cms-apache,
jdk1.2.2,
tomcat)
cms
217.110.119.71 192.168.140.3
santanderbkg-05 w002-002
reporting
217.110.119.72 192.168.140.4
santanderbkg-05 w002-002
217.110.119.73 192.168.140.5
santanderbkg-05 w002-002
QS(
colt-apache,
jdk13,
resin)
backend
192.168.120.2
santanderbkg-06 w006-006
database
oracle
•
•
•
santanderbkg-01 bis santanderbkg-05 sind Linux-Rechner, RedHat 7.0,
Kernel 2.4.5.
santanderbkg-06 ist der DB-Server auf Solaris-Sun, Solaris 8.
Wechsel nach root auf allen Maschinen möglich.
opus5 interaktive medien gmbh
3
Passworte: auf Anfrage bei opus Administration
Jeder Rechner in der Colt Infrastruktur ist mit 2 bzw. 3
Netzwerkinterfaces ausgestattet, von denen eins für den externen
Zugriff verwendet wird und das/die anderen für interne
Zwecke. Dementsprechend kann ein interner Rechner einen anderen sowohl
über das externe als auch das interne Interface adressieren.
Für die externen Adressen ist das Subnetz
217.110.119.64/27 (d.h. 217.110.119.64 - 217.110.119.95)
für die internen Netze die
• 192.168.110.x für die Messaging Box
• 192.168.120.x für die DB
• 192.168.130.x für die externe Seite der Webserver zum ContentSwitch
• 192.168.140.x für den Loghost und die Backendsysteme
• 192.168.150.x für die interne Seite der Webserver
In jedem Subnetz stehen Rechner mit gleichen Aufgaben bzw. gleichem
Schutzbedarf, so daß die Zugriffe innerhalb eines privaten Subnetzes
nicht gefiltert werden. Die Filter-Regeln für Zugriffe vom privaten
Subnetz zu privatem Subnetz werden uniform gehandhabt, d.h. es werden
nur Filterregeln auf Netz nicht aber auf Hostbasis formuliert.
Bei Zugriffen, die von extern kommen, werden durchaus Rechner in einem
privaten Subnetz unterschiedlich behandelt.
Weitere Subnetze bzw. externe Mitspieler sind:
ContentSwitch:
extern:
• 217.110.119.80 = Adresse des Contentswitches selbst
• 217.110.119.84 = www.patagon.de
• 217.110.119.89 = search.patagon.de
• 217.110.119.88 = www-test.patagon.de
• 217.110.119.90 = search-test.patagon.de
werden alle intern in das 192.168.130.x Netz gemappt.
weitere Rechner mit externer IP:
• 217.110.119.70 -> 192.168.140.2
• 217.110.119.71 -> 192.168.140.3
• 217.110.119.72 -> 192.168.140.4
• 217.110.119.73 -> 192.168.140.5
•
=loghost
=loghost
=loghost
=loghost
und
und
und
und
cms.patagon.de
reporting.patagon.de
qs.patagon.de
backend.patagon.de
217.110.119.74 -> 192.168.110.2 list.patagon.de
fremde Subnetze und IPs:
• 213.61.10.125 = mail.santander.de und primärer MX der patagon.de
• 212.20.130.17 = Externe Adresse des Patagon-Netzes
• 62.144.160.154, 195.170.104.82 = Externe Adressen des opus5-Netzes
10.49.129.41 = NameServer und Timerserver Colt
Das DNS wird von Colt verwaltet.
1.3
ContentSwitch und Failover-Konzept
Der ContentSwitch Cisco 11050
opus5 interaktive medien gmbh
4
(http://www.cisco.com/univercd/cc/td/doc/product/webscale/css/) ist
zentral verantwortlich für Failover-Funktionalitäten und die
Skalierbarkeit der Patagon-Website.
Die Grundidee ist die, daß der ContentSwitch nach außen als
z.B. www.patagon.de erscheint und hinter der zugehörigen Adresse
eine ganze Farm von Servern verbirgt, auf die die eingehenden Requests
verteilt werden. Zur Zeit werden die Request auf zwei Gruppen von
Servern „live“ und „test“ verteilt.
Da eingehende Requests auf unterschiedliche Maschinen gemappt werden,
die keine Sessioninformationen austauschen, muß der ContentSwitch
ferner dafür sorgen, daß alle Requests mit Session-Bezug eines
Clients immer von derselben Maschine bedient werden. Diese Mimik wird
über die sogenannte „sticky option“ geregelt, die sich z.B. der
Client-IP oder eines Cookies bedient. Neben der Verteilung von
Requests, kann das verwendete Gerät auch Portmappings (z.B. für Inktomi)
und Servicetests (Keep-Alive Requests, siehe 2.1.5)durchführen, welche
sich auf der Ebene von Content-Rules definieren lassen.
Auf der Patagon-Website werden aus Sicht des ContentSwitchs die
Content-Typen
• statischer Content
• dynamischer Content
• SSL-Inhalte
• Suchmaschine
unterschieden. Die initiale Motivation dafür ist, daß z.B. die
dynamischen Contents von der Verfügbarkeit der Datenbank
abhängen, es aber nicht sinnvoll ist, auf einem Webserver keine
statischen Inhalte mehr auszuliefern, nur weil die Datenbank von
diesem temporär nicht erreichbar ist. Mit Ausnahme der Suchmaschine
werden alle Content-Typen auf jedem Webserver der Farm bedient. Für
jeden Content-Typen gibt es auf jedem der Webserver unter Port 999 ein
CGI mit dem der ContentSwitch prüft, ob ein Service auf einem
physikalischen Webserver verfügbar ist oder nicht. Das CGI führt die
notwendigen Tests durch, um zu entscheiden, ob ein Service z.B. die
Suchmaschine auf einer Maschine verfügbar ist.
Zusätzlich zu den Content-Typen gibt es zwei Gruppen von Servern, die
Test-Gruppe und die Live-Gruppe. Von jedem physikalischen
Webservern kann entschieden werden, in welchen der beiden Gruppen er
Services anbietet, wobei ein Rechner auch in beiden Gruppen sein
kann. Die Idee hinter diesem Vorgehen ist die, daß man mit der
Testgruppe durch Konfiguration gezielt einzelne Rechner oder
Rechnergruppen mit Requests beschicken, was sonst wegen der
intransparenten Loadbalancing-Strategie des ContentSwitches nicht
möglich wäre. Ferner kann man z.B. die Erweiterung der Serverfarm
testen bevor man die neuen Rechner in den Live-Betrieb integriert.
Welche Maschine welche Services serviert, wird durch ein
Konfigurationsfile gesteuert, daß durch „rsync“-Verteilung auf die
Maschinen verteilt wird und das Antwortverhalten des Service-CGIs
steuert.
Obwohl der ContentSwitch selbst Failover-Funktionalitäten für die
Webserver implementiert, ist er selber ein „single point of
failure“, der durch eine cold standby Lösung substituiert wird.
opus5 interaktive medien gmbh
5
Beteiligte Komponenten
• Cisco ContentSwitch 11050
• virtueller Webserver auf Port 999 auf jedem physikalischen
Webserver, mit Service-CGI (siehe 2.2.3.1.1)
• zentrale Konfiguration mit Verteilfunktion auf dem „Loghost“ (siehe
2.2.3.1.1)
• Monitoring (SiteScope bei COLT)
2
Installation und Konfiguration
Dieses Kapitel beschreibt die einzelnen Systeme genauer und die Abläufe
die zum Aufsetzen der Systeme nötig sind.
2.1
Hardware und Basissystem
2.1.1 Webserver
Die Webserver stellen patagon.de im Netz bereit. Abhängig von den
Einstellungen im Content Switch, stehen bis zu drei Webserver zur
Verfügung.
Rechner:
• santanderbkg-01
• santanderbkg-02
• santanderbkg-03
Ausstattung:
• Hardware:
o 2 x Intel Pentium III 800 MHz
o Plattenplatz 17 GB
o Plattenaufteilung:
Filesystem 1k-blocks Mounted on
/dev/sda1
2047696
/
/dev/sda6
521748
/tmp
/dev/sda5
521748
/var
/dev/sda8
14104588
/data
o
Speicher 1 GB
• Betriebssystem:
o Linux
• Softwarepakete:
o Apache
o Resin 1.2.7
• eingerichtete Benutzer:
o w101-101, w102-102, w103-103 (je nach Rechner)
o cms
2.1.2 Messaging-Box
Die Messaging Box dient zur Versendung der Newsletter.
Rechner:
opus5 interaktive medien gmbh
6
• santanderbkg-04
Ausstattung:
• Hardware:
o 2 x Intel Pentium III 800 MHz
o Plattenplatz 17 GB
o Plattenaufteilung:
Filesystem 1k-blocks Mounted on
/dev/sda1
2047696
/
/dev/sda6
521748
/tmp
/dev/sda5
521748
/var
/dev/sda8
14104588
/data
o
Speicher 1 GB
• Betriebssystem:
o Linux
• Softwarepakete:
o MySQL 3.23.38
o QMail 1.03
o Perl
o Apache
o Resin 1.2.7
• eingerichtete Benutzer:
o w002-002
o bmail
2.1.3 Datenbankserver
Auf diesem Rechner ist die Oracle-Datenbank installiert.
Rechner:
1)santanderbkg-06
Ausstattung:
• Hardware:
o Sun
o Plattenplatz 33 GB
o Plattenaufteilung:
Filesystem
1k-blocks
/dev/md/dsk/d10 3096423
/dev/md/dsk/d30 492872
/dev/md/dsk/d40 30262302
o
Mounted on
/
/var
/data
Speicher
• Betriebssystem:
o Solaris 8
• Softwarepakete:
o Oracle
opus5 interaktive medien gmbh
7
• eingerichtete Benutzer:
o w006-006
o oracle
2.1.4 Loghost und CMS
Der Loghost ist das QS-System für die Applikation und beherbergt das
Content Management System.
Rechner:
2)santanderbkg-05
Ausstattung:
• Hardware:
o 2 x Intel Pentium III 800 MHz
o Plattenplatz 70 GB
o Plattenaufteilung:
Filesystem 1k-blocks Mounted on
/dev/sda1
2047696
/
/dev/sda6
521748
/tmp
/dev/sda5
521748
/var
/dev/sda8
67454832
/data
o Speicher 1,5 GB
• Betriebssystem:
o Linux
• Softwarepakete:
o CMS
§ MySQL
§ Tomcat
o Apache 1.3.17
o Resin 1.2.7
• eingerichtete Benutzer:
o w002-002
o cms
o o5oper
2.1.5 Content-Switch
Alle Informationen über die initiale Installation des ContentSwitch
liegen auf seiten der COLT TELECOM. An dieser Stelle wird nur die
aktuelle Konfigurationsdatei und die grundsätzliche Arbeitsweise
erklärt.
Server Gruppen
Derzeit gibt es zwei Servergruppen, die sich auf 3 physikalische
Webserver im im VLAN 192.168.130.x verteilen. Diese Gruppen sind die
live-Gruppe für den Produktionsbetrieb und die test-Gruppe für
Funktionstests einer speziellen Maschine oder Maschinengruppe.
Der ContentSwitch ist so konfiguriert, daß grundsätzlich alle
Maschinen in beiden Gruppen sind und alle Services (Contents)
anbieten. Die Entscheidung, ob eine
Maschine aktuell Services in einer Gruppe leistet, wird über den
Keep-Alive-Request auf Port 999 der jeweiligen Maschine
opus5 interaktive medien gmbh
8
entschieden. Das dahinterliegende CGI prüft seinerseits die effektive
Verfügbarkeit eines Services und ob er laut Konfigurationsfile
(siehe Abschnitt 2.2.3.1.1) dort angeboten werden soll.
Das externe Mapping der Gruppen ist:
Live-Gruppe
Name
www.patagon.de
Adresse
217.110.119.85
search.patagon.de
217.110.119.89
Services
Website, statisch,
dynamisch, SSL
Inktomi Suchmaschine
Test-Gruppe
www-test.patagon.de
217.110.119.88
search-test.patagon.de
217.110.119.90
Website, statisch,
dynamisch, SSL
Inktomi Suchmaschine
Content-Rules
Die Contentrules definieren die einzelnen Services, die auf einer
Maschine angeboten werden. Die Unterscheidung der Content-Typen
erfolgt im ContentSwitch anhand von Adressen und URL-Patterns. Letztere
sind heuristisch gewachsen, da sich ein Servlet mit URI
„/servlet/KundeWerden/“ nicht offensichtlich von einem Verzeichnisaufruf
auf ein „index.html“ in „/servlet/KundeWerden/“ unterscheiden läßt. Da
die Trennung zwischen statischen und dynamischen Inhalten mit einer
Restunschärfe behaftet ist, werden auch für die statischen Inhalte
dieselben Vorsichtsmaßnahmen getroffen, wie sie für dynamische Inhalte
notwendig sind, z.B. die Stickyness.
Der Test, ob ein Content auf einer Maschine verfügbar ist oder nicht,
geschieht über das Service-CGI, das entweder ein HTTP 200 oder ein
HTTP 204 zurückgibt.
Statische Inhalte
Als statische Inhalte werden alle Inhalte bezeichnet, die vom
Webserver ohne Servlet-Engine via HTTP ausgeliefert werden können. Um
dies auch zu ermöglichen, werden sie unabhängig von den dynamischen
Inhalten als eigener Service angeboten.
Adresse Live/Test
URL-Pattern
Stickyness
Keep-Alive
Mapping
Intervall
217.110.119.84:80 /
217.110.119.88:80
extension List + domain
list
Source IP
siehe Konfigurationsfile
Timeout von 60 Minuten,
nur sticky wegen
potentieller Verwechslung
mit dynamischen Inhalten
SERVER:999/service/static[ HEAD
tst]
SERVER:80
5 sec.
Fehler erlaubt, danach
aus Service raus
opus5 interaktive medien gmbh
9
Dynamische Inhalte
Als dynamisch wird alles das interpretiert, was auf die entsprechende
Adresse/Port kommt und nicht via URL-Pattern als statisch erkannt wird.
Adresse Live/Test
URL-Pattern
Stickyness
Keep-Alive
Mapping
Intervall
217.110.119.84:80 /
217.110.119.88:80
alles was nicht statisch ist
Source IP
Timeout von 60
Minuten
SERVER:999/service/dynamic[tst] HEAD
SERVER:80
5 sec.
2 Fehler erlaubt,
danach aus Service
raus
SSL Inhalte
Hinter den SSL Inhalten verbergen sich im Wesentlichen die
Formularapplikationen. Da der ContentSwitch die URIs der SSL Requests
nicht sieht, kann man die SSL-Inhalte nur pauschal zusammen wie
dynamische Inhalte behandeln.
Adresse Live/Test
URL-Pattern
Stickyness
Keep-Alive
Mapping
Intervall
217.110.119.84:443 /
217.110.119.88:443
alles was nicht statisch ist
Source IP & Timeout von 60
Minuten
SERVER:999/service/secure[tst] HEAD
SERVER:443
5 sec.
2 Fehler erlaubt,
danach aus Service
raus
Suchmaschine
Der Content-Typ Suchmaschine hat die Besonderheit, daß hier zusätzlich
neben der Verteilung auf verschiedene Server ein Portmapping von 80
auf 8765 stattfindet. Dies ist notwendig, damit die Suchmaschine nicht
auf einem privilegiertem Port laufen muß.
Ferner ist zu beachten, daß die Suchmaschine wegen der Lizenzkosten
nur auf 2 Maschinen (\#1 und \#2) läuft, was über die Service-CGIs
konfiguriert ist.
Adresse Live/Test
URL-Pattern
Stickyness
Keep-Alive
Mapping
Intervall
217.110.119.89:80 /
217.110.119.90:80
Mapping über Adresse/Port
Source IP
Timeout von 60
Minuten
SERVER:999/service/search[tst] HEAD
SERVER:8765
5 sec.
2 Fehler erlaubt,
danach aus Service
raus
opus5 interaktive medien gmbh
10
Referenzen
• http://www.cisco.com/univercd/cc/td/doc/product/webscale/css/
• Service-CGI
2.1.6 Firewall
Der Zugriff auf die Rechner wird durch eine Firewall geschützt.
Die Rechner haben alle 2 oder 3 (Webserver) Netzwerkkarten mit
entsprechenden Nummern, ein Interface für externen Zugriff, eins für
internen Zugriff und eins für das Backup.
Alle Rechner sollen auf den primären Nameserver für die patagon.de
zugreifen können.
Die unten genannten Nummern dienen nur zur Identifikation der Maschine
nicht zur Definition der Routing/Filter-Regeln nach Interface bzw. IP.
Die von/nach-Service-Beziehung definiert auch keine Portkombinationen,
sondern effektive Services von/nach.
Firewall-Rules
Gruppen
Web
web-test
SDB
Opus5
admin
repqs
msgbox
relay
dns
db
217.110.119.84, 217.110.119.89
217.110.119.88, 217.110.119.90
212.20.130.17
62.144.160.154, 195.170.104.82
217.110.119.70, 217.110.119.73
217.110.119.71, 217.110.119.72
217.110.119.74
213.61.10.125, 213.61.10.124
10.49.129.41
192.168.120.2 ?? nicht klar über welches Interface
Rules
(dns ist noch unsauber, da routing zum 10.x über anderes Interface läuft)
Any
Any
Relay
opus5
SDB
192.168.110.x
192.168.110.x
192.168.110.x
192.168.110.x
192.168.120.x
→
→
→
→
→
→
→
→
→
→
192.168.120.x
192.168.120.x
192.168.140.x
192.168.140.x
192.168.140.x
192.168.140.x
192.168.140.x
→
→
→
→
→
→
→
web, web-test
repqs
msgbox
admin
admin
any
dns
relay
192.168.140.x
dns (geht real nicht über
120.x Interface)
Relay
192.168.140.x
Dns
relay
web, web-test
192.168.110.x
192.168.120.x
opus5 interaktive medien gmbh
http, https
https
smtp
http, https, ssh
http, https, ssh
smtp
dns
smtp
ntp
dns
smtp
ntp
dns, ntp
smtp
http,https
ssh,http
ssh,oracle
11
192.168.140.x
192.168.150.x
192.168.150.x
192.168.150.x
192.168.150.x
192.168.150.x
2.2
→
→
→
→
→
→
192.168.150.x
dns
192.168.140.x
any
relay
192.168.120.x
ssh
dns
ntp
http,https
smtp
oracle
Software und Applikationen
In diesem Kapitel werden die Schritte zur Installation und Konfiguration
der einzelnen Softwarekomponenten aufgeführt.
2.2.1 Datenbank
2.2.1.1
Installationsvorbereitungen
2.2.1.1.1 Anpassen der Systemdatei /etc/system
Der Datei sind folgende Konfigurationseinstellungen hinzuzufügen :
* BEGIN stuff for Oracle
* PC, 08-jun-2000
* Values are minimum requirements unless stated otherwise
* Max size of shared memory segments
set shmsys:shminfo_shmmax=4294967295
* Min size of shared memory segments
set shmsys:shminfo_shmmin=1
* Max number of shared memory identifiers in system
set shmsys:shminfo_shmmni=100
* Max number of shared memory segments a user process can attach
set shmsys:shminfo_shmseg=10
* Max number of semaphore identifiers in system
set semsys:seminfo_semmni=100
* Max number of semaphores in a set
* recommended: 10+largest PROCESSES parameter of any Oracle DB on the system
set semsys:seminfo_semmsl=100
* Max number of semaphores in system
* Recommended: sum of all PROCESSES parameters + 10 for each DB + largest
* PROCESSES parameter
set semsys:seminfo_semmns=200
* Max number of operations per semop call
set semsys:seminfo_semopm=100
* Semaphore max value
set semsys:seminfo_semvmx=32767
* END Oracle stuff
Nach Speicherung der Datei musste das System neu gebootet werden, da
ansonsten die Einstellungen nicht übernommen wurden.
opus5 interaktive medien gmbh
12
2.2.1.1.2
Anlegen der Gruppen und Benutzer
groupadd -g 2003 dba
groupadd -g 2004 oinstall
useradd -u 30004 -g 2004 -G 2003 -c 'Oracle DB User' -d /export/home/oracle -s
/usr/local/bin/bash -m oracle
cat >>/export/home/oracle/.profile <<__EOT__
umask 022
ORACLE_BASE=/opt/Oracle/app/oracle
ORACLE_HOME=\$ORACLE_BASE/product/8.1.6
ORA_NLS33=\$ORACLE_HOME/ocommon/nls/admin/data
NLS_LANG=GERMAN_GERMANY.WE8ISO8859P15
PATH=\$PATH:\$ORACLE_HOME/bin:/usr/ccs/bin
TNS_ADMIN=\$ORACLE_HOME/network/admin
export ORACLE_BASE ORACLE_HOME NLS_LANG ORA_NLS33 PATH
__EOT__
2.2.1.1.3 Anlegen der Datei srvcustom.rsp im Verzeichnis
/data/source/oracle
[General]
RESPONSEFILE_VERSION=1.7.0
[SESSION]
UNIX_GROUP_NAME="oinstall"
FROM_LOCATION="/data/source/oracle/stage/products.jar"
NEXT_SESSION_RESPONSE=
ORACLE_HOME="/export/Oracle/app/oracle/product/8.1.6"
TOPLEVEL_COMPONENT={"oracle.server","8.1.6.0.0"}
SHOW_SPLASH_SCREEN=false
SHOW_WELCOME_PAGE=false
SHOW_COMPONENT_LOCATIONS_PAGE=false
SHOW_CUSTOM_TREE_PAGE=true
SHOW_SUMMARY_PAGE=true
SHOW_INSTALL_PROGRESS_PAGE=true
SHOW_REQUIRED_CONFIG_TOOL_PAGE=true
SHOW_OPTIONAL_CONFIG_TOOL_PAGE=false
SHOW_RELEASE_NOTES=false
SHOW_ROOTSH_CONFIRMATION=true
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=false
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=false
#----------------------------------------------------------------------------# End of GENERAL SESSION section
#----------------------------------------------------------------------------[oracle.server_8.1.6.0.0]
COMPONENT_LANGUAGES={"de", "en"}
INSTALL_TYPE="Custom"
DEPENDENCY_LIST= {
"oracle.rdbms","8.1.6.0.0",
"oracle.networking","8.1.6.0.0",
"oracle.utilities","8.1.6.0.0",
"oracle.assistants","8.1.6.0.0",
"oracle.p2k.devtools","8.1.6.0.0",
"oracle.java","8.1.6.0.0",
"oracle.emprod","8.1.6.0.0",
"oracle.install","8.1.6.0.0",
"oracle.doc.unixdoc","8.1.6.0.0"
"oracle.options","8.1.6.0.0"
}
sl_userNodeList=
[oracle.options_8.1.6.0.0]
DEPENDENCY_LIST= {
"oracle.cartridges.ordts","8.1.6.0.0",
"oracle.cartridges.ordvir","8.1.6.0.0",
"oracle.cartridges.spatial","8.1.6.0.0",
"oracle.options.ops","8.1.6.0.0",
"oracle.options.ano","8.1.6.0.0",
"oracle.options.intermedia.imserver","8.1.6.0.0"
}
opus5 interaktive medien gmbh
13
[oracle.rdbms_8.1.6.0.0]
DEPENDENCY_LIST= {
"oracle.assistants.dbca","8.1.6.0.0",
"oracle.rdbms.advrep","8.1.6.0.0",
"oracle.rdbms.lsm","8.1.6.0.0",
"oracle.emprod.oemagent","8.1.6.0.0",
"oracle.options.partitioning","8.1.6.0.0",
"oracle.rdbms.hs_odbc","8.1.6.0.0"
}
sl_dbaOperGroups={"dba","dba"}
[oracle.utilities_8.1.6.0.0]
DEPENDENCY_LIST= {
"oracle.utilities.util","8.1.6.0.0",
"oracle.rdbms.sqlplus","8.1.6.0.0"
}
[oracle.p2k.devtools_8.1.6.0.0]
DEPENDENCY_LIST= {
"oracle.rdbms.oci","8.1.6.0.0",
"oracle.p2k.ott","8.1.6.0.0"
}
[oracle.emprod_8.1.6.0.0]
DEPENDENCY_LIST= {
"oracle.sysman.client","2.1.0.0.0",
"oracle.emprod.oemagent","8.1.6.0.0"
}
[oracle.networking_8.1.6.0.0]
DEPENDENCY_LIST= {
"oracle.networking.netclt","8.1.6.0.0",
"oracle.networking.netsrv","8.1.6.0.0",
"oracle.networking.names","8.1.6.0.0",
"oracle.networking.cman","8.1.6.0.0"
}
[oracle.options.ano_8.1.6.0.0]
DEPENDENCY_LIST={}
[oracle.options.ano.sns_8.1.6.0.0]
sl_chosenAuthAdapters={}
[oracle.java_8.1.6.0.0]
DEPENDENCY_LIST= {
"oracle.java.jdbc","8.1.6.0.0",
"oracle.java.javavm.javatools","8.1.6.0.0",
"oracle.java.sqlj","8.1.6.0.0"
}
[oracle.assistants_8.1.6.0.0]
DEPENDENCY_LIST= {
"oracle.assistants.dbca","8.1.6.0.0"
}
[oracle.assistants.dbma_8.1.6.0.0]
OPTIONAL_CONFIG_TOOLS={}
sl_migrateSIDDialogReturn={"<None>", "<None>"}
[oracle.sysman.oms_2.1.0.0.0]
DEPENDENCY_LIST=
OPTIONAL_CONFIG_TOOLS={}
ServerRepository_index=0
EMCARspFileLocation=
[oracle.sysman.client_2.1.0.0.0]
DEPENDENCY_LIST= {
"oracle.sysman.console","2.1.0.0.0",
"oracle.sysman.dbapp","2.1.0.0.0"
}
[oracle.sysman.dbapp_2.1.0.0.0]
DEPENDENCY_LIST= {
"oracle.sysman.dbapp.schema", "2.1.0.0.0",
"oracle.sysman.dbapp.storage", "2.1.0.0.0",
"oracle.sysman.dbapp.security", "2.1.0.0.0",
"oracle.sysman.dbapp.instance", "2.1.0.0.0",
"oracle.sysman.dbapp.sqlplusworksheet","2.1.0.0.0",
"oracle.sysman.database","2.1.0.0.0"
}
[oracle.assistants.dbca_8.1.6.0.0]
OPTIONAL_CONFIG_TOOLS={}
opus5 interaktive medien gmbh
14
s_seedLocation=
s_responseFileName=
s_globalDBName=PATAGON.opus5.de
b_createStarterDBReturn=true
s_mountPoint=/data/Oracle/Daten0
s_dbSid=PATAGON
[oracle.sysman.dbappext_2.1.0.0.0]
DEPENDENCY_LIST= {
"oracle.apps.oam.client","2.1",
"prv","2.1.0.0.0",
"oracle.sysman.wf.client","2.1.0.0.0",
"dam","1.0",
"Replication_Manager","2.1",
"analyzer","2.1.0.0.0",
"occm","2.1.0.0.0",
"oracle.security.admin.enterprise","2.0",
"oracle.oas.mngr.oem","2.1.0.0",
"oracle.odm","2.0.6.0.0"
}
[oracle.java.jdbc_8.1.6.0.0]
DEPENDENCY_LIST= {
"oracle.java.jdbc.thin12","8.1.6.0.0"
}
[oracle.networking.netca_8.1.6.0.0]
OPTIONAL_CONFIG_TOOLS={}
s_responseFileName=<Value Unspecified>
[oracle.networking.protocol_supp_8.1.6.0.0]
sl_protocolSelectionDialogReturn={}
[oracle.install_8.1.6.0.0]
DEPENDENCY_LIST= {
"oracle.swd.oui", "1.7.0.12.0"
}
[oracle.sysman.website_2.1.0.0.0]
DEPENDENCY_LIST={ "oracle.oas.lstnr","4.0.8.0.0" }
OPTIONAL_CONFIG_TOOLS={}
[oracle.sysman.quicktour_2.1.0.0.0]
DEPENDENCY_LIST= {
"oracle.sysman.dbapp.qt","2.1.0.0.0",
"oracle.sysman.em.qt","2.1.0.0.0"
}
[oracle.swd.oui_1.7.0.15.1]
PROD_HOME=“/export/Oracle/apps/oui“
[oracle.swd.jre_1.1.7]
PROD_HOME="/export/Oracle/app/jre"
2.2.1.1.4 Installation
Um den Universal Installer von Oracle starten zu können musste zunächst
das X11- Forwarding aktiviert werden.
Außerdem muss dem User oracle ein Passwort gegeben werden, damit er sich
am System anmelden kann.
Einloggen auf dem Login-Host :
ssh [email protected] –X –2
Einloggen auf dem DB-Server :
opus5 interaktive medien gmbh
15
ssh [email protected] –X –2
su
mkdir –p /export/Oracle/app/oracle
chown oracle:oinstall /export/Oracle/app/oracle
su - oracle
export DISPLAY=levant.opus5.de:0.0
cd /data/source/oracle
./runInstaller –responseFile svrcustom.rsp
2.2.1.1.5 Erstellung der Start-/Stopskripte
Anlegen der Datei /etc/init.d/dbora und Einbindung in die Runlevel 0 und
2:
#!/bin/sh
#
# LOCAL CHANGES:
# 99-11-01 pd start-up listener `listener'
#
# Set ORA_HOME to be equivalent to the ORACLE_HOME
# from which you wish to execute dbstart and
# dbshut
# set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME
ORA_HOME=/opt/Oracle/app/oracle/product/8.1.6
ORA_OWNER=oracle
LSNRCTL=$ORA_HOME/bin/lsnrctl
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
if [ ! -x ${LSNRCTL} ]
then
echo "Oracle startup: cannot start listener"
LSNRCTL=
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login will not prompt the
# user for any values
su - $ORA_OWNER -c ". /export/home/oracle/.profile; $ORA_HOME/bin/dbstart &"
[ "$LSNRCTL" ] && su - $ORA_OWNER -c "$LSNRCTL start listener"
[ "$LSNRCTL" ] && su - $ORA_OWNER -c "$LSNRCTL dbsnmp_start"
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login will not prompt the
# user for any values
su - $ORA_OWNER -c ". /export/home/oracle/.profile; $ORA_HOME/bin/dbshut &"
[ "$LSNRCTL" ] && su - $ORA_OWNER -c "$LSNRCTL dbsnmp_stop"
[ "$LSNRCTL" ] && su - $ORA_OWNER -c "$LSNRCTL stop listener"
;;
esac
2.2.1.1.6 Datenbank erstellen
Die Datenbank wurde über die grafische Benutzeroberfläche erzeugt.
Weiteres Material von Christian
2.2.2 Messaging-System
2.2.2.1 Vorraussetzungen
Für den Betrieb der Messaging Box müssen folgenden Komponenten
installiert werden:
• Webserver
• Perl
opus5 interaktive medien gmbh
16
• MySQL-Datenbank
• QMail
2.2.2.2 Installation der einzelnen Komponenten
Zusätzlich zur vorhanden Installation bei Colt wurden folgende RPM’ s
installiert, da diese noch nicht vorhanden waren :
• kernel-headers-2.4.0-0.26.i386.rpm
• glibc-devel-2.1.92-14.i386.rpm
• cpp-2.96-54.i386.rpm
• binutils-2.10.0.18-1.i386.rpm
• gcc-2.96-54.i386.rpm
• make-3.79.1-5.i386.rpm
Folgende
• rpm
• rpm
• rpm
• rpm
• rpm
Pakete sind zu löschen :
-e perl-5.6.0-COLT1
-e mysql-3.23.32-COLT1
-e DBI-1.14-COLT1
-e Msql-Mysql-modules-1.2215-COLT1
-e Data-ShowTable-3.3-COLT1
Dann Original RedHat RPMS installieren :
• rpm -ivh compat-glibc-6.2-2.1.3.2.i386.rpm
• Die Datei /etc/ld.conf angepasst und ldconfig ausgeführt.
• rpm -ivh perl-5.6.0-9.i386.rpm
• Installation mit rpm -ivh mysql* von folgenden Paketen
o mysql-3.23.32-1.7.i386.rpm
o mysql-devel-3.23.32-1.7.i386.rpm
o mysql-server-3.23.32-1.7.i386.rpm
o mysqlclient9-3.23.22-3.i386.rpm
• rpm -ivh perl-DBI-1.14-8.i386.rpm
• rpm -ivh perl-Msql-Mysql-modules-1.2215-1.i386.rpm
è von www.haoli.org/rpm/redhat-7.x-i386-1.html
(hier gibt es noch mehr nützliche RPM's für RedHat7.x)
2.2.2.2.1 Webserver Apache
Als Webserver kommt ein Apache-Webserver in der Version 1.3.19 zum
Einsatz. Die Sourcen stehen unter
http://httpd.apache.org/dist/httpd/apache_1.3.19.tar.gz
zum Download zur Verfügung.
Installation und Konfiguration
a) Entpacken des Paketes :
tar xvzf apache_1.3.19.tar.gz
b) Übersetzen des Webservers :
opus5 interaktive medien gmbh
17
/.configure –prefix=/export/www/apache-1.3.19
make
make install
c) Anpassen des Documentroot in der http.conf auf /www/docs
d) Einbindung der Startskripts zum automatischen Start/Stop des
Webservers:
ln –s /export/www/apache-1.3.19/bin/apachectl /sbin/init.d/rc2.d/S20apache
ln –s /export/www/apache-1.3.19/bin/apachectl /sbin/init.d/rc2.d/K20apache
e) Starten des Webservers:
/export/www/apache-1.3.19/bin/apachectl restart
2.2.2.2.2 MTA qmail
Aufgrund der im Workingpackage WP 203-3 aufgeführten Gründe kommt als
MTA qmail in der Version 1.03 zum Einsatz.
2.2.2.2.2.1 Sourcen
Die Sourcen zu qmail können unter
http://cr.yp.to/software/qmail-1.03.tar.gz
heruntergeladen werden.
Zusätzlich sollten noch die Zusatzmodule ucspi-tcp
ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
und die Daemontools
ftp://cr.yp.to/daemontools/daemontools-0.70.tar.gz heruntergeladen
werden. Sie dienen der Optimierung von qmail.
2.2.2.2.2.2 Installation
Entpacken der Distribution
mkdir -p /usr/local/src/qmail
mv qmail-1.03.tar.gz /usr/local/src/qmail
su –
cd /usr/local/src/qmail
gunzip qmail-1.03.tar.gz
tar xvf qmail-1.03.tar
gunzip ucspi-tcp-0.88.tar.gz
tar xvf ucspi-tcp-0.88.tar
gunzip daemontools-0.70.tar.gz
tar xvf daemontools-0.70.tar
Erstellen der Benutzer und Gruppen
mkdir /data/qmail
groupadd nofiles
useradd alias -g nofiles -d /data/qmail/alias -s /nonexistent
useradd qmaild -g nofiles -d /data/qmail -s /nonexistent
useradd qmaill -g nofiles -d /data/qmail -s /nonexistent
useradd qmailp -g nofiles -d /data/qmail -s /nonexistent
groupadd qmail
useradd qmailq -g qmail -d /data/qmail -s /nonexistent
useradd qmailr -g qmail -d /data/qmail -s /nonexistent
useradd qmails -g qmail -d /data/qmail -s /nonexistent
Anzupassenden Dateien
• in der Datei /usr/local/src/qmail/qmail-1.03/conf-qmail ist der
Installationspfad für qmail anzupassen
opus5 interaktive medien gmbh
18
• in der
• in den
o
o
o
o
Datei /data/qmail/rc ist der Pfad anzupassen
Dateien:
/data/qmail/supervise/qmail-send/run,
/data/qmail/supervise/qmail-send/log/run,
/data/qmail/supervise/qmail-smtpd/run
/data/qmail/supervise/qmail-smtpd/log/run
ist der Pfad anzupassen.
Kompilierung der Sourcen
a) qmail
make setup check
./config für korrekt konfigurierte DNS-Server
oder
./config-fast the.full.hostname falls config den DNS-Server nicht finden kann.
b) ucspi-tcp
cd /usr/local/src/qmail/ucspi-tcp-0.88
make
make setup check
c) Daemontools
cd /usr/local/src/qmail/daemontools-0.70
make
make setup check
2.2.2.2.2.3 Konfiguration
Startskripts
Zum Starten von qmail wird das Startskript /data/qmail/rc benötigt.
Dieses hart
folgenden Aufbau :
#!/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.
exec env - PATH="/data/qmail/bin:$PATH" \
qmail-start './Maildir/'
Um qmail beim Starten und Herunterfahren des Systems zu starten bzw. zu
beenden wird noch ein System Startup-Skript benötigt. Dies kann unter der
Adresse http://web.infoave.net/~dsill/qmail-script-dt61.exe
heruntergeladen werden und wird im Verzeichnis /sbin/init.d/qmail
gespeichert. Die Einbindung erfolgt über:
ln
ln
ln
ln
ln
ln
ln
–s
–s
–s
–s
–s
–s
–s
/sbin/init.d/qmail
/sbin/init.d/qmail
/sbin/init.d/qmail
/sbin/init.d/qmail
/sbin/init.d/qmail
/sbin/init.d/qmail
/sbin/init.d/qmail
/sbin/init.d/rc0.d/K30qmail
/sbin/init.d/rc1.d/K30qmail
/sbin/init.d/rc2.d/S80qmail
/sbin/init.d/rc3.d/S80qmail
/sbin/init.d/rc4.d/S80qmail
/sbin/init.d/rc5.d/S80qmail
/sbin/init.d/rc6.d/K30qmail
Supervise Skripts
a) Erstellen der Supervise-Verzeichnisse und Files für den qmailService
opus5 interaktive medien gmbh
19
mkdir
mkdir
chmod
chmod
-p
-p
+t
+t
/data/qmail/supervise/qmail-send/log
/data/qmail/supervise/qmail-smtpd/log
/data/qmail/supervise/qmail-send
/data/qmail/supervise/qmail-smtpd
b) Erstelle das /data/qmail/supervise/qmail-send/run File:
#!/bin/sh
exec /data/qmail/rc
c) Erstelle das /data/qmail/supervise/qmail-send/log/run File:
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /data/logs/qmail
d) Erstelle das /data/qmail/supervise/qmail-smtpd/run File:
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /data/qmail/control/concurrencyincoming`
exec /usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -v -p -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /data/qmail/bin/qmail-smtpd 2>&1
e) Erstelle das concurrencyincoming Kontrollfile:
echo 20 > /data/qmail/control/concurrencyincoming
chmod 644 /data/qmail/control/concurrencyincoming
f) Erstelle das /data/qmail/supervise/qmail-smtpd/log/run File:
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /data/logs/qmail/smtpd
g) Mache die run-Files ausführbar :
chmod
chmod
chmod
chmod
755
755
755
755
/data/qmail/supervise/qmail-send/run
/data/qmail/supervise/qmail-send/log/run
/data/qmail/supervise/qmail-smtpd/run
/data/qmail/supervise/qmail-smtpd/log/run
h) Erstelle die Logverzeichnisse:
mkdir -p /data/logs/qmail/smtpd
chown qmaill /data/logs/qmail /data/logs/qmail/smtpd
Erstellen der Systemaliase
echo postmaster.email > /data/qmail/alias/.qmail-root
echo postmaster.email > /data/qmail/alias/.qmail-postmaster
ln -s .qmail-postmaster /data/qmail/alias/.qmail-mailer-daemon
chmod 644 /data/qmail/alias/.qmail-root /data/qmail/alias/.qmail-postmaster
Erstellen der Benutzer und der Maildir-Verzeichnisse
Zum Erstellen eines neuen Benutzers muss zunächst die Datei
/data/qmail/users/assign erstellt bzw. angepasst werden. Diese Datei hat
folgendes Format :
=address:user:uid:gid:directory:dash:extension:
+prefix:user:uid:gid:directory:dash:prepend:
. ? Dieser Punkt ist wichtig !!!
Sind die neuen User in der Datei eingetragen ist das Programm
/data/qmail/bin/qmail-newu aufzurufen, welches die Benutzerdatenbank
opus5 interaktive medien gmbh
20
erstellt. Die Mailboxverzeichnisse werden dann wie folgt eingerichtet :
/data/qmail/bin/maildirmake /export/home/username/Maildir
ln -s . /export/home/username/Mailbox
chown -R user-id:nofiles /export/maildirs/username/Maildir
Starten von qmail
/sbin/init.d/qmail restart
2.2.2.2.2.4 Dokumentation
Dokumentationen zum qmail-Projekt finden sich in großer Menge unter
http://www.qmail.org. Besonders empfehlenswert ist dort die Dokumentation
Life with qmail von Dave Sill.
2.2.2.2.3 Datenbank MySQL
Als Datenbank für die Speicherung der Daten von gebouncten e-mails wird
eine MySQL Datenbank in der Version 3.23.38 eingesetzt.
2.2.2.2.3.1 Sourcen
Die Sourcen liegen unter
http://www.mysql.com/Downloads/MySQL-3.23/mysql-3.23.38-pc-linux-gnui686.tar.gz
zum Download bereit.
2.2.2.2.3.2 Installation
groupadd mysql
useradd -g mysql mysql
cd /usr/local
gunzip < /usr/local/mysql-3.23.38-pc-linux-gnu-i686.tar.gz | tar xvf –
ln –s mysql-3.23.38-pc-linux-gnu-i686 mysql
cd mysql
scripts/mysql_install_db
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/data
chgrp -R mysql /usr/local/mysql
chown -R root /usr/local/mysql/bin/
Anpassung der Pfade in /usr/local/mysql/support-files/mysql.server
Einbindung der Start-/Stopskripts
Um MySQL nicht als User root laufen zu lassen, muss ein switch
auf den User mysql gemacht werden. Dies erledigt folgendes kleines ShellSkript :
#!/bin/sh
su –m –mysql –c '/usr/local/mysql/support-files/mysql.server start’
Dieses wird nun in das Startprozedere eingebunden :
ln –s /usr/local/mysql/support-files/start-mysql /sbin/init.d/rc2.d/S20mysql
ln –s /usr/local/mysql/support-files/mysql.server /sbin/init.d/rc2.d/K20mysql
Kopieren von /usr/local/mysql/support-files/my-large.conf nach
/etc/my.conf
Starten des Datenbankservers
opus5 interaktive medien gmbh
21
/usr/local/mysql/support-files/mysql.server start|stop
2.2.2.2.3.3 Konfiguration
Für die Speicherung der „Bouncedaten“ wird eine Datenbank mailing
angelegt. In dieser Datenbank wird eine Tabelle BOUNCERS angelegt, in
welcher die aus den gebouncten Mail extrahierten Daten gespeichert
werden. Außerdem wird zu Testzwecken eine weitere Tabelle mit dem Namen
INVALID_EMAIL_ADRESSES angelegt, in welcher die eMail-Adressen gespeichert werden, welche von der Checkroutine als ungültig erkannt wurden.
create database mailing ;
create table BOUNCERS (
email char(255) not null,
sender char(255),
firstbounceDate Date,
firstbounceTime Time,
lastbounceDate Date,
lastbounceTime Time,
numberofbounces Integer,
lasterrorcode char(3), PRIMARY KEY(email)
);
create table INVALID_EMAIL_ADRESSES (
email char(255) not null,
PRIMARY KEY(email)
);
Folgende Daten werden in der Tabelle BOUNCERS gespeichert :
• email
- Return-Path der gebouncten eMail
• sender
- Absender der eMail
• firstbounceDate - Datum an dem zum ersten mal gebounct wurde
• firstbounceTime - Zeitpunkt an dem zum ersten mal gebounct wurde
• lastbounceDate - Datum an dem das letzte mal gebounct wurde
• lastbounceTime - Zeitpunkt an dem das letzte mal gebounct wurde
• numberofbounces - Anzahl der gebouncten eMails
• lasterrorcode
- Errorcode der letzten gebouncten eMail (noch nicht
implementiert)
Der Zugriff auf die Datenbank ist zur Zeit auf Localhost und den Benutzer
root beschränkt.
Für den Zugang zur MySQL DB und die Abwicklung des Bouncemanagements
wurde ein neuer Benutzer bmail angelegt. Der Benutzer hat in der
Datenbank nur Rechte auf die Datenbank mailing. Sein Homeverzeichnis
liegt unter /data/home/bmail.
Der Benutzer bmail wurde außerdem als User in qmail/users/assign angelegt
und mit /data/qmail/bin/qmail-newu in die cdb-Datei übernommen:
=bmail:bmail:508:102:/home/bmail:::
+bmail-:bmail:508:102:/home/bmail:-::
=w002-002:w002-002:102:102:/home/w002-002:::
+w002-002-:w002-002:102:102:/home/w002-002:-::
.
Im Homeverzeichnis des Users wurde die Datei .qmail wie folgt angelegt :
opus5 interaktive medien gmbh
22
| condredirect [email protected]
/data/HBounceMsg/bounced_msg.pl
./Maildir/
Daraufhin wurde im Homeverzeichnis noch das Mailverzeichnis erzeugt :
/var/qmail/bin/maildirmake /export/home/bmail/Maildir
ln -s . /export/home/bmail/Mailbox
chown -R 508:nofiles /export/maildirs/bmail/Maildir
2.2.2.2.4
Perl
Als Grundlage für die Perl-Installation wird das Basispaket für Perl
welches in der Suse Distribution enthalten ist benutzt.
2.2.2.2.4.1 Installation
Die Installation erfolgt über die Installationsoberfläche von Suse (YaST)
oder manuell mit Hilfe des RPM-Paketes.
2.2.2.2.4.2 Zusätzlich benötigte Module
Zusätzlich zum Basispaket wurde die Perl-Unterstützung für MySQL
installiert. Das Paket hat den Namen mysqlperl. Des weiteren benötigt
dieses Modul die Pakete MySQL - Development header files and Libraries
(mysqldev) und MySQL – Shared Libraries (mysqllib).
2.2.3 Webserver und Webapplikationen
Auf den Webservern müssen folgende Komponenten installiert werden:
• Apache
• JDK
• Resin
2.2.3.1 Apache
In der Konfigurationsdatei /etc/httpd/httpd.conf ist das DocumentRoot auf
/data/apache/htdocs vorkonfiguriert. Dieses wird auf /data/wwwdocs
geändert. Später wird diesem Apache noch das Resin Modul (DSO)
hinzugefügt.
Logrotate
Installiert ist bei Colt das Paket cronolog, welches die WebserverLogfiles täglich oder monatlich rotiert. Geschrieben wird dabei unterhalb
/data/apache/logs/2001/<monat>/<tag>.
Diese täglich rotierten Apache-Logfiles werden von einem Cronjob
eingesammelt und vom WebTrends Reporting Server ausgewertet.
2.2.3.1.1 Service-CGI
Als Gegenstück für die Content-Rules auf dem ContentSwitch gibt es für
jede Content-Rule auf Port 999 jedes Webservers ein Service-CGI, das
lokal auf dem jeweiligen Webserver testet, ob ein Service verfügbar ist
oder nicht und ob dieser Service auf der Maschine konfiguriert (gewollt)
ist. Auf diese Weise läßt sich einstellen, welche Sorten Requests auf
welche Maschinen verteilt werden sollen. Das CGI testet dann z.B. die
Lauffähigkeit der Servlet-Engine durch Aufruf einer JSP und gibt bei
opus5 interaktive medien gmbh
23
Erfolg ein HTTP 200 zurück, sonst ein HTTP 204.
Die Konfiguration der Services erfolgt über ein File, das zwar auf jedem
Webserver in Kopie lokal vorliegt aber zentral gepflegt und verteilt
werden sollte. Auf dem Weg der Konfiguration läßt sich auch gezielt eine
einzelne Maschine in die Testgruppe nehmen, z.B. um das Inktomi
konfigurieren zu können oder eine spezielle Maschine von extern zu
testen.
Beteiligte Komponenten
•Cisco ContentSwitch 11050 (siehe 2.1.5)
•virtueller Webserver auf Port 999 auf jedem physikalischen Webserver,
mit Service-CGI
•zentrale Konfiguration mit Verteilfunktion auf dem Loghost
•Monitoring (SiteScope bei COLT, siehe 4.1.1)
•VLAN-Adressbereich, dieser ist im Script hart kodiert
2.2.3.1.1.1 Installation
Warnung: Achtung vorher lesen
Die Verteilfunktion "~cms/bin/rsync-service" kopiert Scripte und
Konfiguration für das Service-CGI auf alle Webserver. Wenn die kopierten
Scripte fehlerhaft sind oder nicht vorhanden, sterben binnen 15 Sekunden
alle Services auf allen Webservern ab. Tests sollten daher unbedingt mit
einem modifizierten Verteilscript erfolgen.
Die Installation des Service-CGI beinhaltet den zentralen Teil für die
Konfiguration der Services und den dezentralen auf den einzelnen
Webservern. Das Vorgehen zur Installation ist wie folgt:
2.2.3.1.1.1.1
Auf jedem
Webserver
Perl-CGIs
Installation Virtueller Webserver
der Webserver im VLAN 192.168.130.x ist ein virtueller
auf Port 999 zu installieren, dessen einzige Aufgabe es ist
zu servieren.
Benötigte Pakete (auf Webserver)
•Apache 1.3.x mit mod_cgi (genaue Version nicht relevant und sollte
durch die eigentliche Web-Applikation vorgegeben sein)
•Digest-MD5-2.13
•MIME-Base64-2.12
•URI-1.12
•HTML-Tagset-3.03
•HTML-Parser-3.25
•libnet-1.0703
•libwww-perl-5.53
•Crypt-SSLeay-0.27 (je nach SSL-Check, im Moment nicht notwendig)
•opensshd
•lynx (verzichtbar, für Testzwecke nützlich)
Benötigte Pakete (auf Loghost)
•openssh
•rsync
opus5 interaktive medien gmbh
24
Alle Pakete sollten im Projektarchiv verfügbar sein. Die Versionsnummern
sind nicht essentiell, vielmehr sollten die Pakete aufeinander abgestimmt
sein.
In /etc/httpd.conf wird ein eigener VirtualHost auf Port 999
dafür konfiguriert, dessen CGI-Verzeichnis namens "service" auf
/data/service-cgi zeigt, worin sich das Perl-Skript namens
"global" befinden wird. Die weiteren Parametrisierungen für den RequestTyp erfolgt über die URI in der Weise, daß "static", "dynamic" usw. nur
symbolische Links auf das "global" Script sind. Deshalb müssen die
"follow symlinks" auch in der Konfiguration vorgesehen sein.
oValidiere, daß der User cms vorhanden ist und das scp vom Loghost aus
als User cms ohne Passwort-Request funktioniert.
oPakete Installieren.
oVerzeichnis /data/service-cgi einrichten mit chmod 755 und Owner cms
o
Die Scripte werden nicht lokal installiert sondern direkt von zentral
kopiert.
2.2.3.1.1.1.2 Installation der zentralen Verteilfunktion (siehe Warnung)
Die Scripte nebst symbolischer Links und die Verteilfunktion sollten sich
auf dem Loghost befinden:
• Dateien: /data/cms/admin/service
• Verteilscript: ~cms/bin/rsync-service
Alle Dateien sollten sich im CVS Repository befinden, bis auf die
symbolischen Links auf das global. Diese sind nach einem Neuaufbau im
Verzeichnis /data/cms/admin/service manuell anzulegen. Das Verteilscript
war nicht executable um versehentliches Ausführen des Scripts
unwahrscheinlicher zu machen.
•validieren, daß User cms und die genannten lokalen Verzeichnisse
vorhanden sind.
•validieren, daß auf den beteiligten Webservern die virtuellen
Webserver installiert und die Verzeichnisse korrekt eingerichtet
sind
•validieren der symbolischen Links in /data/cms/admin/service, dies
sind:
1) static[tst]
2) dynamic[tst]
3) secure[tst]
4) search[tst]
• validieren, daß das eigentliche Script "global" executable ist und
dem User "cms" gehört.
• validieren, daß alle Webserver im "~cms/bin/rsync-service"
drinstehen. Den Test einer neuen Maschine sollten die produktiven
Systeme auskommentiert werden.
• validieren, daß im Konfigurationsfile "service.conf" die notwendigen
Services eingetragen sind (siehe 4.3) und dieses File nur chmod 744
ist.
• su - cms
• Verteilfunktion aufrufen und mitlesen, ob die Verteilung erfolgreich
war.
2.2.3.1.1.1.3 Verifikation der Funktion auf einem speziellen Webserver
opus5 interaktive medien gmbh
25
Nach den oben beschriebenen Schritten sollte auf den betroffenen
Webservern das Service-CGI laufen. Wenn der Rechner auch im ContentSwitch
konfiguriert und aktiviert ist, sollte jede Content-Rule alle 5 Sekunden
einen Request auslösen, was sich durch einen Blick in das Logfile klären
läßt. Hier sieht man auch, ob es HTTP 200 oder 204 für den einzelnen
Service gibt.
Gibt es im Access-Log keinen Hinweis, kann der Aufbau auch wie folgt
getestet werden.
•Auf dem betroffenen Webserver einloggen. z.B. als User cms
•mit netstat -tln checken, daß auf Port 999 was lauscht, wenn nein
Webserver-Virthost checken
•mit z.B. lynx 192.168.130.101:999/service/global?this=1 prüfen, was
auf dem Webserver konfiguriert ist, ggfs. Konfiguration checken,
(siehe 4.3.1). Vorsicht, das richtige Interface läßt sich nur
innerhalb des entsprechenden VLANs requesten. Der gleiche Test vom
Loghost aus müßte daher scheitern.
•Achtung: im global Script sind die VLAN Adressen hardcoded. Sollte
sich das Class-C geändert haben, muß dies im Script nachgeführt
werden.
2.2.3.2 JDK
Java 2 SDK Version 1.3.1 zu finden unter:
http://java.sun.com.
Unter
http://java.sun.com/j2se/1.3/download-linux.html
gibts ein "RedHat RPM shell script"
ftp://213.244.188.40/pub/j2sdk/1.3.1/f198267/j2sdk-1_3_1-linux-i386rpm.bin
Dieses enthüllt nach Aufruf dann ein RPM
[w002-002@santanderbkg-05 w002-002]$ sh j2sdk-1_3_1-linux-i386-rpm.bin
Heraus kommt die Datei jdk-1.3.1.i386.rpm
Es erfolgt die RPM-Installation:
[root@santanderbkg-05 w002-002]# rpm -ivh jdk-1.3.1.i386.rpm
Zusätzlich wird noch das RPM compat-libstdc++-6.2-2.9.0.9.i386.rpm
installiert:
[root@santanderbkg-05 w002-002]$ rpm -ivh compat-libstdc++-6.2-2.9.0.9.i386.rpm
[w002-002@santanderbkg-05 w002-002]$ /usr/java/jdk1.3.1/bin/java -version
java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-b24)
Java HotSpot(TM) Client VM (build 1.3.1-b24, mixed mode)
2.2.3.3 Caucho Resin
Zum Komipieren des Resin-Apache-Moduls wird der gcc benötigt, das
wiederum weitere, noch nicht installierte RPMs benötigt.
Nachinstallation von
• rpm -ivh kernel-headers-2.4.0-0.26.i386.rpm
• rpm -ivh glibc-devel-2.1.92-14.i386.rpm
• rpm -ivh cpp-2.96-54.i386.rpm
• rpm -ivh binutils-2.10.0.18-1.i386.rpm
• rpm -ivh gcc-2.96-54.i386.rpm
opus5 interaktive medien gmbh
26
• rpm -ivh make-3.79.1-5.i386.rpm
Resin ist also nicht als RPM verfügbar, das tar.gz Archiv wird
installiert. Zu finden unter:
http://www.caucho.com
Per scp zu Colt übertragen in /data/home/w002-002/SonstigeSoftware. Dann:
[root@santanderbkg-05 /root]# cd /data
[root@santanderbkg-05 /data]# tar xfvz /data/home/w002-002/SonstigeSoftware/resin1.2.7.tar.gz
[root@santanderbkg-05 /data]# chown -R w002-002.w002-002 resin-1.2.7
[w002-002@santanderbkg-05 w002-002]$ cd /data/resin-1.2.7/
[w002-002@santanderbkg-05 resin-1.2.7]$ ./configure --with-apache=/opt/local/apache -with-java-home=/usr/java/jdk1.3.1
[w002-002@santanderbkg-05 resin-1.2.7]$ make
Installation
[w002-002@santanderbkg-05 resin-1.2.7]$ su Password:
[root@santanderbkg-05 /root]# cd /data/resin-1.2.7/
[root@santanderbkg-05 resin-1.2.7]# make install
[root@santanderbkg-05 resin-1.2.7]# ls -l /opt/local/apache/libexec/mod_caucho.so
-rwxr-xr-x
1 root
root
151012 Jun 15 14:42
/opt/local/apache/libexec/mod_caucho.so
In der httpd.conf steht nun am Ende folgender Abschnitt:
#
# Caucho Servlet Engine Configuration
#
# Uncomment the following two lines to enable CSE
LoadModule caucho_module /opt/local/apache/libexec/mod_caucho.so
AddModule mod_caucho.c
<IfModule mod_caucho.c>
CauchoConfigFile /data/resin-1.2.7/conf/resin.conf
</IfModule>
In der resin.conf werden nun folgende Änderungen vorgenommen:
• der JDBC Abschnitt wird auskommentiert
• <app-dir>/data/wwwdocs</app-dir> auf das richtige DocRoot setzen
• <http port='8080'/> auskommentieren.
• <srun host='127.0.0.1' port='6802'/> => erstmal default lassen
• caucho-status in Produktionsumgebung auf false setzen!
• Autosetup deaktivieren: <war-dir id='webapps'/> auskommentieren
• "<web-app id='/'>" wird die einzig aktive sein.
•
•
•
•
•
to define: <welcome-file-list>
"snoop servlet" deaktivieren (servlet-mapping und servlet-name)
"/~user maps" deaktivieren
ALLE weiteren web-app Einträge mit "id=examples/*" deaktivieren
Der Abschnitt <web-app id='/'> wird um diverse Zeilen erweitert.
Bemerkung:
Evtl. wäre es hier sinnvoller, die Applikations(!)-Konfiguration
(zumindest teilweise) statt in der resin.conf, in einer Datei
WEB-INF/web.xml (siehe Servlet Spezifikation 2.2, PDF-Format, Seite 44)
opus5 interaktive medien gmbh
27
zu schreiben, da diese dann jeweils mit der Applikation upgedatet
werden könnte.
• das Update Intervall für Klassen wird auf 300 gesetzt
<class-update-interval id='300'/>
• Neue Applikation <web-app id='customerPopup' ...> :
<web-app id='customerPopup' app-dir='/data/wwwdocs/customer/popup'>
<class-update-interval id='2'/>
<!-- The classpath directive may be repeated. Source is optional
- Servlets and beans generally belong in WEB-INF/classes
-->
<classpath id='/data/wwwdocs/WEB-INF/classes'
source='/data/wwwdocs/WEB-INF/classes'
compile='false'/>
<classpath id='/data/wwwdocs/WEB-INF/lib/oracle.jar'
compile='false'/>
<servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>
<servlet servlet-name='customer' servlet-class='de.opus5.patagon.custome
<servlet-mapping url-pattern='/popup/jsp/*.jsp' servlet-name='customer'/
</web-app>
Hinweis:
Die Konfigurationszeile
<host id=''>
sollte nicht auf eine IP oder einen Hostnamen abgeändert werden, da es
sonst zu Kommunikationproblemen zwischen Resin und Apache kommt.
In der httpd.conf sind folgende Anpassungen vorzunehmen:
vi /etc/httpd/httpd.conf
Statt
DocumentRoot "/data/apache/htdocs"
das Verzeichnis
DocumentRoot "/data/wwwdocs"
Schreibberechtigt für letzteres ist der Benutzer cms.
Alle PHP Zeilen sind auszukommentieren.
Anschließend die saubere Resin-Umgebung einrichten.
In der Datei /data/resin-1.2.7/bin/srun.sh muß noch die Zeile
args=
durch die Zeile
args="-java_home /usr/java/jdk1.3.1"
ersetzt werden.
Als root:
cd /data/resin-1.2.7
chown -R nobody.nobody .
chmod o-x bin/*.sh
su - nobody -c "cd /data/resin-1.2.7/bin; ./srun.sh start"
Das so installierte Resin wird nun (inkl. Dateirechte plus
/opt/local/apache/libexec/mod_caucho.so und httpd.conf) auf die
weiteren Webserver verteilt.
Neustarts
opus5 interaktive medien gmbh
28
•
•
su cd /data/resin-1.2.7/bin; ./resin-init.sh (stop|start)
bzw.
•
su - nobody -c "cd /data/resin-1.2.7/bin; ./srun.sh (stop|start)"
Für Reboots noch als root:
cd
ln
cd
ln
ln
cd
ln
ln
/etc/init.d
-s /data/resin-1.2.7/bin/resin-init.sh resin
/etc/rc3.d/
-s ../init.d/resin S95resin
-s ../init.d/resin K95resin
/etc/rc2.d/
-s ../init.d/resin S95resin
-s ../init.d/resin K95resin
2.2.3.4 Webapplikation
Die Webapplikation liegt unter /data/wwwdocs. Die Klassen liegen dort im
Verzeichnis WEB-INF/classes.
2.2.3.5
Suchmaschine Inktomi
2.2.3.5.1 Installation
Es existieren unterschiedliche Installations Paket für die verschiedenen
Plattformen. Anleitungen zur Installation sowie Download Möglichkeiten
findet man im Netz unter
http://www.inktomi.com/products/search/support/docs/ink4 x x install
linux.htm
oder für eine Installation auf Windows unter
http://www.inktomi.com/products/search/support/docs/ink4 x x install
nt.htm.
Die Installation beschränkt sich unter Linux auf das Auspacken des
heruntergeladenen Tar Archivs in ein gewünschtes Installations
Verzeichnis und dem Folgen der Installationsanweisungen in der INSTALL
Datei. Nach erfolgter Installation liegt folgende Verzeichnis Struktur
vor
/ - Hauptverzeichnis der Installation mit folgendem Inhalt
ultraseek - Start Datei für den Such Service
README - Readme Datei
INSTALL – Installationsanleitung
/lib - Bibliotheken des Such Dienstes mit folgendem Inhalt
python1.5 - Python Datei zum Patchen des Such Dienstes
/Fonts - Fonts
/docs - HTML Dateien für die Nutzerschnittstelle des Such Dienstes
/bin - ausführbare Dateien zum Start des Such Dienstes
Für die Installation der Patagon Anpassungen an der Nutzer Schnittstelle
müssen nach der Inktomi Service Installation im Installationsverzeichnis
des Service noch die aktuellen HTML Dateien im Verzeichnis docs
installiert werden.
2.2.3.5.2 Konfiguration
Für die Kon_guration des Such Dienstes, so dass die Patagon Seiten
korrekt indiziert werden, sind folgende Schritte notwendig:
1. Login in die Administrator Schnittstelle
opus5 interaktive medien gmbh
29
2. Erstellen eines Such Index für den Patagon Auftritt
a) Erstellen einer neuen Collection
b) \spidering the web" (URL: http://host:port/de/*)
c) Konfiguration der Collection (regelmässige Jobs, Layout, usw.)
Result Page Width 600 (450)
Display Number of Hits 10
show query form above
Show individual word scores off
Remove from results duplicate hits with the same URL on
Highlight query terms in results page on
Interleave Sites off
Provide option to search the Internet off
3. Anstoßen der Indizierung der Seiten.
Die Qualität der Suchergebnisse h.angt nicht unwesentlich von der Qualtät
der indizierten Dokumente ab. Wurden im HTML zum Beispiel Meta Tags
definiert, die eine Beschreibung und/oder Schlüsselworte definieren,
können bei der Indizierung diese Angaben mit ausgwertet und eine
Bewertung der Seiten nicht nur einfacher sondern auch genauer vorgenommen
werden. Auch die Ausnutzung ähnlicher Mechanismen bei anderen Dokument
Typen führt zu einer genaueren Bewertung der Inhalte der Dokumente und
somit letzendlich zu einem besseren Suchergebnis.
Das Aktualisierungsverhalten des Such Service bestimmt die Aktualität der
Bewertung der indizierten Seiten. Damit wird auch die Qualität der
Suchergebnisse der Suchmaschine direkt beeinflußt. Auf Änderungen von
Seiten innerhalb der Menge indizierter Seiten wird vom Suchsystem
innerhalb bestimmter Zeitintevalle reagiert. Diese werden dynamisch an
Änderungsverhalten der Seiten/ Verzeichnisinhalte angepasst. Bei
Änderungen in diesem Verhalten sowie bei neu eingestellten Seiten kann
die Aktualisierung bestimmter Seiten zu selten erfolgen. Damit liegen
diese Seiten falsch bewertet im Index und werden möglicherweise über
nicht zutreffende Sucheingaben gefunden bzw. bei passenden Anfragen
nicht entdeckt.
Sollte es dadurch zu Problemen beim Suchservice kommen, kann die
Indizierung der Seiten von Hand neu angestoßen werden. Das Anstoßen der
Indizierung und das Setzen der Vorgabewerte für die
Aktualiserungsintervalle kann über die Administrator Oberfläche erfolgen.
2.2.4 Backend-Applikationen
Die Backend-Applikation ist auf dem Loghost unter /data/backend
installiert. Die Klassen liegen dort im Verzeichnis WEB-INF/classes.
2.2.5 Reporting
Das Reporting ist auf dem Loghost unter /data/reporting installiert.
Die Klassen liegen dort im Verzeichnis WEB-INF/classes.
2.2.5.1 WebTrends Enterprise Reporting Server
Der WebTrends Reporting Server generiert zyklisch Logfileauswertungen
aller Live-Webserver (HTTP und HTTPS), die ein Apache unter
https://reporting.patagon.de zur Verfügung stellt.
2.2.5.1.1 Installation auf LogHost
Die Installation erfolgt unter der Kennung root.
[root@santanderbkg-05 /root]# rpm -ivh /home/w002-002/WebTrends/wt-ers-linux.i586.rpm
opus5 interaktive medien gmbh
30
Obwohl WebTrends offiziell nur für die RedHat-Versionen 5.2, 6.0, 6.1 und
6.2 zur Verfügung steht, war hier die Lösung für RedHat 7.0 mit der
Installation des RPMS compat-glibc-6.2-2.1.3.2.i386.rpm gefunden.
Die WebTrends-Installation befindet sich dann in
loghost:/usr/local/webtrends
Die Installation wird noch vervollständigt per:
[root@santanderbkg-05 /root]# cd /usr/local/webtrends
[root@santanderbkg-05 webtrends]# ./configure.sh
Lizenz lesen, "accept" tippen, Enter (UserAuthentication),
Ports: 80 (default 1099) für UI und 9999 (default) für Engine ....
SerialNumber: Enter (später Trial Code eingeben), start beim booten: Y ,
alles dem User bin geben lassen,
Would you like to have the .. started now: Y, Enter.
Anschließend steht der Reporting Server unter
http://`hostname`:80
zur Verfügung. Beim Erstaufruf sieht man eine Seite zum "Timed-Trial
mode". Über einen Button kommt man auf die Registrierseite von WebTrends,
wo man sich einen Trialcode bestellen kann. Dieser kommt unverzüglich per
E-Mail und kann dann in der Seite "Timed-Trial mode" unten unter:
"Trial Code or Product Serial Number: " eingegeben und submitted
werden. Damit läuft diese Installation nun mit einer Trial Lizenz
für 14 Tage.
Die Installation legt per Shellscript configure.sh die Linux-Boot-Dateien
an:
[root@santanderbkg-05 /etc]# ls -l init.d/*wtrs*
-rwxr--r-1 root
sys
1229 Jul 5 18:29 init.d/wtrs
[root@santanderbkg-05 /etc]# ls -l rc?.d/*wtrs*
lrwxrwxrwx
1 root
root
21 Jul 5 18:29 rc3.d/S99wtrs ->
/etc/rc.d/init.d/wtrs
lrwxrwxrwx
1 root
root
21 Jul 5 18:29 rc5.d/S99wtrs ->
/etc/rc.d/init.d/wtrs
[root@santanderbkg-05 /etc]#
Es fehlen die Stop-Varianten. Manuelle Nachinstallation:
[root@santanderbkg-05
[root@santanderbkg-05
[root@santanderbkg-05
[root@santanderbkg-05
[root@santanderbkg-05
/etc]# cd rc3.d/
rc3.d]#
rc3.d]# ln -s /etc/rc.d/init.d/wtrs K99wtrs
rc3.d]# cd ../rc5.d/
rc5.d]# ln -s /etc/rc.d/init.d/wtrs K99wtrs
Unter reporting.opus5.de sollen weiterhin Applikationsreports generiert
bzw. ausgeliefert werden. Dazu wird - analog zum Backend - noch eine
Resin-Instanz konfiguriert:
• /data/resin-1.2.7/bin/resin-init-reporting.sh
• /data/resin-1.2.7/conf/resin-reporting.conf
Zugriff auf die Administrationsseite:
• Einloggen auf Loghost per ssh mit X-Forwarding:
ssh 217.110.119.70 -l w002-002 -X
• Netscape remote starten:
netscape
• Aufruf in Netscape (auch über Bookmark "Webtrends Reporting
Server"):
opus5 interaktive medien gmbh
31
http://localhost:1234/
• Login: cms (leeres Passwort); "sicher genug" da vorher ssh login
nötig
Aktuelles Auswertungsintervall: stündlich
2.2.6 CMS und QS
2.2.6.1
Installation des Content-Management-Systems E-Spirit
2.2.6.1.1 Voraussetzungen:
Folgende Software sollte vor dem Installieren zur Verfügung stehen:
• Sun JDK 1.2.2_006 (jdk-1_2_2_006-linux-i386.tar.gz)
• CMS.tar.gz (Komplett-Packet des Systems, verwendet Apache 1.3.19,
Tomcat, MySql 3.23.37 sowie einen virtuellen Xserver und ist
vorkonfiguriert zur Installation unter dem Verzeichnis /opt/cms des
Zielrechners)
Dazu werden die Archive auf den Loghost kopiert.
• scp CMS.tar.gz [email protected]:.
• scp jdk-1_2_2_006-linux-i386.tar.gz [email protected]:.
Danach Einloggen auf dem Loghost und root werden.
• ssh 217.110.119.89 -l w002-002
• su Installation JDK:
Den User cms auf Zielrechner anlegen, der zur Gruppe users gehört.
• useradd -u 3006 -g 100 -d /home/cms -s /bin/bash -c "Account für
Patagon-CMS" -m cms
Das zu verwendene JDK in ein frei wählbares <Verzeichnis> installieren.
(CMS läuft nach Angaben de Herstellers hiermit stabil)
Vorgehensweise:
a) jdk-1_2_2_006-linux-i386.tar nach <verzeichnis> kopieren
b) cd <verzeichnis>
c) jdk-1_2_2_006-linux-i386.tar.gz – Archiv entpacken:
• gunzip jdk-1_2_2_006-linux-i386.tar.gz
• tar –xvf jdk-1_2_2_006-linux-i386.tar
d) Verzeichnis java1.2.2 wurde unter <verzeichnis> angelegt.
e) Zur Versionsspezifizierung java1.2.2 umbenennen:
• mv java1.2.2 java1.2.2_006
f) Das CMS-System läuft später als cms-User und soll die den gerade
installierten JDK verwenden. Dies wird erreicht, indem im
Homedirectory des Users die ./bashrc editiert wird und am Ende der
Datei folgender Eintrag erfolgt:
• export PATH=<verzeichnis>/jdk1.2.2_006/bin:$PATH
Bei dieser Gelegenheit sollte für die spätere Datenbankanbindung
noch folgende Einträge vorgenommen werden:
• export PATH=/opt/cms/system/mysql/bin:$PATH
opus5 interaktive medien gmbh
32
•
exportLD_LIBRARY_PATH=
$LD_LIBRARY_PATH:/opt/cms/system/mysql/lib
g) Mit 'which java' die Version überprüfen:
cms@host:~ > which java
/usr/local/jdk1.2.2_006/bin/java
Anmerkung:
In diesem Fall wurde beispielsweise /usr/local als
Installationsverzeichnis verwendet, wobei man hier jedoch nicht
festegelegt ist.
2.2.6.1.2 Installation des CMS:
Das CMS wird vorkonfiguriert als Package mit allen notwendigen
Komponenten geliefert. Demzufolge ist es notwendig, das CMS-System unter
dem Verzeichnis /opt/cms zu installieren, um eine komplette
Neukonfiguration zu vermeiden.
Vorgehensweise:
1) Als root-User in das Verzeichnis /opt wechseln und das Verzeichnis
cms anlegen.
• mkdir cms
2) Das Verzeichnis /opt/cms dem cms-User zuweisen:
• chown cms.users /opt/cms
3) Das Archiv-File CMS.tar.gz im Verzeichnis /opt/cms entpacken
• gunzip CMS.tar.gz
• tar –xvf CMS.tar
Nun sollten alle Komponenten des Systems anglegt worden sein:
cms@host:/opt/cms > ls
bin export lang projects servlets user
classes globalconfig log scripts system www
clientjar java policies serverjar tasks
cms@host:/opt/cms >
4) Nach /opt/cms wechseln und einen symbolischen Link java anlegen,
bzw. den bestehenden verändern, so dass er auf das zu verwendende
JDK verweist :
• ln -s <installationsverzeichnis>/jdk1.2.2_006 /opt/cms/java
Anmerkung:
Wie oben schon erwähnt, wir beim Package CMS.tar.gz /usr/local
als <installationsverzeichnis> verwendet.
5) Nach /opt/cms/globalconfig wechseln und die cms.ini-Datei
editieren. Hier muss die Variable PREVIEW_URL auf den verwendeten
Host angepasst werden:
• PREVIEW_URL =http://<hostname>:8000/preview
6) Nach /opt/cms/bin wechseln und von dort aus das CMS starten
opus5 interaktive medien gmbh
33
•
cms start
Folgende Startreihenfolge ist in der Shell zu beobachten
1) mysql-DB auf Port 3306 (Standard-Port)
2) Virtueller X-Server Xvfb
3) CMSServer
4) RMI-Server (im Zuge des CMSServer-Starts)
nach einer Verweilzeit von 2 Minuten werden die weiteren
Komponenten gestartet:
5) Apache Webserver auf Port 8000, als User cms der Gruppe
users
6) Jakarta Tomcat auf Port 8080
h) Unter http://<hostname>:8000/admin/ sollte nun die Startseite des
Systems zu sehen sein.
2.2.6.1.3 Softwarekomponenten:
Die neben dem CMS verwendeten Softwarekomponenten befinden sich im
Verzeichnis
/opt/cms/system :
cms@host:/opt/cms/system > ls
apache jakarta-tomcat mysql xvfb
cms@host:/opt/cms/system >
a) CMS
Die Hauptkomponenten des CMS sind das CMSClient.jar-File im
Verzeichnis /opt/cms/clientjar und das CMSServer.jar-File im
Verzeichnis /opt/cms/serverjar. Bei einem Release-Wechsel sind nur
diese beiden Dateien durch die neuen Files zu ersetzten.
Zu beachten ist, dass im Verzeichnis /opt/cms/www/admin ein
symbolischer Link angelegt ist, der auf das CMSClient.jar - File
verweist, um die Änderungen im System bei einem Release-Wechsel auf
die beiden Dateien im Verzeichnis clientjar bzw. serverjar zu
beschränken.
Konfigurationsdateien und Info's:
Die wesentliche Konfigurationsdatei des CMS ist die Datei cms.ini
unter /opt/cms/globalconfig. Dieses File beinhaltet alle wesentlichen
Einträge zum Start des Systems. Eine weitere wichtige Datei ist die
Datei cms unter /opt/cms/bin. Über diese Datei und der Eingabe von
cms start kann das komplette System als User 'cms' gestartet und
gestoppt 2werden ( cms stopp).
b) MySQL-Datenbank
Nach der Installation des CMS-Packages sollte die Datenbank direkt
funktionsfähig sein. Zu diesem Zweck existiert ein User cms @
localhost mit Password ' cmsadmfsp' und allen Rechten. Nach dem Start
der Datenbankinstanz sollte das Shell-Frontend funktionieren:
opus5 interaktive medien gmbh
34
cms@host:~ > mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 3.23.37
Type 'help;' or '\h' for help. Type '\c' to clear the buffer
mysql>
So dass das Ganze überprüft werden kann, wenn man sich die UserTabelle ausgeben lässt:
mysql> use mysql;
Database changed
mysql> select * from user;
+-----------+------+------------------+-------------+----| Host | User | Password | Select_priv |
Insert_priv | Update_priv
| Delete_priv | Create_priv | Drop_priv | Reload_priv |
Shutdown_priv | Process_
priv | File_priv | Grant_priv | References_priv |
Index_priv | Alter_priv |
+-----------+------+------------------+-------------+----| localhost | cms | 78abc1706f4d5de5 | Y | Y
|Y
| Y | Y | Y | Y | Y
|Y
| Y | Y | Y | Y
|Y |
+-----------+------+------------------+-------------+----2 rows in set (0.00 sec)
mysql>
Auf dem Loghost war es nötig, dass von Colt installierte MySQL zu
deaktivieren.
Installiertes und aktiviertes MySQL abschalten:
• /etc/init.d/mysql stop
Startskripte des Colt-RPMs werden in /etc/rc2.d entfernt:
• rm /etc/rc.d/rc0.d/K90mysql
• rm /etc/rc.d/rc1.d/K90mysql
• rm /etc/rc.d/rc2.d/S90mysql
• rm /etc/rc.d/rc3.d/S90mysql
• rm /etc/rc.d/rc4.d/S90mysql
• rm /etc/rc.d/rc5.d/S90mysql
• rm /etc/rc.d/rc6.d/K90mysql
• Evtl. ganzes RPM entfernen.
Konfigurationsdateien und Info's:
Im Verzeichnis /opt/cms/system/mysql/data existiert ein
Konfigurations-File my.cnf, das die erforderlichen Einträge enthält.
Die Systemdatei mysql.sock wird unter /tmp angelegt.
Die Datenbank läuft auf Ihrem Default-Port: 3306
c) Apache
Statt dem installierten Apache-RPM wird der mit CMS gelieferte Apache
verwendet und auf Port 80 konfiguriert.
Dazu wird der Start des Apache im Startscript /opt/cms/bin/cms
auskommentiert:
• START_APACHE=0
opus5 interaktive medien gmbh
35
In der Konfigurationsdatei /opt/cms/system/apache/conf/httpd.conf
der Port von 8000 auf 80 geändert.
Danach wird dann der Apache-RPM gestoppt:
[root@santanderbkg-05 /data]# /opt/local/apache/bin/apachectl stop
/opt/local/apache/bin/apachectl stop: httpd stopped
und dann die Init-/Startskripte des Apache-RPMs deaktiviert:
[root@santanderbkg-05 /etc]# find rc*.d -name "*apache*"
rc.d/init.d/apache
rc.d/rc3.d/S80apache
rc.d/rc3.d/K80apache
[root@santanderbkg-05 /etc]# rm rc.d/rc3.d/S80apache
rm: remove `rc.d/rc3.d/S80apache'? y
[root@santanderbkg-05 /etc]# rm rc.d/rc3.d/K80apache
rm: remove `rc.d/rc3.d/K80apache'? y
Dann Start als root mit "/opt/cms/system/apache/bin/apachectl start"
der Apache gestartet.
Im Jakarta Tomcat Teil des CMS läuft defaultmäßig auch ein Webserver.
Dieser wurde mangels Notwendigkeit deaktiviert, indem der Connector
für HttpConnectionHandler in /opt/cms/system/jakartatomcat/conf/server.xml auskommentiert wurde.
d) Weiter Softwarekomponenten/ Anpassungen
Es gab Probleme mit libdb.so.3. Eine Lösung ist das Nachinstallieren
des RPMs. Dazu Mounten der RedHat 7.0 CD 1, dann:
[w002-002@santanderbkg-05 w002-002]$ cd /mnt/cdrom/RedHat/RPMS/
[w002-002@santanderbkg-05 w002-002]$ scp compat-glibc-6.2-2.1.3.2.i386.rpm [email protected]:.
[w002-002@santanderbkg-05 w002-002]$ su [root@santanderbkg-05 /root]# rpm -ivh /home/w002-002/compat-glibc-6.2-2.1.3.2.i386.rpm
[root@santanderbkg-05 /root]# cd /etc
[root@santanderbkg-05 /root]# vi ld.so.conf
Den Pfad /usr/i386-glibc21-linux/lib hinzufügen und ldconfig
aufrufen.
Dann muß noch (eine Komponente von) X installiert sein:
[w002-002@santanderbkg-05 w002-002]$ scp XFree86-libs-4.0.1-1.i386.rpm [email protected]:.
[w002-002@santanderbkg-05 w002-002]$ su [root@santanderbkg-05 /root]# rpm -ivh /home/w002-002/XFree86-libs-4.0.1-1.i386.rpm
Zu Xvfb (virtueller X-Server):
[root@santanderbkg-05 bin]# su - cms
[cms@santanderbkg-05 cms]$ cd /opt/cms/bin/
[cms@santanderbkg-05 bin]$ vi cms
weitere XFree86-Pakete fuer Xforwarding
opus5 interaktive medien gmbh
36
[root@santanderbkg-05 /root]# rpm -ihvv --test /data/home/w002-002/XFree86-xfs-4.0.11.i386.rpm
rpm -ihvv --test /data/home/w002-002/Mesa-3.3-5.i386.rpm --nodeps
rpm -ihvv --test /data/home/w002-002/XFree86-4.0.1-1.i386.rpm
rpm -ihvv --test /data/home/w002-002/XFree86-tools-4.0.1-1.i386.rpm
Änderung:
# Xvfb $DISPLAY -nolisten tcp -fp /usr/X11R6/lib/X11/fonts/misc -screen 0 1024x768x24 &
# modifiziert nach Absprache mit e-spirit, 19.06.2001, [email protected]
Xvfb $DISPLAY -nolisten tcp -fp $CMS_SERVER_HOME/system/xvfb/fonts/misc -co
$CMS_SERVER_HOME/system/xvfb/lib/rgb -sp
$CMS_SERVER_HOME/system\/xvfb/lib/SecurityPolicy -screen 0 1024x768x24 &
Von E-Spirit wurde noch ein Archiv nachgeliefert, welches
den Verzeichnisbaum (/opt/cms/)"system/xvfb/lib" mit 2 Dateien
enthält.
scp xvfb.tgz [email protected]:.
[root@santanderbkg-05 root]# cd /opt/cms
[root@santanderbkg-05 cms]# tar xfvz /home/w002-002/xvfb.tgz
Zu Testzwecken lokaler HTTP-Zugriffe wurde noch das RPM lynx
installiert, allerdings mit der RPM-Option --nodeps wegen
fehlgeschlagenem Check auf Datei /usr/bin/perl.
[root@santanderbkg-05 /root]# rpm -ivh --nodeps /home/w002-002/lynx-2.8.4-3.i386.rpm
Das lynx-RPM wurde weiterhin auf der Maschine 192.168.150.103
installiert, um die Resin-Applikation lokal zu testen.
Für lokale, manuelle Zugriff auf das MySQL des CMS wird das ClientBinary /opt/cms/system/mysql/bin/mysql verwendet. Damit dieses aber
auf der aktuellen Installation funktioniert, wird noch (zusätzilch
zum installierten RPM ncurses-5.2-2) das RPM ncurses4-5.0-2
nachinstalliert.
Konfigurationsdateien und Info's:
a) Apache und Jakarta-Tomcat
Beide Komponenten liegen in den Verzeichnissen opt/cms/system/apache,
bzw. /opt/cms/system/jakarta-tomcat.
Der Apache Webserver läuft als cms-User auf Port 8000 und das TomcatModul auf Port 8080. Die Konfiguartionsdatei für den Apache liegt
unter:
/opt/cms/system/apache/conf/httpd.conf
und für den das Tomcat-Modul unter:
/opt/cms/system/jakarta-tomcat/conf/server.xml
b) Alle Log-Dateien des System liegen unter
/opt/cms/system/apache/logs
2.2.6.1.4 Software-Updates zum CMS
Dazu wird das CMSClient.jar und das CMSServer.jar auf den Loghost
kopiert.
scp CMS*.jar [email protected]:.
Auf dem Loghost als root:
opus5 interaktive medien gmbh
37
su - cms
cp /home/w002-002/CMSClient.jar /opt/cms/clientjar/
cp /home/w002-002/CMSServer.jar /opt/cms/serverjar/
cd /opt/cms/bin
./cms stop
./cms start
2.2.6.1.5 Deployment Konfiguration
Verteilung der Inhalte erfolgt per rsync over ssh als User cms.
Die RSync Homepage ist zu finden unter: http://rsync.samba.org/ bzw. die
Manpage mit:
man rsync
Vorbereitung:
Auf alle Webmaschinen und dem Loghost wird das RPM rsync-2.4.4-1
eingespielt. Anschließend ssh Verbindung inkl. Authentification
konfigurieren:
[w103-103@santanderbkg-03 w103-103]$ cd .ssh/
[w103-103@santanderbkg-03 .ssh]$ ssh-keygen
[w103-103@santanderbkg-03 .ssh]$ ssh-keygen -t dsa
scp .ssh/identity.pub [email protected]:.ssh/au1.add
scp .ssh/id_dsa.pub [email protected]:.ssh/au2.add
cd .ssh
vi config
Neue Zeile: "cipher blowfish"
[w101-101@santanderbkg-01
[w101-101@santanderbkg-01
[w101-101@santanderbkg-01
[w101-101@santanderbkg-01
.ssh]$
.ssh]$
.ssh]$
.ssh]$
cp -p authorized_keys authorized_keys.bak
cp -p authorized_keys2 authorized_keys2.bak
cat authorized_keys.bak au1.add > authorized_keys
cat authorized_keys2.bak au2.add > authorized_keys2
[w103-103@santanderbkg-03 w103-103]$ ssh -v -2 192.168.150.101 -l w101-101
[w103-103@santanderbkg-03 w103-103]$ ssh -v -1 192.168.150.101 -l w101-101
Da gibts einige Probleme beim Userwechsel in ssh-Aufruf.
Daher wird der User cms, UID 3006 auf allen Webmaschinen angelegt:
[root@santanderbkg-03 /root]# useradd -u 3006 -g 100 -d /data/home/cms -s /bin/bash -c
"CMS sdist User" -m cms
[root@santanderbkg-03 /root]# passwd cms
[root@santanderbkg-03 /root]# su - cms
[cms@santanderbkg-03 .ssh]$ ssh-keygen
[cms@santanderbkg-03 .ssh]$ ssh-keygen -t dsa
cd ..
scp .ssh/identity.pub [email protected]:.ssh/authorized_keys
scp .ssh/id_dsa.pub [email protected]:.ssh/authorized_keys2
vi .ssh/config
Test mit:
ssh -v -2 192.168.150.101
ssh -v -1 192.168.150.101
Passworte der User cms auf den Webmaschinen werden wieder zurückgesetzt
(in /etc/shadow).
Das Programm /data/home/cms/bin/rsync-patagon verteilt momentan unter
User 'cms' (den es nun auf allen Maschinen gibt) vom
loghost:/data/cms/deployed
opus5 interaktive medien gmbh
38
nach w1, w2 und w3 in /data/wwwdocs
Vorher wird der einzuspielende Stand archiviert in
loghost:/data/cms/archive/dep.$filedate.tgz
Für ssh-Keyübertragung wurde dem User ein Passwort gesetzt. Hinterher auf
allen 3 Maschinen:
usermod -L cms
Zum Testen (des CMS lokal, Netscape unter Linux auf Loghost):
Installation folgender RPMS:
•
•
•
netscape-navigator-4.75-2.i386.rpm
netscape-common-4.75-2.i386.rpm
chkfontpath-1.7.2-5.i386.rpm
Weiterhin j2sdk-1_3_1-linux-i386.bin in /home/w002-002,
wobei die Datei java.policy von e-spirit noch ins Unterverzeichnis
/home/w002-002/jdk1.3.1/jre/lib/security/
kopiert wurde und durch Einfügen der Zeile
policy.url.2=file:${java.home}/lib/security/java.policy.cms
in
/home/w002-002/jdk1.3.1/jre/lib/security/java.security
bekannt gemacht wurde.
Abschließend wurde noch das CA-Zertifikat vom TCTrustcenter von
http://www.trustcenter.de/certservices/cacerts/_1716.der
downgeloaded und per
/home/w002-002/jdk1.3.1/jre/bin/keytool -import -file /tmp/_1716.der keystore /home/w002-002/jdk1.3.1/jre/lib/security/cacerts -storetype jks
registriert. (Default Passwort dabei ist noch: changeit)
Vor Starten des Netscape Clients wird noch (in $HOME/.bashrc) die
Variable
export NPX_PLUGIN_PATH=/home/w002-002/jdk1.3.1/jre/plugin/i386/ns4
gesetzt, damit das Java-Plugin aus dem JDK 1.3.1 funktioniert.
2.2.6.1.6 sendmail Konfiguration
Es werden die folgenden kleinen Änderungen an der Default-Installation
vorgenommen, damit Mails von Cronjobs, vom CMS etc. korrekt versendet
werden können.
opus5 interaktive medien gmbh
39
[root@santanderbkg-05 /etc]# diff sendmail.cf sendmail.cf.bak
87c87
< DSmail.santander.de
--> DS
116c116
< DHmail.santander.de
--> DH
[root@santanderbkg-05 /etc]# diff mail/access mail/access.bak
7,9c7,9
< #localhost.localdomain RELAY
< #localhost RELAY
< #127.0.0.1 RELAY
--> localhost.localdomain RELAY
> localhost RELAY
> 127.0.0.1 RELAY
[root@santanderbkg-05 /etc]#
Nach Umkonfiguration muß sendmail restartet werden:
[root@santanderbkg-05 mail]# /etc/init.d/sendmail condrestart
Shutting down sendmail: [ OK ]
Starting sendmail: [ OK ]
[root@santanderbkg-05 mail]#
Nachtrag:
Zu CMS-Test-Zwecken wird auf einer neuen Maschine, IP 217.110.119.75, das
CMS noch einmal installiert. Die Maschine wurde von Colt neu installiert
plus der inzwischen auf dem Loghost existierenden User. Anschließend wird
von opus das CMS - wie oben beschrieben - installiert.
2.3
Externe Komponenten
2.3.1 Monitoring
2.3.2 Backup
2.3.3 ITBS Datenfeed
Die Daten werden von http://www.santander.de/stb_daten/upload geholt.
Konfiguration erfolgt an den folgenden Stellen:
• getITBS.pl
• Applet
• JSP-Dateien (werden im CMS verwaltet)
2.3.4 FMS
Für die Anbindung an FMS ist es notwendig, dass die Webserver IP-Adresse
bei FMS freigeschaltet wird.
Die Komponenten für die Anbindung sind in die Webapplikation integriert,
und müssen nicht einzeln installiert werden.
Die Konfiguration erfolgt über die FMSInit.properties, die sich auf dem
Loghost im Verzeichnis /data/cms/deployed/WEB-INF/classes befindet.
Von dort wird sie auf alle Webserver verteilt (Restart der Resins
notwendig)
opus5 interaktive medien gmbh
40
2.4
3
3.1
Securitypolicy
Organisatorische Vorbereitung
Service Team Systeme und Applikationen
3.1.1 Rollen
3.1.2 Service Kanäle
3.1.3 Servicezeiten
3.2
Service Team Hosting
3.3
Service Center Patagon
3.4
Notfallstab Patagon
3.5
Vorzubereitende Entscheidungen und Eskalationsszenarien
3.5.1 Intrusion
3.5.2 Eingeschränkter Betrieb nach Totalausfall
4
Regelbetrieb
In diesem Kapitel sind die Aktivitäten erklärt, die für die
Aufrechterhaltung des täglichen Betriebs nötig sind.
Es wird beschrieben welche Logfiles vom System erzeugt werden und wie
einzelne Komponenten neu gestartet werden können.
4.1
System
4.1.1 Monitoring
Nach dem Monitoringkonzept von Johannes Fassen vom 16.08.2001.
4.1.1.1 Einführung
Für jede Servergruppe und den ContentSwitch gibt es ein eigenes
Monitoring Paket, das auf dem COLT Standardpaket basiert. In jedem
Paket gibt es kritische Monitore, die sofort einen definierten
Reaktionsplan auslösen und solche, die primär informativen Charakter
haben. Unabhängig davon sind von jedem Monitor Auswertungsübersichten
über mindestens einen Monat bzw. 31 Tage rollierend vorzuhalten, die
in einfacher Form revisionssicher archivierbar sein müssen.
Neben dem Monitoring gibt es noch die normalen Logfiles, die z.B.
beim Versagen des Backups geschrieben und selbstverständlich auch zur
Kenntnis genommen werden müssen. Diese sind nicht Gegenstand dieses
Dokuments.
Von der Begrifflichkeit wird zwischen Verfügbarkeit und Erreichbarkeit
unterschieden, wobei Erreichbarkeit heißt, daß "vom System aus ein
externer Service erreicht werden kann", und Verfügbarkeit heißt, daß
„ein Service auf der lokalen Maschine läuft und extern zugreifbar
ist“. Laut COLT sind Erreichbarkeitstests nur über Skript Monitore
realisierbar, so daß die effektive Erreichbarkeit eines externen
Service nur an einer Stelle aus der Patagon-Infrastruktur bei COLT
getestet wird.
Ebenso können Verfügbarkeiten z.B. einer URL nur auf Interfaces
getestet werden, die von extern oder aus dem Admin-LAN von COLT heraus
ansprechbar sind. Dieser Umstand hat insbesondere Einfluß auf die
Gestaltung der Monitore der Webserver-Farm, da hier alle relevanten
opus5 interaktive medien gmbh
41
Services auf einem Interface laufen, das nur vom ContentSwitch aus
sichtbar ist.
4.1.1.2
Webserver-Farm
4.1.1.2.1 Tests
Für die Maschinen der Webserver-Farm soll ein Standard Grundpaket
eingerichtet werden. Da der eigentlich interessierende Service (HTTP,
über URL Test) wegen der Netzwerktopologie nicht direkt
implementierbar ist, wird dieser funktional im Monitoring des
ContentSwitch realisert. Auf diese Weise wird die Erweiterung des
Monitorings für den ContentSwitch bei Ausbau der Webserver-Farm über
das Standard Grundpaket des Webservers abgedeckt. Auf den Webservern
selbst laufen nur noch die Basistests.
Service
CPU
Plattenspeicher
Arbeitspeicher
Ping
Testmethode
COLT SiteScope
Standard
Anmerkungen
ping auf dem
Service LAN
lassen sich gezielt
Interfaces pingen?
Reaktionsplan
#2.1
#2.2
4.1.1.2.2 Reaktionspläne
#2.1: (automatisch)
1) Notifikation bei 1. Warnung: Email an [email protected]
2) Alarm bei 2. Schwellwertüberschreitung: Email an [email protected]
#2.2: (bis Behebung oder Eskalation nach opus5: 15 Minuten)
1) COLT eigener Reaktionsplan bei Netzwerkproblemen
2) Falls Netzwerkproblem und nicht behebbar und nicht nur das Service
LAN betroffen ist, Email an [email protected]
3) Sollte mehr sollte mehr als 1 Webserver betroffen sein, sofort
Email an: [email protected] und Anruf auf Mobiltelefon
4.1.1.2.2.1 TODOs
· Mobiltelefon opus 5 (=> opus5)
4.1.1.3
Messagebox (Standard Grundpaket + Zusatzpaket 2)
4.1.1.3.1 Tests
Neben den Basistests soll auf der Messagebox die Verfügbarkeit des
Webinterfaces für den Newsletterversand und die Erreichbarkeit des
Mailrelays und des DNS Servers sichergestellt werden. Die
Erreichbarkeitstest sind über einen Skript-Monitor zu realisieren.
Service
CPU
Plattenspeicher
Arbeitspeicher
ping
Verfügbarkeit
Webserver und
Testmethode
COLT SiteScope
Standard
ping auf dem
Service LAN
URL-Monitor
Standard
opus5 interaktive medien gmbh
Anmerkungen
Reaktionsplan
#3.1
#3.2
Von extern ein HTTP
GET auf ein zu
#3.3
42
MySQL
Erreichbarkeit
des SMTP-Relays
Skript Monitor
definierendes CGI,
das auch auf die
MySQL DB zugreift
Versand einer Email
an [email protected]
Getestet wird nur ob
die Email auch vom
Mailrelay angenommen
wird.
DNS Lookup –t MX
#3.4
4.1.1.3.2 Reaktionspläne
#3.1: (automatisch)
1) Notifikation bei 1. Warnung: Email an [email protected]
2) Alarm bei 2. Schwellwertüberschreitung: Email an [email protected]
#3.2: (bis Behebung oder Eskalation nach opus5: 15 Minuten)
1) COLT eigener Reaktionsplan bei Netzwerkproblemen
2) Falls Netzwerkproblem und nicht behebbar und nicht nur das
Service LAN betroffen ist, Email an [email protected] und
den Owner bei Patagon für den Newsletter Versand zur
Notifikation
#3.3: (bis Behebung oder Eskalation nach opus5: 15 Minuten)
1) Netzwerktest durch COLT. Falls Netzwerkproblem bei COLT => COLT
interne Eskalationsplan und Email an [email protected] und
Notifikation an Owner des Newsletters
2) in der Newsletter-Versandzeit Email an: [email protected]
und Anruf auf Mobiltelefon, sowie Notifikation an Owner
Newsletter
3) in der sonstigen Zeit Email an: [email protected]
#3.4: (bis Behebung oder Eskalation nach opus5: 15 Minuten)
1) Check des Mail Relay Monitors mail.santander.de =>
Eskalationsplan Santander Infrastruktur
2) Netzwerktest durch COLT. Falls Netzwerkproblem bei COLT => COLT
interne Eskalationsplan und Email mit Notifikation an [email protected]
3) Problem nicht behebbar:
4) in der Newsletter-Versandzeit Email an: [email protected]
und Anruf auf Mobiltelefon, sowie Notifikation an Owner
Newsletter
5) in der sonstigen Zeit Email an: [email protected]
4.1.1.3.2.1 3.3 TODOs
•
•
Notifikationskanal für Newsletter(=>patagon), failsafe gegen
Mailausfall, da dieser Workflow über den ausgefallenen Relay
laufen würde.
Definition Newsletter-Versandzeit (=> patagon)
opus5 interaktive medien gmbh
43
•
•
•
•
Bereitstellung des Selbsttest CGIs (=> opus5)
Sicherstellung, daß mail.santander.de in einem adäquaten
Monitoring überwacht und Notifikationskanal eingerichetet ist
(=> patagon)
Definition Schnittstelle Fehlerstatus bei Skript Monitoren und
der Möglichkeit zur Anzeige einer Fehlermeldung (=>COLT)
Implementation Skript Monitor (=> opus5)
4.1.1.4
Datenbank-Server
4.1.1.4.1 Tests
Auf der Datenbank sollte neben den Basistest die Verfügbarkeit und
angemessene Performance der Datenbank überwacht werden. Die
Überwachung der Datenbank geschieht durch den durch eSpirit
implementierten Monitor. Dieser ruft extern via JDBC eine Stored
Procedure auf, welche neben der Sicherstellung der prinzipiellen
Erreichbarkeit der Datenbank, die statistischen Systemtabellen
ausliest, welche Aufschluß über die Performance der Datenbank liefern.
Dieser Monitor unterscheidet zwischen Notifikationen bei anstehenden
Performance Problemen und Alerts bei akuten Verfügbarkeitproblemen.
Ferner ist sicherzustellen, daß der DB-User keinen Zugriff auf die
Nutzdaten hat.
Service
CPU
Plattenspeicher
Arbeitsspeicher
ping
Datenbank
Backup
Testmethode
COLT SiteScope
Standard
ping auf dem
Service LAN
Oramon Monitoring
Tool für die
Datenbank von
Espirit
Skript Monitor
Anmerkungen
Schwellwerte für
Plattenspeicher
Reaktionsplan
#4.1
#4.2
#4.3
Prüft, ob die
Dumpfiles für das
Backup korrekt
erzeugt wurden.
#4.4
4.1.1.4.2 Reaktionspläne
#4.1: (automatisch)
1) Email an [email protected]
#4.2: (bis Behebung oder Eskalation nach opus5: 15 Minuten)
1) umgehende Notifikation an das Kunden-Callcenter, dass potentiell
Störungen zu befürchten sind.
2) COLT eigener Reaktionsplan bei Netzwerkproblemen
3) Falls Netzwerkproblem und nicht behebbar und nicht nur das
Service LAN betroffen ist, Email an [email protected]
#4.3: (bis Behebung oder Eskalation nach opus5: <10 Minuten)
1) Performance und Auslastungs Events: Email an [email protected]
2) Verfügbarkeitsevents: umgehende Notifikation an das Kunden-
opus5 interaktive medien gmbh
44
Callcenter, da Störungen hier sofort Kundensichtbar werden.
3) Netzwerktest durch COLT. Falls Netzwerkproblem bei COLT => COLT
interne Eskalationsplan und Email an [email protected]
4) Falls Probleme nicht behebbar: Email [email protected] und
Mobiltelefon opus5
#4.4: (automatisch)
1) Email an [email protected]
4.1.1.4.2.1 TODOs
•
•
•
•
4.1.1.5
Notifikationskanal für Call-Center (=>patagon), möglicherweise
failsafe gegen Mailausfall
Genaue Sichtung der Features und Events von oramon (=>
Vorbereitung COLT), sowie damit die Definition der kritischen
Events
Einrichtung der notwendigen User auf der DB und Installation der
SP (=> opus5)
Implementation Skript Monitor (=>opus5)
Loghost (Standard Grundpaket + Zusatzpaket 2)
4.1.1.5.1 Tests
Auf dem Loghost sollte getestet werden:
Service
CPU
Plattenspeicher
Arbeitspeicher
Ping
Testmethode
COLT SiteScope
Standard
Anmerkungen
ping auf externes
Interface
Port 80
Connect auf Port 80
der «CMS IP»
Allgemeiner
Skript Monitor
Skript prüft die
Konnektivitätste
Erreichbarkeit der
st:
Services auf
Mail-Relay,
Portebene. Die
Messagebox,
grundsätzliche
DB,
Funktionalität der
Webserver-Farm
Services wird durch
andere Monitore
sichergestellt.
Verfügbarkeit
URL Monitor
aller (4)
Standard über
virtueller
externe Adresse
Webserver
CMS Selbstest
Skript Monitor
Skript requestet die
Status-Pages des CMS
und matcht auf
kritische Strings
Deployment-Test Skript Monitor
Skript testet die
Verteilfunktion für
das Deployment auf
die Livegruppe
opus5 interaktive medien gmbh
Reaktionsplan
#5.1
#5.2
#5.2
#5.3
#5.4
#5.5
#5.6
45
FMS Datenquelle
URL Monitor auf
externe Maschine
#5.7
Im Scriptmonitor werden alle komplexen Wirkzusammenhänge getestet.
Zunächst wird dies sein, das Deployment zu testen und die „Hänger“
beim Webtrends, falls es keinen griffigen CMS-Selbsttest gibt, kommt
dieser ebenfalls in dieses Script.
Das Script selbst sollte Emails für Notifikationen generieren z.B. für
das hängende Webtrends und eine Error-Response für die kritischen
Teile, z.B. das Deployment.
4.1.1.5.2 Reaktionspläne
#5.1: (automatisch)
1) Email an [email protected]
#5.2: (bis Behebung oder Eskalation nach opus5: 15 Minuten)
1) umgehende Notifikation an die Redaktion
2) COLT eigener Reaktionsplan bei Netzwerkproblemen
3) Bei Redaktionszeiten: Email [email protected], Mobiltelefon
opus5 außerhalb der Redaktionszeiten: Email [email protected]
#5.3: (bis Behebung oder Eskalation nach opus5: 15 Minuten)
1) Netzwerktest durch COLT von der Maschine aus. Falls
Netzwerkproblem bei COLT => COLT interne Eskalationsplan und
Email an [email protected] und Notifikation an Owner des
Newsletters und die Redaktion
2) in der Newsletter-Versandzeit Email an: [email protected]
und Anruf auf Mobiltelefon, sowie Notifikation an Owner
Newsletter
3) in der sonstigen Zeit Email an: [email protected]
#5.4: (bis Behebung oder Eskalation nach opus5: 15 Minuten)
1) Netzwerktest durch COLT. Falls Netzwerkproblem bei COLT => COLT
interne Eskalationsplan und Email an [email protected] und
Notifikation an: Redaktion, Reporting.
2) Während der Redaktionszeit: Email an [email protected] und
Mobiltelefon opus5
#5.5: (bis Behebung oder Eskalation nach opus5: 15 Minuten)
1) Netzwerktest durch COLT. Falls Netzwerkproblem bei COLT => COLT
interne Eskalationsplan und Email an [email protected] und
Notifikation an: Redaktion, Reporting.
2) Während der Redaktionszeit: Email an [email protected] und
Mobiltelefon opus5
#5.6: (bis Behebung oder Eskalation nach opus5: 15 Minuten)
1) Netzwerktest durch COLT. Falls Netzwerkproblem bei COLT => COLT
interne Eskalationsplan und Email an [email protected] und
Notifikation an: Redaktion, Reporting
2) Während der Redaktionszeit: Email an [email protected] und
Mobiltelefon opus 5
#5.7: (bis Behebung oder Eskalation nach FMS: 15 Minuten)
1) Netzwerktest durch COLT. Falls Netzwerkproblem bei COLT => COLT
interne Eskalationsplan und Email an [email protected]
opus5 interaktive medien gmbh
46
2) Bei offensichtlichem Netzwerkproblem bei der FMS => Alerting
Kanal FMS
3) Kein Netzwerkproblem erkennbar => Alerting Kanal FMS
4.1.1.5.2.1 TODOs
•
•
•
•
•
•
•
4.1.1.6
Alerting Kanal bei FMS (=>patagon)
Definition einer geeigneten Seite bei der FMS (=> FMS)
Selbsttest des CMS (=> eSpirit)
Notifikationskanal Redaktion (=> patagon)
Notifikationskanal Reporting (=> patagon)
Definition der Redaktionszeit (=> patagon)
Implementation der Script Monitore (=>opus 5)
Content-Switch
4.1.1.6.1 Tests
Von jedem Service sollte die aktuelle sowie die historische Verfügbarkeit
sichtbar sein. Bei den Content-Rules bieten sich Server-zentrierte
Sichten sowie „Gruppen-Ansichten“ an, um auf einen Blick zu sehen, wie
die Verfügbarkeit einer Content-Rule auf der Serverfarm ist.
Notwendig ist es, für jede Content-Rule einen Schwellwert zu definieren,
der bei Unterschreitung präventiv einen Alert auslöst, bevor eine Gesamte
Servicegruppe z.B. die www.patagon.de (statische Contents) ausfällt.
Die Nichtverfügbarkeit einer URL, www.patagon.de search.patagon.de und
https://www.patagon.de muß unmittelbar zu einem Alert führen. Bei den
Contentrules, sollte dies vom Schwellwert abhängen.
Sinnvolle Sichten:
• Überblick, aktuelle und historische Sicht der Gruppen bzw. URLs
• Pro-Server-Sicht: aktuelle und historische Informationen zu den
Content-Rules pro Server
• Content-Rule bezogene Sicht über alle Server
Da die Einrichtungsaufwände für die Überwachung der Content-Rules von der
Anzahl der Webserver abhängt, sind diese wie eingangs erwähnt in
Kombination mit dem Monitoring Paket der Webserver zu sehen und werden
über dieses abgerechnet.
Service
http://www.patagon.de
http://search.patagon.de
https://www.patagon.de
ContentRule:
ContentRule:
ContentRule:
ContentRule:
ContentRule:
static
dynamic
search
secure
statictest
opus5 interaktive medien gmbh
Testmethode
Anmerkungen
URL Monitor,
Intervall 1 Min
URL Monitor,
Intervall 1 Min
URL Monitor,
Intervall 1 Min
SNMP, SW = 2
SNMP, SW = 2
SNMP, SW = 2
SNMP, SW = 2
SNMP, SW = 0
Reaktionsplan
#6.1
#6.1
#6.1
#6.2
#6.2
#6.2
#6.2
47
ContentRule: dynamictest SNMP,
ContentRule: searchtest
SNMP,
ContentRule: securetest
SNMP,
Test auf Totalausfall des
ContentSwitches selbst
*) SW=Schwellwert , SW=0 heißt,
SW = 0
SW = 0
SW = 0
Definition
durch Colt
es werden keine Alerts generiert.
#6.3
4.1.1.6.2 Reaktionspläne
#6.1: (Störungsbehebung innerhalb 30 Minuten)
1) Notifikation an das Kunden-Call-Center und [email protected] (automatisch)
2) Netzwerk-Diagnose durch COLT
3) während der Service-Zeiten opus 5 auch per Mobiltelefon
Abarbeitung einer Checkliste von opus5 durch COLT
4) Bei Mißerfolg auch außerhalb der Service-Zeiten Mobiltelefon
opus5
#6.2: (Weitermeldung an opus5 innerhalb 30 Minuten)
1) Netzwerk-Diagnose durch COLT
2) Service auf allen Maschinen weg => #6.1
3) Email [email protected]
#6.3: (Störungbehebung innerhalb von 15 Minuten)
COLT eigenes Szenario
4.1.1.6.2.1 TODOs
• Implementation ContentSwitch Monitoring: 1) Vorschlag von COLT für
die einzelnen Sichten 2) Abnahme, patagon 3) Implementation
• Checkliste für die Störungsbehebung (=> opus5)
• Wiederherstellungsszenario für den ContentSwitch selbst(=> SLAs
COLT)
4.1.1.7 Sonstiges und weiteres Vorgehen
• Die Firewall selbst sowie die Router erscheinen nicht explizit im
Monitoring und werden als Teil der Netzwerkinfrastruktur
betrachtet. Wiederherstellungszeiten müssen von COLT im Rahmen der
SLAs angegeben werden.
• die Alerting und Service Kanäle sind gegen die vertraglichen SLAs zu
prüfen
• Es bleibt zu prüfen, welche Teile des Alertings automatisierbar sind
und welche Entscheidungen manuell zu treffen sind =>
Reaktionszeiten
• die prinzipielle fachliche Abstimmung, die die Beauftragbarkeit des
Monitoring sicherstellt, sollte bis zum 17. August 17:00
abgeschlossen sein. Dazu ist ggf. bis 17. August 12:00 ein
gemeinsamer Workshop zwischen patagon, COLT und opus 5.
• opus 5 muß neben der technischen Implementation die Reaktionspläne
inhaltlich qualitätssichern und auf organisatorische Abbildbarkeit
prüfen.
• die von COLT vorgeschlagenen Transaktions-Monitore, sollten für eine
zweite Stufe z.B. für den Kunde werden Prozeß ins Auge gefaßt
werden.
opus5 interaktive medien gmbh
48
• Archivierung der Monitoring Historien
4.2
Backup
4.2.1 Konzept
Backup der Platten der einzelnen Systeme von Colt.
Dump vom CMS und von der Datenbank. (siehe auch 4.5)
4.2.2 Wiederherstellung
4.3
ContentSwitch
Unter normalen Umständen ist am Service-CGI nichts zu konfigurieren oder
zu überwachen, lediglich die Logfiles sollten beim allgemeinen LogfileAufräumen mit gelöscht werden.
In der Regel werden Konfiguratonsänderungen nur zu diagnostischen Zwecken
bzw. zur Konfigurationsarbeit z.B. am Inktomi geschehen.
Dementsprechend gibt es zwei Standardsituationen: Testen einer Speziellen
Maschine und erweitern der Webserver-Farm.
4.3.1 Konfigurationsfile und Standard-Doings
Das Konfigurationsfile (service.conf) ist gegliedert in:
•node: Hier stehen alle Knotennummern der Rechner, auf denen überhaupt
Services vorgesehen sind. Die Nummer entspricht der Class-C
Subnetzadresse. Ein Rechner der hier nicht steht macht keinen
Service.
•group_test: Nummern der Rechner, die in der Testgruppe Dienste
anbieten
•group_live: Nummern der Rechner, die in der Testgruppe Dienste
anbieten
•Services: die Services sind für beide Gruppen pro Maschine identisch,
d.h. test und live werden nur auf Gruppenebene unterschieden.
Die Gruppendefinitionen sind in folgendem Konfigurationsausschnitt
enthalten
# define the service group
nodes:101,102,103
group_live:101,102
group_test:103
# define the content rules
static:101,102,103
dynamic:101,102,103
secure:101,102,103
search:101,102
Bei fehlendem File sollte das Script auf alle Services defaulten.
4.3.1.1
Herauspicken eines speziellen Server in die Testgruppe
Um einen bestimmten Rechner zu testen, oder das Admin-Frontend des
Inktomi für genau eine Maschine zu bekommen:
• Auf loghost als User cms einloggen
• group_test genau auf den Rechner setzen der getestet werden soll und
checken, daß dieser auch den entsprechenden Service anbietet
"/data/cms/admin/service/service.conf"
• Verteilfunktion aufrufen.
opus5 interaktive medien gmbh
49
4.3.1.2
Abklemmen eines Rechners aus den dynamischen Contents wegen
defekter Servlet-Engine
a) auf loghost als User cms einloggen
b) Den betroffenen Rechner aus der Service-Liste "dynamic"
austragen. "/data/cms/admin/service/service.conf"
c) Verteilfunktion aufrufen
4.4
Anwendungen
4.4.1 Frontent-Anwendungen
4.4.1.1 Webapplikation Kundenseite
Die Webapplikation ist erreichbar unter http://www.patagon.de.
Das Dokumentroot ist auf dem jeweiligen Rechner unter /data/wwwdocs zu
finden.
Die Properties sind im Verzeichnis /data/wwwdocs/WEB-INF/classes
abgelegt. Um Änderungen an den Properties wirksam werden zu lassen, ist
ein Neustart der Servletengine Resin nötig.
Die Properties dürfen auf den Liveservern nicht direkt editiert werden.
Änderungen erfolgen auf dem QS-Rechner (loghost) unter
/data/cms/deployed/WEB-INF/classes und werden dann über das BackendSkript /data/apache/htdocs/cgi-bin/rsync-patagon.cgi) auf die Liveserver
verteilt.
4.4.1.1.1 Starten und Stoppen
Das Starten und Stoppen der Webapplikation auf dem jeweiligen Rechner
(santanderbkg-0(1|2|3) ) erfolgt unter der Kennung root.
Servletengine Resin:
Um die Applikation neu zu starten, muß zuerst ein Login auf dem
entsprechenden Rechner erfolgen.
Der Loginvorgang erfolgt über den Loghost.
1. Einloggen auf dem Loghost:
ssh 217.110.119.70 -l w002-002
2. Von dort bei Bedarf auf den Liverservern einloggen:
login-w(1|2|3)
3. Auf der entsprechenden Maschine root werden:
su 4. Stoppen der Servletengine Resin:
/data/resin-1.2.7/bin/resin-init.sh stop
5. Stoppen der Servletengine Resin:
/data/resin-1.2.7/bin/resin-init.sh start
Webserver Apache:
1. Dazu einloggen auf dem Loghost:
ssh 217.110.119.70 -l w002-002
2. Von dort zum gewählten Rechner verzweigen:
login-w(1|2|3)
3. und dort root werden:
su -
opus5 interaktive medien gmbh
50
4. Stoppen des Webservers Apache:
/opt/local/apache/bin/apachectl stop
5. Starten des Webservers Apache:
/opt/local/apache/bin/apachectl start
Achtung: Das starten des Webservers Apache erfordert die Eingabe einer
Passphrase! Die Passphrase schützt die Verwendung der SSL-Zertifikate.
4.4.1.1.2
Logfiles
Akivitäten werden in folgenden Logfiles protokolliert:
Webapplikation:
• /data/resin-1.2.7/log/patagon.log
Servletengine Resin:
• /data/resin-1.2.7/log/stderr.log
• /data/resin-1.2.7/log/stdout.log
• /data/resin-1.2.7/log/error.log
Webserver Apache:
• /data/apache/log/<Jahr>/<Monat>/<Tag>/access.log
• /data/apache/log/<Jahr>/<Monat>/<Tag>/errors.log
• /data/apache/log/<Jahr>/<Monat>/<Tag>/other_errors.log
• /data/apache/log/<Jahr>/<Monat>/<Tag>/servicecheck-access.log
• /data/apache/log/<Jahr>/<Monat>/<Tag>/servicecheck-error.log
• /data/apache/log/<Jahr>/<Monat>/<Tag>/ssl-access.log
• /data/apache/log/<Jahr>/<Monat>/<Tag>/ssl-error.log
• /data/apache/log/<Jahr>/<Monat>/<Tag>/ssl_engine_log
4.4.1.2 Alerting
Über den Alerting-Cron-Job alerting.sh wird alle 10 Minuten der Austuasch
der Alering-daten mit FMS angestoßen. Das Programm öffnet eine
Datenbankverbindung und liest alle Daten aus dem View
V_ALERTING_QUEUE
aus. In dem View werden Benutzerkonten und deren geänderter AlertingStatus (setzen/löschen) gespeichert. Der Alerting-Status wird über die
Web-Site unter dem Punkt 'Daten ändern' gesetzt. Alle Datensätze die der
View liefert werden einzeln von dem Programm als Get-Request an einen
FMS-Server gesendet und dort in einer Datenstruktur abgelegt. Als
Rückgabewert des Requests (Result) werden in XML definierte Statuscodes
geliefert. Wird der Statuscode 'Ok' geliefert, so wird der Datensatz aus
dem View gelöscht, ansonsten bleibt der Datensatz in dem View bestehen.
Die Inhalte des View V_ALERTING_QUEUE sollten sich also alle 10 Minuten
ändern, ansonsten ist das ein Indiz für einen Fehler im Cron-Job, der
Datenbank-Verbindung oder der Verbindung zu dem FMS-Server.
Falls Fehler auftreten ist zu überprüfen, ob der, auf dem Loghost unter
der Kennung o5oper installierte, Cron-Job
/home/o5oper/cron/alerting.sh
opus5 interaktive medien gmbh
51
ausgeführt wird (siehe auch Kapitel 4.4.1.2 ). Das Skript alerting.sh
kann jederzeit manuell gestartet werden:
1. Einloggen auf dem Loghost:
ssh -l w002-002 217.110.119.70
2. root werden:
su -
3. o5oper werden:
su - o5oper
4. Skript ausführen:
/home/o5oper/cron/alerting.sh
4.4.1.3 ITBS-Datenfeed
Die ITBS Applikation zur Darstellung von Kursdaten als Tageskursliste
innerhalb von JSPs bzw. als Kursverlauf innerhalb eines Applett benötigt
für die Anzeige aktueller Daten eine regelmässige Aktualisierung ihrer
Datenbasis. Die Datenbasis bilden Text Dateien die über eine Script
täglich von einem Server der Santanderbank geholt werden.
Das für den Download verwendete Script heißt getITBS.pl und befindet
sich im Verzeichnis.
/home/cms/bin
auf dem Loghost. Dieses Script wird automatisch jeweils um 7:00, 16:00,
17:00 und 18:00 Uhr gestartet und lädt die aktuellen Dateien mit den
Kursdaten in das Verzeichnis.
/data/e-spirit/data/.
Anschließend an den Datendownload werden die aktualisierten Dateien über
das Script rsync-espirit auf die Liveserver verteilt. Dabei wird ein
Backup der übertragenen Daten im Verzeichnis /data/cms/archive abgelegt.
Von dem Script getITBS.pl wird eine Logdatei in das Verzeichnis /tmp/ mit
dem Namen ITBS-<aktueller Zeitstempel>.log geschrieben. In diese Log
Datei werden Statusmeldungen zum Download jeder einzelnen Datei
geschrieben. Es kann also nach jeder Aktualisierung der Daten für jede
Datei nachvollzogen werden ob der Download erfolgreich verlaufen ist.
4.4.1.4 Suchmaschine Inktomi
Inktomi ist auf den Rechnern santanderbkg-01 und santanderbkg-02
installiert.
4.4.1.4.1 Starten und Stoppen
Zum Stoppen und Starten auf dem jeweiligen Rechner, sind folgende
Schritte durchzuführen:
1. Einloggen auf dem Loghost:
ssh -l w002-002 217.110.119.70
2. Einloggen auf einem der Inktomi Rechner:
opus5 interaktive medien gmbh
52
login-w(1|2)
3. root werden:
su -
4. Inktomi stoppen:
/opt/InktomiSearch/inktomisearch stop
5. Inktomi starten:
/opt/InktomiSearch/inktomisearch stop
4.4.1.4.2 Verwendung des Administrations-Frontends
Bei Verwendung des Adminfrontends ist darauf zu achten, daß man per
search(-test).patagon.de auf einer dedizierten Instanz (auf w1 oder w2)
arbeitet/konfiguriert/sichtet. Es ist also durch Konfiguration des
ContentSwitch sicherzustellen, daß über search(-test).patagon.de die
spezielle Instanz angesprochen wird (siehe auch Kapitel 4.3.1)
4.4.1.4.3 Logfiles
Die Logfiles sind über das Adminfrontend zu erreichen:
http://search.patagon.de/admin
4.4.2 QS-System
Der Staging-Server der Web-Applikation ist auf dem LogHost installiert
und lässt sich unter http://qs.patagon.de erreichen. Der Zugriff auf den
Stating-Server ist durch Basic Authentication geschützt.
Das Dokumentroot der Staging-Applikation liegt unter /data/cms/deployed.
4.4.2.1 Starten und Stoppen
Das Starten und Stoppen des QS-Servers erfolgt unter der Kennung root:
1. Dazu einloggen auf dem Loghost:
ssh 217.110.119.70 -l w002-002
2. und root werden:
su -
3. Restart der gewählten Komponente:
• für Apache:
/opt/local/apache/bin/apachectl (stop|start)
•
für Resin:
/data/resin-1.2.7/bin/resin-init-backend.sh (stop|start)
Achtung: Das starten des Webservers Apache erfordert die Eingabe einer
Passphrase! Die Passphrase schützt die Verwendung der SSL-Zertifikate.
4.4.2.2 Logfiles
Akivitäten werden in folgenden Logfiles protokolliert:
Webapplikation:
• /data/resin-1.2.7/log/patagon.log
Servletengine Resin:
opus5 interaktive medien gmbh
53
• /data/resin-1.2.7/log/stderr.log
• /data/resin-1.2.7/log/stdout.log
• /data/resin-1.2.7/log/error.log
Webserver Apache:
• /data/apache/log/<Jahr>/<Monat>/<Tag>/qs-access.log
• /data/apache/log/<Jahr>/<Monat>/<Tag>/qs-errors.log
• /data/apache/log/<Jahr>/<Monat>/<Tag>/ssl_engine_log
4.4.2.3 Update-Mechanismus
Unter http://qs.patagon.de dient dazu die Funktionalität der Applikation
vor dem Aufspielen auf die Live-Webserver zu testen.
Vom CMS Deployment-Prozess erzeugte Daten werden in das Verzeichnis
/data/cms/deployed eingespielt und können so einer Qualitätssicherung
unterzogen werden.
Updates der Java-Klassen und Property-Files werden vom Entwicklungsserver
(opus 5 intern) manuell in das Verzeichnis /data/cms/deployed gespielt.
Nach erfolgter Qualitätssicherung werden die Daten über ein VerteilerScript (Aufruf über das Backend) auf die Live-Systeme verteilt. Dies gilt
sowohl für die HTML und JSP-Seiten der Präsentationsschicht als auch für
die Java-Klassen und Property-Files der Applikationslogik.
4.4.3 Webapplikation Backend
Das Backend ist über die URL: http://backend.patagon.de zu erreichen, und
läuft auf dem Loghost.
4.4.3.1 Starten und Stoppen
Das Starten und Stoppen des Backends erfolgt unter der Kennung root.
1. Dazu einloggen auf dem Loghost:
ssh 217.110.119.70 -l w002-002
2. und root werden:
su -
3. Restart der gewählten Komponente:
• für Apache:
/opt/local/apache/bin/apachectl (stop|start)
•
für Resin:
/data/resin-1.2.7/bin/resin-init-backend.sh (stop|start)
Achtung: Das starten des Webservers Apache erfordert die Eingabe einer
Passphrase! Die Passphrase schützt die Verwendung der SSL-Zertifikate.
4.4.3.2 Logfiles
Akivitäten werden in folgenden Logfiles protokolliert:
Webapplikation:
• /data/resin-1.2.7/log/patagon.log
opus5 interaktive medien gmbh
54
Servletengine Resin:
• /data/resin-1.2.7/log/stderr-backend.log
• /data/resin-1.2.7/log/stdout-backend.log
Webserver Apache:
• /data/apache/log/<Jahr>/<Monat>/<Tag>/backend-access.log
• /data/apache/log/<Jahr>/<Monat>/<Tag>/backend-errors.log
4.4.4 Reporting-Server
Der Reporting-Server ist zu erreichen unter http://reporting.patagon.de.
Das Reporting besteht im Wesentlichen aus zwei Teilen:
• dem WebTrends Enterprise Reporting Server und
• der Reporting Applikation.
Beide Teile sind über die angegebene URL zu erreichen und laufen auf dem
Loghost.
4.4.4.1 Reporting Applikation
Die Reporting Applikation stellt das Frontend für Auswertungen über, von
den Webapplikationen bereitgestellte, Daten dar. Es ermöglicht die
Visualisierung von Berichten zu diesen Daten.
Diese Applikation läuft als Servlet auf dem Loghost.
4.4.4.1.1 Starten und Stoppen
Das Starten und Stoppen der Servletengine erfolgt unter der Kennung root.
1. Dazu einloggen auf dem Loghost:
ssh 217.110.119.70 -l w002-002
2. und root werden:
su -
3. Restart der gewählten Komponente:
• für Apache:
/opt/local/apache/bin/apachectl (stop|start)
•
für Resin:
/data/resin-1.2.7/bin/resin-init-reporting.sh (stop|start)
Achtung: Das starten des Webservers Apache erfordert die Eingabe einer
Passphrase! Die Passphrase schützt die Verwendung der SSL-Zertifikate.
4.4.4.1.2 Logfiles
Akivitäten werden in folgenden Logfiles protokolliert:
Webapplikation:
• /data/resin-1.2.7/log/patagon.log
Servletengine Resin:
• /data/resin-1.2.7/log/stderr-reporting.log
• /data/resin-1.2.7/log/stdout-reporting.log
Webserver Apache:
• /data/apache/log/<Jahr>/<Monat>/<Tag>/reporting-access.log
opus5 interaktive medien gmbh
55
•
•
•
/data/apache/log/<Jahr>/Monat>/<Tag>/reporting-errors.log
/data/apache/log/<Jahr>/<Monat>/<Tag>/reporting-ssl-access.log
/data/apache/log/<Jahr>/Monat>/<Tag>/reporting-ssl-errors.log
4.4.4.2 Webtrends Enterprise Reporting Server
Starten und Stoppen des Webtrends Enterprise Reporting Server:
1. Einloggen auf dem Loghost:
ssh –l w002-002 217.110.119.70
2. Root werden:
su –
3. Den Server stoppen:
/etc/init.d/wtrs stop
4. Den Server starten:
/etc/init.d/wtrs start
Der Webtrends Enterprise Reporting Server ermöglicht Auswertungen über
die Inhalte von Logdateien von Web Servern und Servlet Engines. Dazu
müssen die Logdateien dem Server lokal zur Verfügung stehen. Zu diesem
Zweck wird jede Stunde ein Script zum Download der aktuellen Logdateien
von den Liveservern gestartet.
Es wird der Inhalt des folgenden Verzeichnisses heruntergeladen:
/data/apache/logs/2001/.
Die Dateien werden anschließend nach
• /data/weblogfiles/w1 bzw
• /data/weblogfiles/w2,
• /data/weblogfiles/w3
kopiert. Da WebTrends nicht über verschiedene Unterverzeichnisse sondern
nur über mehrere Dateien im gleichen Verzeichnis auswerten kann, werden
per cronjob prepareLogs.sh die Logs aus
/data/weblogfiles/w1-w3
nach
/data/weblogfiles/all
kopiert und dabei umbenannt (die ursprünglichen Namen sind auf allen
Live-Maschinen identisch).
4.4.5 CMS
Das CMS ist unter /opt/cms installiert. Das CMS liegt physisch unter
/data/cms_system und ist über einen symbolischen Link nach /opt/cms
gemountet, da die CMS-Installation im Verzeichnis /opt/cms erfolgen muß.
Zum Betrieb ist der Webserver erforderlich, der unter
/opt/cms/system/apache installiert ist.
opus5 interaktive medien gmbh
56
4.4.5.1
Starten und Stoppen
CMS-Server
Das CMS wird als User cms mit gestartet bzw. heruntergefahren.
1. Dazu einloggen auf dem Loghost:
ssh 217.110.119.70 -l w002-002
2. und root werden:
su -
3. cms User werden:
su - cms
4. CMS neu starten:
•
•
/opt/cms/bin/cms stop
/opt/cms/bin/cms start
Webserver Apache:
Starten/ Stoppen unter der Kennung root.
1. Dazu einloggen auf dem Loghost:
ssh 217.110.119.70 -l w002-002
2. und root werden:
su -
3. und den Apache neu starten:
•
•
opt/cms/system/apache/bin/apachectl stop
opt/cms/system/apache/bin/apachectl stop
4.4.5.2 Der CMS-Exportprozeß
Zweimal am Tag wird der Content aus dem CMS-System exportiert.
Der Export erfolgt in das Verzeichnis:
/data/cms/deployed_cms_only/.
Beim Start des Exports wird das Skript:
/opt/cms/scripts/startScript.sh ausgeführt.
Dieses Skript setzt ein Flag, daß in der Backend-GUI den laufenden Export
anzeigt. Nach Beendigung des Exports wird das Skript:
/opt/cms/scripts/endScript.sh ausgeführt.
Hier werden verschiedene Funktionalitäten durchgeführt.
• /home/cms/bin/pickings.pl:
ersetzt Umlaute in allen Dateien in /data/cms/deployed_cms_only/
• /home/cms/bin/error_pages.pl:
bearbeitet die Bildreferenzen der Errorpages
• /home/cms/bin/asuro_hd.pl:
Asuro- und Hypothekendiscount-Fragmente erzeugen
• löscht die alten Daten in /data/cms/deployed/ (Verzeichnisse de,
de_1, media)
• Kopieren der exportierten Daten von /data/cms/deployed_cms_only/
nach /data/cms/deployed
• Rechte für den Newsletterversand im Verzeichnis
/data/cms/deployed/de_1/email_abo werden gesetzt
• Update der Datenbank mit den Daten der exportierten
Abstimmungsseiten durch folgenden Aufruf
opus5 interaktive medien gmbh
57
„java -classpath /data/cms/voting/:/data/cms/deployed/WEBINF/classes:/data/cms/deployed/WEB-INF/lib/oracle.jar
de.opus5.patagon.voting.VotingTableUpdater“
• im Falle eines konfigurierten automatischen Deployment, werden die
Daten, nach einer definierten Wartezeit (einstellbar im Backend)
auf die konfigurierten Server verteilt.
(/data/apache/htdocs/cgi-bin/rsync-patagon.cgi)
Das Deployment
ausführbar.
Änderungen der
Liveserver neu
Diese Funktion
auf die Liveserver ist auch über das Backend-GUI
Properties werden nur wirksam, wenn die Servletengines der
gestartet werden.
kann nicht über das Backend-GUI ausgeführt werden.
Dazu:
1. Einloggen auf dem Loghost unter w002-002:
ssh –l w002-002 217.110.119.70
2. alias login-w(1|2|3) benutzen um sich auf einem der Liveserver
einzuloggen, z.B.:
login-w1
3. dort root werden:
su -
4. Neustart des Resin:
•
•
/data/resin-1.2.7/bin/resin-init.sh stop
/data/resin-1.2.7/bin/resin-init.sh start
4.4.5.3
Logfiles
wichtige CMS-Logfiles:
• /opt/cms/log/CMS_Server.log
• /opt/cms/log/access_log (Webserver)
• /opt/cms/log/error_log (Webserver)
• /opt/cms/log/deployment.log (Meldungen zum Deployment)
• /opt/cms/log/generate.log (Meldungen während der Generierung des
Projektes)
Die Dateien CMS_Server.log und generate.log werden vom CMS ständig in
ZIP-Files archiviert. Die ältesten Versionen dieser Dateien sollten
regelmäßig nach eventueller externer Archivierung (CD) gelöscht werden.
Ebenso sollte die übrigen Logfiles auf Größe kontrolliert werden.
Abstimmungsfunktionalität:
Bestandteil das CMS-Export. Protokoll unter:
• /data/cms/voting/protocol.txt (wird in der Datei
/data/cms/voting/logger.properties definiert)
Newsletterversand:
Nach dem erfolgten CMS-Export kann über die Backend-GUI, oder über die
Shell, der Newsletterversand angestoßen werden.
• /data/apache/htdocs/cgi-bin/delivery.cgi
• Das Protokoll wird in folgender Datei gespeichert:
/data/cms/delivery/protocol.txt (wird in der Datei
opus5 interaktive medien gmbh
58
/data/cms/delivery/logger.properties definiert)
4.4.5.4 Backup
Es ist ein tägliches Backup eingerichtet, das das Projekt in das
Verzeichnis /opt/cms/backup als ZIP-File exportiert. Da jede dieser
Dateien zur Zeit rund 100MB groß ist, müssen ältere Versionen in
regelmäßigen Abständen (z.B. wöchentlich) nach eventueller externer
Archivierung (CD) gelöscht werden.
4.4.6 Messaging-System
Die Messaging Box läuft auf dem Rechner list.patagon.de. Die Requests
werden von der Messaging Box über folgende URL entgegengenommen:
http://192.168.110.2/cgi-bin/send.pl
4.4.6.1 Webserver Stoppen und Starten
1. Einloggen auf Loghost:
ssh -l w002-002 217.110.119.70
2. Einloggen auf santanderbkg-04:
login-mail
3. root werden:
su -
4. Apache stoppen:
/opt/local/apache/bin/apachectl stop
5. Apache neu starten:
/opt/local/apache/bin/apachctl start
4.4.6.2 Logfiles
Die Zugriffe und Fehler werden in
• /data/apache/log/access.log und
• /data/apache/log/error.log mitgeloggt.
Die Logfiles von Qmail liegen unter:
/data/logs/qmail
4.4.6.3 Bounce-Datenbank
Die gebouncten Emailadressen werden in der Datenbank gespeichert. Zugriff
auf die Tabellen über Mysql-Shell, unter der Kennung bmail.
1. Dazu einloggen auf dem Loghost:
ssh 217.110.119.70 -l w002-002
2. Von dort zum Message Box Rechner verzweigen:
login-mail
3. Mysql-Shell unter der Kennung bmail starten:
mysql -u bmail -p
4. Tabellen auslesen:
opus5 interaktive medien gmbh
59
use mailing;
select * from BOUNCERS;
select * from INVALID_EMAIL_ADRESSES;
4.4.7 Datenbank
Der Datenbankserver ist auf der
192.168.120.2 installiert.
4.4.7.1 Starten und Stoppen
Der Server wird mit Hilfe des Servermanagers kontrolliert:
1. Einloggen auf dem Loghost:
ssh 217.110.119.70 -l w002-002
2. Wechseln zum Datenbankserver:
ssh -l oracle 192.168.120.2
3. Server-Manager starten mit:
svrmgrl
4. Datenbank stoppen:
SVRMGR> connect internal as sysdba
SVRMGR> shutdown immediate
(kein Semikolon am Ende!)
(kein Semikolon am Ende!)
(Das Herunterfahren der Datenbank nimmt etwas Zeit in Anspruch
(ca. 30 Sekunden))
5. falls sich nichts tut:
SVRMGR> shutdown abort
(kein Semikolon am Ende!)
6. Datenbank starten:
SVRMGR> connect internal as sysdba
SVRMGR> startup mount PATAGON
SVRMGR> alter database open;
(falls nicht schon angemeldet)
(kein Semikolon am Ende!)
(Semikolon!)
(Auch bei für diesen Prozess wird etwas Zeit benötigt)
4.4.7.2 Backup
Das Backup wird durch das Skript dbbackup.sh (siehe Kapitel 4.5.2)
angestoßen, dieses wird durch den Cron verwaltet.
Das Skript führt einen vollständigen Tablespace-Dump des Oracle-Benutzer
'patagon' aus und legt die entstandene Datei unter '/data/OracleBackup'
ab. In dem Home-Verzeichnis des Benutzer 'oracle' schreibt das Skript in
dem Ordner 'cron/' ein Log-File mit den Dump-Ausgaben.
4.4.7.3 Monitoring
Kontrolle der Anzahl offener Verbindungen zum Datenbankserver:
ps -eadf |grep 'oraclePATAGON' | wc -l
Ab einer Anzahl grösser 37 kann man davon ausgehen, daß die Datenbank
überlastet ist.
Behebung des Problems:
1.Neustart der Resins der Webapplikation
2.wenn 1.) keine Veränderung bringt Datenbank Neustart (siehe oben),
opus5 interaktive medien gmbh
60
danach müssen ALLE Resins neugestartet werden, die eine Verbindung zur
Datenbank haben.
4.4.8 Checklisten
Die folgenden Checklisten dienen zur Eingrenzung und Behebung von Fehlern
in einem oder mehreren Teilen der Web-Applikation. Führen die
aufgelisteten Maßnahmen nicht zur Fehlerbehebung, sollte gemäß
Eskalationsplan nach opus 5 eskaliert werden.
Funktionierende Server-Systeme nach dem in Kapitel 4.1.1 beschriebenen
System-Monitoring sind hier vorrausgesetzt.
4.4.8.1
Webapplikation
Teilapplikation
Check
Maßnahme
User-Login
Datenbankverbindung der
Resin neu starten #10
Applikation im Logfile #1
Verbindung zum
Datenbankserver überprüfen
(Colt-Ansprechpartner
benachrichtigen)
Datenbank neu starten #11
Anbindung FMS-Daten FMS Erreichbarkeit der
FMS-Ansprechpartner
Applikation im Logfile #2 benachrichtigen
Kunde-Werden Prozeß Datenbankverbindung der
Resin neu starten #10
Applikation im Logfile #1
Verbindung zum
Datenbankserver überprüfen
(Colt-Ansprechpartner
benachrichtigen)
Datenbank neu starten #11
Forum
Datenbankverbindung der
Resin neu starten #10
Applikation im Logfile #1
Verbindung zum
Datenbankserver überprüfen
(Colt-Ansprechpartner
benachrichtigen)
Datenbank neu starten #11
Abstimmungsfunktionalität
Datenbankverbindung der
Resin neu starten #10
Applikation im Logfile #1
Verbindung zum
Datenbankserver überprüfen
(Colt-Ansprechpartner
benachrichtigen)
Datenbank neu starten #11
Send2aFriendFunktionalität
Mailrelay Erreichbarkeit Mailrelay-Ansprechpartner
#3
benachrichtigen
Suchfunktion
Verfügbarkeit Inktomi
Tool #4
Neustart von Inktomi #4
Keine oder nicht
Verfügbarkeit und
Aktualisierung der Kurs-
opus5 interaktive medien gmbh
61
Teilapplikation
Check
Maßnahme
aktuelle Kursdaten Aktualität der Kursdaten Daten #5
zu Währungen,
#5
Aktienfonds
Abgleich der
Austausch der Alerting
Alerting-Daten mit Daten mit FMS #6
FMS
FMS Erreichbarkeit #6
Brokerage Applet
4.4.8.2
Aktualisierung von FMS #6
FMS-Ansprechpartner
benachrichtigen
Elaxy Ansprechpartner
benachrichtigen
Backend
Funktion
Check
Maßnahme
Deployment auf die Verbindung vom Loghost
Liveserver
auf die Livesever aktiv
Colt-Ansprechpartner
benachrichtigen
Newsletterversand
Netzverbindung überprüfen
(Colt-Ansprechpartner
benachrichtigen)
Messaging Box
Erreichbarkeit #7
Webserver der Messaging Box
überprüfen/ neu starten #12
Datenbank Erreichbarkeit Verbindung zum
#8
Datenbankserver überprüfen
(Colt-Ansprechpartner
benachrichtigen)
Datenbank neu starten #11
4.4.8.3
Reporting
Funktion
Check
Reporting Applikation Verfügbarkeit der
Datenbankverbindung der
Applikation #1
Maßnahme
Resin neu starten #10
Verbindung zum
Datenbankserver
überprüfen (ColtAnsprechpartner
benachrichtigen)
Datenbank neu starten
#11
WebTrends Enterprise
Reporting Server
4.4.8.4
Hängende Prozesse #9
WebTrends neu starten #9
Check~ und Maßnahmenkatalog
#1: Datenbankverbindung der Applikation im Logfile
opus5 interaktive medien gmbh
62
Es ist zu untersuchen, ob die Applikation ein funktionierende Verbindung
zur Datenbank hat.
1. Auf dem betroffenen Rechner in den Logfiles:
• santanderbkg-0(1|2|3|5):/data/resin-1.2.7/log/patagon.log
• santanderbkg-0(1|2|3|5):/data/resin-1.2.7/stderr.log
nach java.sql.SQLExceptions suchen.
2. Mögliche Maßnahmen:
1) Resin neu starten (#10)
2) Datenbank neu starten (#11)
#2: FMS Erreichbarkeit der Applikation im Logfile
Es ist zu untersuchen, ob die Applikation eine funktionierende Verbindung
zum FMS-Service hat.
1. Auf dem betroffenen Rechner in den Logfiles:
• santanderbkg-0(1|2|3|5):/data/resin-1.2.7/log/patagon.log
ist im Falle von Problemen eine java.io.FileNotFoundException
vorhanden.
2. Bei der Verbindung zu FMS kann es mehrere Probleme geben:
• FMS ist nicht erreichbar
? im Logfile ist eine java.net.SocketException zu sehen
• FMS-Service nicht verfügbar
? bis zum Timeout des FMS-Webservers ist nichts zu sehen, dann
java.io.FileNotFoundException
• FMS kann Request nicht bearbeiten und liefert Fehlerseite zurück
? Applikation loggt Meldung „"got ErrorPage from FMS“ ins
Logfile
Beim ersten und zweiten Punkt sind auf jedenfall FMS-Ansprechpartner zu
benachrichtigen.
#3: Mailrelay Erreichbarkeit der Applikation im Logfile
Bei einem SendToAFriend-Funktionsaufruf wird die erzeugte Mail direkt an
den konfigurierten SMTP-Host (localhost) ausgeliefert. Wenn die
Verbindung nicht möglich ist, kann man dies im Logfile auf einem der
Liverserver sehen.
1. Auf dem betroffenen Rechner in den Logfiles:
• santanderbkg-0(1|2|3|5):/data/resin-1.2.7/log/patagon.log
ist in diesem Fall eine javax.mail.MessagingException zu sehen, mit
der Erklärung, daß eine Verbindung zum Port 25 des SMTP-Hosts nicht
möglich sei.
opus5 interaktive medien gmbh
63
2. Hier muß die Verfügbarkeit des Mailrelay gestestet werden (z.B. telnet
mail.santander.de 25), bzw. die Verbindung dorthin.
#4: Verfügbarkeit des Inktomi Tools
Das Inktomi Tool ist auf den Rechnern santanderbkg-01 und santanderbkg-02
verfügbar. Bei Nicht-Verfügbarkeit, kann ein Neustart sinnvoll sein
(siehe Kapitel 4.4.1.4 ).
#5: Verfügbarkeit der Kursdaten
Die Applikation liest die Kursdaten local aus dem Filesystem des
jeweiligen Liveservers ein.
Die Aktualität der Kursdaten wird über einen periodischen
Aktualisierungsprozess sichergestellt. Dazu holt das in der Crontab auf
dem Loghost definierte Skript:
/home/cms/bin/getITBS.pl
die Kursdaten auf den Loghost. Fehler bei Downloadprozess werden in der
Datei:
/tmp/ITBS<Zeitstempel>.log dokumentiert.
Die Verteilung der aktualisierten Dateien auf die Liverserver erfolgt
mittels
/home/cms/bin/rsync-espirit
(Auch dieser Prozess wird über die Crontab eingebunden).
Sollten bei diesem Prozeß Fehler auftreten, sind z.B. die Daten im
Livesystem nicht aktuell, bzw. nicht vorhanden, können die Daten auch
manuell vom Server geholt und auf die Liveserver übertragen werden (siehe
Kapitel 4.4.1.3 ).
#6: Austausch der Alerting Daten mit FMS
Durch das in der Crontab auf dem Loghost definierte Skript:
/home/o5oper/cron/alerting.sh
wird alle 10 Minuten die Datenbank nach neue Einträgen in der AlertingQueue durchsucht. Diese Einträge werden per HTTP zu FMS übermittelt.
Sind die Daten bei FMS nicht vorhanden, kann der Service bei FMS nicht
erreichbar sein.
Der Versand zu FMS kann per Hand angestoßen werden (siehe Kapitel 4.4.1.2
).
#7: Newsletterversand, Messaging Box erreichbar?
Der Newsletterversand übergibt die zu versendenen Newsletter an die
Message Box per HTTP.
1. Wenn die Message Box nicht verfügbar ist, wird das im Logfile:
loghost:/data/cms/delivery/protocol.txt
durch eine
• java.io.FileNotFoundException (Service nicht verfügbar)
bzw.
• java.net.SocketException (keine Verbindung zu santanderbkg-04)
dargestellt.
2. Hier ist eine Überprüfung der Netzanbindung bzw. Überprüfung des
opus5 interaktive medien gmbh
64
Webservers der Message Box nötig.
#8: Newsletterversand, Datenbankanbindung vorhanden?
Der Newsletterversand stellt die Abonnenten der Newsletter durch
Datenbankabfragen fest.
1. Wenn die Datenbankanbindung gestört ist, werden keine Newsletter
versendet und im Logfile:
loghost:/data/cms/delivery/protocol.txt
wird das durch eine java.sql.SQLExceptions angezeigt.
2. Hier muß die Netzanbindung an den Datenbankserver kontrolliert werden
bzw. die Verfügbarkeit der Datenbank selbst. Ist der Service nicht
verfügbar muß die Datenbank neu gestartet werden (#11).
#9: Hängender WebTrends Enterprise Reporting Server
Es besteht die Möglichkeit, daß der Reporting Server nicht mehr
erreichbar ist.
• Einloggen auf Loghost:
ssh 217.110.119.70 -l w002-002
• Feststellen, daß WebTrends hängt:
ps gauxwww|grep wtr
Der folgende Text ist ein Beispiel für einen Ausschnitt des
Ergebnisses des obigen Aufrufs
/usr/local/webtrends/wtrs_ui -start
nobody
32147 0.0 0.5 20100 8012 pts/116 S
/usr/local/webtrends/wtrs -start
nobody
14912 0.0 3.9 77284 61344 pts/116 SN
/usr/local/webtrends/wtrs 1 -child
nobody
14913 0.0 0.0
0
0 pts/116 ZN
.
.
.
Aug13
0:04
00:00
0:00
00:00
0:01 [wtrs <defunct>]
==> Der <defunct> und der "-child" sind die hängenden Prozesse.
Neustart des Reporting Server, siehe Kapitel 4.4.4.2 .
Falls der Neustart die hängenden Prozesse nicht beseitigt. Manuelles
Stoppen dieser Prozesse mit:
kill -9 <pid>
#10: Restart der Webapplikation (Neustart Resin)
Siehe dazu Kapitel 4.4.1.1.1.
#11: Neustart der Datenbank
Die Datenbank kann mit Hilfe des Servermanagers neu gestartet werden.
Siehe 4.4.7.1 .
#12: Webserver der Messaging Box überprüfen/ neu starten
Siehe Kapitel 4.4.6.1 .
opus5 interaktive medien gmbh
65
4.5
Batches
Auf den Rechnern laufen verschiedene Cron-verwaltete Prozesse:
4.5.1 Batch-Jobs auf dem LogHost
Alerting Prozeß
Dieser Prozess sorgt für den Abgleich der Alerting-Daten zwischen der
User-Datenbank und dem FMS-System (siehe auch Kapitel 4.4.1.2 )
alerting.sh
Frequenz
User
Pfad
Voraussetzungen
Alle 10 Minuten
o5oper
/home/o5oper/cron/alerting.sh
Dieser Prozess benötigt lesenden Zugriff auf das
Verzeichnis /data/wwwdocs/WEB-INF/
ITBS-Datenfeed
Das Skript getITBS.pl dient zum Download der aktuellen Kursdaten (siehe
auch Kapitel 4.4.1.3 ).
getITBS.pl
Frequenz
User
Pfad
Voraussetzungen
Täglich um 7:00, 16:00, 17:00 und 18:00 Uhr
cms
/home/cms/bin/getITBS.pl
Anschliessen wird mit dem Script rsync-espirit die Verteilung der
aktualiserten Dateien auf die Liveserver angestoßen. (siehe Kapitel
4.4.1.3
rsync-espirit
Frequenz
Täglich um 7:15, 16:15, 17:15 und 18:15 Uhr
User
cms
Pfad
/home/cms/bin/rsync-espirit
Voraussetzungen
Logfile-Bearbeitung
Für die Statistik-Auswertungen der Webserver werden die LogDateien der
Liveserver auf dem Loghost gesammelt.
(siehe Kapitel 4.5.1)
preparelogs.sh
Frequenz
User
Pfad
Voraussetzungen
opus5 interaktive medien gmbh
Stündlich um 0:45, 1:45, 2:45, etc. Uhr
Cms
/home/cms/bin/prepareLogs.sh
66
4.5.2 Batch-Jobs auf dem Datenbankserver
Backup
dbbackup.sh
Frequenz
User
Pfad
Voraussetzungen
4.6
Täglich um 2:00 Uhr Nachts
oracle
/export/home/oracle/cron/dbbackup.sh
Archivierung
Bei jedem Deployment über das Backend (Ausführung des Skriptes
/data/apache/htdocs/cgi-bin/rsync-patagon.cgi) wir ein Tar-Archiv des
Verzeichnisses /data/cms/deployed erstellt und unter dem Namen
dep.`date +%Y%m%d%k%M%S`.tgz
in /data/cms/archive abgelegt.
Die Größe eines Archives beträgt aktuell ca. 25 Megabyte. Deshalb muß das
Archiv in regelmässigen Abständen geleert werden, indem man z.B. die
Dateien auf CD brennt.
Das Verzeichnis /data/espirit-data wird von /home/cms/bin/rsync-espirit
auf die Rechner santanderbkg-0(1-3):/data/wwwdocs/e-spirit/data verteilt.
Die übertragenen Daten werden unter /data/cms/archive/espirit.`date
+%Y%m%d%k%M%S`.tgz
abgelegt (siehe Kapitel 4.4.1.3 ).
4.7
Email Adressen
Folgende Emailadressen sind bei Opus5 für das Projekt eingerichtet:
• [email protected]
für Network & Systemadministration
• [email protected] für Applications Bugs & Administration
• [email protected] Alias für application
• [email protected]
für Redaktionelle Themen & CMS
• [email protected]
für Bedienhinweise und
Endkundenrequests
• [email protected]
für Notfälle jeder Art
• [email protected]
Topf für [email protected][email protected]
Mülleimer
4.8
Sonstige manuelle Prozesse
In regelmäßigen Abständen müssen Verzeichnisse mit den Logdateien
aufgeräumt/archiviert werden (siehe Angaben der Logfiles in den einzelnen
Anwendungen), z.B. die Backups in /data/cms/archive.
5
Störungsbehebung und Service-Level
5.1
Fehlertypen
5.2
Fehlerbehebung
5.3
Intrusion Incident
5.4
Desaster Recovery
opus5 interaktive medien gmbh
67
6
Versionsübersicht
Version
0.1
Datum
16.07.01
0.2
17.8.01
opus5 interaktive medien gmbh
Bearbeitet von
Johannes Faassen
Initialversion
Thomas Rohnke, Tomas
Herrmann, Gesine Schröter
68

Documentos relacionados