5. 5
Mein Hintergrund
Team: IGS – IAM – Governance – SIEM
Helvetia Gruppen Funktion – wir agieren als Service Dienstleister
länderübergreifend.
Was machen wir den ganzen Tag: Zuständig für die Vergabe und
Kontrolle der Rechte sowie der Aufzeichnung und Auswertung der
maschinengenerierten Daten im Konzern.
"More brain, less surgery" – kenne deine Daten und stelle sicher das du
die Daten hast, welche du brauchst.
Herkunft: Storage und Unified Server Infrastruktur & vSphere, dort
bereits betriebliches Monitoring etabliert, seit 2015 mit splunk
beschäftigt.
6. 6
Splunk enterprise at Helvetia
Indexer
Forwarder
Search head
Corporate Datacenter
Deploy ServerLicense Server
Universal Forwarder auf vm und phys.Server
Linux: alle
Windows: teilweise
Indexer Search head
INTG PROD
Datacenter an den Standorten
der Helvetia Gruppe
9997
8089
Splunk Anwender
8. 8
Wie wir angefangen haben
Virtual server Network www
Log fileLoad balancer
Application
Network Switch
Active Directory
Datenbanken Firewall
& Was wir habenWas wir wollen
Monitoring von Anwendungen
Alarme in bestimmte Situationen
Unterstützung im Troubleshooting
Reports
Kapazitätsplanung
…
Und das alles länderübergreifend
9. 9
Industry Leading Platform for Machine Data
Any Machine Data Operational Intelligence
HA Indexes
and Storage
Search and
Investigation
Proactive
Monitoring
Operational
Visibility
Real-time
Business
Insights
Commodity
Servers
Online
Services Web
Services
Servers
Security GPS
Location
Storage
Desktops
Networks
Packaged
Applications
Custom
ApplicationsMessaging
Telecoms
Online
Shopping
Cart
Web
Clickstreams
Databases
Energy
Meters
Call Detail
Records
Smartphones
and Devices
RFID
10. 10
Unsere Herausforderungen
Rackern, ackern und doch irgendwie stets auf der gleichen Stelle
HerausforderungenOperations
• Viele einzelne Tools die für sich
alleine gute Werte liefern
• Viele Meldungen im Service Desk
• Silo Sichten
• Mehrfacherfassung von Stati
• Interpretationsspielräume
• Root Cause Analyse langwierig und
aufwändig
• Lizenzkosten für Werkzeuge,
• Kostentransparenz intern & extern
• Interpretationshoheit der Daten
• Nicht die richtigen Daten
• Performance der Systeme
• Engineering durch Betrieb
gebunden
• Oft nur "Jeder für sich" und "Der
andere wars"
11. 11
Unsere Ziele
Greifbar und doch manchmal so fern ….
Kunden UsecasesWanted! DEAD or Alive!
• Stabil
• Verfügbar
• Erreichbar
• Messbar
• Use Cases für
– Monitoring
– Alerting
– Troubleshooting
• Und
– ReportingWas muss getan werden?
• Entwicklung eigener Reporting Klassen
• Entwicklung eigener Logging Klassen
• Etablierung Standards für Logging für Applikationen
• Etablierung übergreifendes Logging und Analyse
12. 12
Entwicklung Logger für Applikationen
Ausgangsbasis log4j/JBoss
6 Log Level (Fatal, Error, Warning, Info, Debug, Trace)
Ausgabe anhand Hierarchie der Log-Level (Log-Level "X und schlimmer")
Definition der erwarteten Reaktion
Default Level für Produktions Systeme: INFO
13. 13
Entwicklung Logger für Applikationen
Log-Level Beispiel Massnahme
Fatal •Fehler in Konfigurationsdateien, die verhindern, dass Ressourcen (z.B. JDBC-
Connections) zur Verfügung gestellt werden.
•Eine Instanz einer Klasse kann nicht über das Reflection API erzeugt werden.
•Alle java.lang.Errors wie OutOfMemory-Error, StackOverflow etc.
•Die Applikation muss vom
Entwickler/Administrator gewartet
werden.
Error •Ein Pool kann keine weiteren Ressourcen zur Verfügung stellen.
•Verbindungsprobleme z.B. via JDBC, JMS etc.
•Die Ursache des Fehlers muss vom
Entwickler / Administrator gesucht und
behoben werden.
Warning •Infrastruktur-Grenzwerte werden erreicht: z.B. min. Cache-Hit-Ratio, Connection-Pool-
Threshold
•Unerwartete Eingaben (sofern diese nicht als Manipulation / Angriff gewertet werden
sollen)
•Verletzung von Pre- und Post-Conditions
•Security-Fehler (bspw. Zugriff verweigert) (falls ein technischer User ein
Berechtigungsproblem hat, so ist dies als ein FATALer Fehler zu werten)
•Nach Analyse der Warnings entscheidet
der Administrator darüber, ob
Handlungsbedarf besteht. Die dazu
notwendige Information muss in der
geloggten Message enthalten sein.
Info •Beim Start der Applikation werden Konfigurationsparameter ins Log geschrieben.
•Login/Logout vom Benutzer
•Abschluss einer relevanten Verarbeitung (z.B. Anforderung eines Angebotes)
•Accounting Information (z.B. Aufrufe durch externe Partner) werden ebenfalls als INFO
geloggt.
•kein Handlungsbedarf
•bei Bedarf können jedoch
Auswertungen stattfinden (z.B.
Accounting)
14. 14
Entwicklung Logger für Applikationen
– und nun zu splunk
Splunk: Nutzung als "google 4 log files"
Damit SPLUNK optimal genutzt werden kann, werden spezielle
Schlüsselworte im Log erwartet, die im Common Information Model
(CIM) sind
Standardisierung Logpattern im standalone.xml
Schlüsselbegriffe standardisieren generell nach Splunk - Log
Definitionen und Common Information Model
"%d{yyyy-MM-dd HH:mm:ss.SSS} level=%-5p, stage=@STAGE@,
app=@PROJECT_NAME@, version=@APP_VERSION_NUMBER@, class=%c,
thread=(%t), component=jboss, %s%E%n"
18. 18
Datenquellen – was nun?
Konsequente Nutzung Standards führt zu besserer Datenqualität des
Services
Einblicke in den Gesundheitsstatus der Anwendungen
Zusammenhänge und Verständnis der verschiedenen Datenquellen
Anbindung von anderen Datensammlungen an splunk
Bessere Sicht auf Services
Einheitliches Applikationsübergreifendes Logging
Splunk Reports und Dashboards zentral für Umsetzung Use Cases
20. 20
UC: Alarming
Abgeleitet aus den gesammelten Daten
Triggered alerts
– Stossen: python scripte an
– Generieren: EMail => stossen Prozesse an
– Liefern: Berichte
Kann sich ein Brooker nicht mehr anmelden?
Gab es Verarbeitungsabbrüche in der Nacht?
Konnten Zahlungen erfolgen?
EMail an
Help Desk
Kritisch?
sms
Bewertung
•OK?
•Error?
•Escalation?
Escalation?
Weitergabe an
Entwicklung
Betrieb Gruppe
Error in App
Betrieb Gruppe
Ticket?
Ticket
22. 22
UC: Reporting
Auswertungen für Vertriebscontrolling
– Idee: Reports über die Nutzung von Services differenzieren
– Herausforderung: Interne Bedenken, Möglichkeit mit den Daten in splunk ist
vorhanden
Quartalsauswertungen
– Idee: Regelmässiges Reporting auf Ebene von GL und PFT für Steuerung &
Korrektur der Vorhaben
– Herausforderung: komplexe, unterschiedliche Datenquellen, nicht alle Daten
sind in splunk verfügbar und splunk dient als Liefersystem
23. 23
UC: Reporting
Nutzercontrolling
– Idee: Grobes Nutzercontrolling mit Web-Analytics Tools
Wann springen Kunden ab?
Wo verweilen sie?
Welche Applikationen sind besonders attraktiv im Portal?
Welche Konstellationen suchen sich die Kunden heraus?
– Problem:
Datenabgleich ist ein manueller Prozess
Nicht alle Daten Silos sind so gut erschlossen wie wir das gerne hätten
Bedenken seitens Security, Datenschutz da viele Daten bei der Analyse nicht
hinreichend anonymisiert sind.
24. 24
UC: Reporting
Beispiele: Antragseinspielung für ein Produkt nach Verarbeitungsart
• Splunk Reports als .csv Datenquelle
• Aufbereitung, zusammen mit anderen
Reports aus Adobe SiteCatalyst und
Adobe Experience Manager
• Excelling with Excel in Splunk :D
Screenshot here
26. 26
UC: Reporting
How we did it – Excelling in Excel with splunk
Splunk kann via ODBC und csv Daten liefern.
ODBC und csv? In Biz Reports??
=> Wir brauchen eine Lösung!!1!ELF!!
Home brew TA für Excel
– Technik
Baut auf python auf
– Funktionen
Import
Export
E-Mail
Links:
Splunkbase TA-XLS
Blogs: Dev
Splunk Answers
27. 27
Technical Add-On: TA-XLS
TA-XLS – cheat sheet
| outputxls <filename.xls> “<sender>” “<receiver>” “<subject>” “<bodyText>” “<smtpHost>”
| sendfile “<sender>” “<receiver>” “<subject>” “<bodyText>” “<attachment>” “<smtpHost>”
| csv2xls <commaseparated.csv> <filename.xls>
| xls2csv <filename.xls> <numOfWorksheets> <commaseparated.csv>
E-Mail: File from /var/run/splunk* to Receiver
E-Mail: generated .xls report to receiver
Export to .XLS of a file in /var/run/splunk – splunk data to an excel sheet
Import from .XLS of a file /var/run/splunk – You can add your excel spreadsheets to splunk
*(For security reasons the files need to reside in $SPLUNK/var/run/splunk and be owned by the user in which splunk runs.)
We recommend using the optional syntax because it wraps the sendfile command if you add the optional parameters
29. 29
Top Takeaways
Daten aus eigenentwickelten Anwendungen sind Gold
Aber wenn jeder ohne Standards seine Daten schreibt, dann ist es
mühsam sie zu bergen
Durchsetzung von Standards ist Mühsam und muss in den Entwicklungs-
und Abnahme Prozess aufgenommen werden
Splunk hat viele Connectoren die problemlos unterschiedlichste
Datenquellen anfragen können
Splunk Community ist toll und Erkenntnisse teilen ist super!
30. 30
What’s Next for Helvetia?
Splunk Evolution – unsere in die Jahre gekommene Umgebung mal so
richtig überarbeiten
Splunk ITSI untersuchen, evaluieren – vllt. einsetzen?
Splunk Enterprise Security (ES)
Indexer
Forwarder
Search head
Corporate Datacenter
Deploy ServerLicense Server
Universal Forwarder auf vm und phys.Server
Linux: alle
Windows: teilweise
IndexerSearch head
INTG PROD
Datacenter an den Standorten
der Helvetia Gruppe
9997
8089
Splunk Anwender
Universal Forwarder
Deployment Server
syslog-ng
Distributed Management
Console
License Manager
Master Node
9997
8089
9997
999799979997
8089
9987 9987
8089
Heavy Forwarder
Indexer_1
INTG Search HeadITSI
Indexer_2
Indexer_3
PROD Search Head Enterprise
Security
32. 32
Universal Forwarder
Deployment Server
syslog-ng
Distributed Management
Console
License Manager
Master Node
9997
8089
9997
999799979997
8089
9987 9987
8089
Heavy Forwarder
Indexer_1
INTG Search HeadITSI
Indexer_2
Indexer_3
PROD Search Head
Enterprise
Security
Neue Architektur (Gross)
Hinweis der Redaktion
Europaweite Allbranchen-Versicherungsgesellschaft
Kernkompetenz im Risk Management
(Leben- und Nicht-Lebengeschäft, Rückversicherung) und in der VorsorgeSitz der Gruppe in St.Gallen, Sitz des Schweizer Geschäfts in Basel
7000 Mitarbeitende (3800 Mitarbeitende in der Schweiz)
Über 4.7 Millionen Kunden europaweit (davon über 1 Million in der Schweiz)
6 europäische Märkte (Schweiz, Deutschland, Italien, Spanien, Österreich, Frankreich), Niederlassungen für die Türkei, Asien und Lateinamerika im Bereich Specialty Lines
Geschäftsvolumen von rund 7.76 Milliarden Franken (per 31.12.2014)
Ergebnis aus Geschäftstätigkeit 421.7 Millionen Franken (per 31.12.2014)
IAM = Identitätsmanagement (IdM)
SIEM = Security, Information and Event Management
Splunk is the leading platform for machine data analytics with over 5,600 organizations using Splunk (as of 8/1/13) – for data volumes ranging from tens of GBs to tens of TBs to over 100 TBs of data PER DAY.
Splunk software reliably collects and indexes all the streaming data from IT systems, technology devices and the Internet of Things in real-time - tens of thousands of sources in unpredictable formats and types. Splunk software is optimized for real-time, low latency and interactivity.
Organizations use Splunk software and their data the following ways:
1. Find and fix problems dramatically faster
2. Automatically monitor to identify issues, problems and attacks
3. Gain end-to-end visibility to track and deliver on IT KPIs and make better-informed IT decisions
4. Gain real-time insight from operational data to make better-informed business decisions
This is described as Operational Intelligence: visibility, insights and intelligence from operational data.
Helvetia standardisierten Logging-Mechanismus handelt - einmal implementiert und von allen Appl. verwendet.
Reports über die Nutzung von Services differenziert nach
Vertriebskanälen
Regionen
Organisationseinheiten
um gezielte Steuerung und Optimierung vornehmen zu können.
Verwendete Tools: AEM mit SiteCatalyst
This app directly set’s the correct cell formatting for numbers, dates and strings to display them nicely in Microsoft Excel. The app also performs the conversion of the normalized _time field from epoch time to human readable date syntax. The new search commands that come with the app are called “outputxls” and “sendfile“, and can directly mail reports according to a schedule. The app also brings a xls2csv command which can convert an Excel sheet into a csv that can then be loaded directly into Splunk. The collect command can store it longterm into an index.
outputxls
| outputxls <filename.xls> “<sender>” “<receiver>” “<subject>” “<bodyText>” “<smtpHost>”
Description: This command will take the search results and write them into an excelsheet where the name is specified by the parameter. This command wraps also the sendfile command if you add the parameters optionally
sendfile
| sendfile “<sender>” “<receiver>” “<subject>” “<bodyText>” “<attachment>” “<smtpHost>”
Description: This command will take the file “<attachement>” which can only reside in /var/run/splunk and sends it via email using the parameters.
csv2xls
| csv2xls <commaseparated.csv> <filename.xls>
Description: This command will take a filename to a csv file residing in /var/run/splunk and write it into a Excel file
xls2csv
| xls2csv <filename.xls> <numOfWorksheets> <commaseparated.csv>
Description: This command will take a excel file that is located in /var/run/splunk, selects the proper Worksheet (Worksheet 0 is the first one) and writes it into a splunk-readable csv file.
This app directly set’s the correct cell formatting for numbers, dates and strings to display them nicely in Microsoft Excel. The app also performs the conversion of the normalized _time field from epoch time to human readable date syntax. The new search commands that come with the app are called “outputxls” and “sendfile“, and can directly mail reports according to a schedule. The app also brings a xls2csv command which can convert an Excel sheet into a csv that can then be loaded directly into Splunk. The collect command can store it longterm into an index.
outputxls
| outputxls <filename.xls> “<sender>” “<receiver>” “<subject>” “<bodyText>” “<smtpHost>”
Description: This command will take the search results and write them into an excelsheet where the name is specified by the parameter. This command wraps also the sendfile command if you add the parameters optionally
sendfile
| sendfile “<sender>” “<receiver>” “<subject>” “<bodyText>” “<attachment>” “<smtpHost>”
Description: This command will take the file “<attachement>” which can only reside in /var/run/splunk and sends it via email using the parameters.
csv2xls
| csv2xls <commaseparated.csv> <filename.xls>
Description: This command will take a filename to a csv file residing in /var/run/splunk and write it into a Excel file
xls2csv
| xls2csv <filename.xls> <numOfWorksheets> <commaseparated.csv>
Description: This command will take a excel file that is located in /var/run/splunk, selects the proper Worksheet (Worksheet 0 is the first one) and writes it into a splunk-readable csv file.
Las Médulas
Ergebnis der ruina montium, einer römischen Bergbautechnik. Plinius der Ältere beschreibt sie in seinerNaturalis historia als Durchlöchern der Berge und späteres Überschwemmen mit großen Mengen Wassers.[1] Dies soll die Hügel buchstäblich abgetragen haben.
Die Hilfskonstrukte dazu, ein über 100km langes Kanalsystem, sind heute noch erhalten.
So sollte man man sein IT – Operations nicht betreiben.