SlideShare une entreprise Scribd logo
1  sur  21
Elastic Stack @ Swisscom Application Cloud
Swisscom (Schweiz) AG
Bremgartner Lucas
13.06.2017
C1 - Public
> Introduction
> What is Swisscom Application Cloud / What is the Elastic Stack
> Use of Elastic Stack @ Swisscom Application Cloud
> Process Logs with Logstash @ Swisscom Application Cloud
> Testing growing Logstash Configurations
2Agenda
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
08.06.17
Home of Cloud Native Applications
08.06.17
4
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
What is Swisscom Application Cloud / What is the Elastic Stack
Kibana
User Interface
ElasticsearchStore, Index,
& Analyze
Ingest
Logstash Beats
Elastic Stack
Swisscom
Developer Portal
5
developer.swisscom.com
www.mycloud.ch
Internal AppCloud
iAPC
Use Cases
> Lucas Bremgartner, Cloud Developer @ Swisscom Application Cloud
Quick notes:
> Elasticsearch user since version 0.9.x.
> My current «goto» programming language is Go
Open Source:
> Logstash Community Maintainer
> Contributor to logstash-filter-verifier (LFV)
> Maintainer of pigeon (PEG grammar parser generator for Go)
> Author of logstash-config (parser for Logstash configuration, written in Go)
08.06.17
6
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Introduction
> ELK as a Service
– Available in marketplace, containing Elasticsearch, Logstash and Kibana
– Intended use-case: collect logs from apps running in Application Cloud and visualize them
with Kibana
> Elasticsearch Enterprise
– Currently under development
– Intended use-case: scalable Elasticsearch clusters as a service
– Open for all Elasticsearch use cases (classical full-text search, log management, geo
location search, etc.)
> Elastic Stack for Log Management of the Infrastructure
– Classical pipeline with Filebeat, Logstash, Elasticsearch and Kibana
08.06.17
7
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Use of Elastic Stack @ Swisscom Application Cloud
14.06.2017
8
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Process Logs with Logstash
@ Swisscom Application Cloud
> Application instances in Cloud Foundry are ephemeral, storing logs on local disk is not a good
idea
> With multiple instances of the app running in parallel, an aggregated log stream is needed
> The 12 factor apps methodology defines for log data:
– «A twelve-factor app never concerns itself with routing or storage of its output stream. It
should not attempt to write to or manage logfiles. Instead, each running process writes its
event stream, unbuffered, to stdout»
> Cloud Foundry collects and ships the log events of the application and makes the log events
available through the API: cf logs <app>
> Cloud Foundry also allow to stream the logs to a customer provided service (syslog or https)
08.06.17
9
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Application Logs in Swisscom Application Cloud
App deployed by
Customer
App deployed by
Customer
Service by
Swisscom
AppCloud
05.09.16
10
BremgartnerLucas,ENT-NTC-PHC-PFD-ELR
ELKEnterprise.pptxC2-Internal
Stream Application Logs in Cloud Foundry
Logstash KibanaElasticsearch
ES Dashboards
(e.g. Cerebro,
Kopf)
Logstash
Logstash
House-
Keeping
(e.g. curator)
App
App logs to stdout,
CF log facility forwards
via customer provided
service to Logstash
App
App
> Buildpacks provide framework and runtime support for your applications.
> Buildpacks typically examine user-provided artifacts to determine what dependencies to
download and how to configure applications to communicate with bound services.
> This is done by three entrypoints:
– bin/detect: determines whether or not to apply the buildpack to an app.
– bin/compile: builds a droplet by packaging the app dependencies, assuring that the app
has all the necessary components needed to run.
– bin/release: provides feedback metadata to Cloud Foundry indicating how the app
should be executed.
08.06.17
11
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
What is a Cloud Foundry Buildpack
08.06.17
12
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Demo
14.06.2017
13
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Testing growing Logstash Configurations
Elasticsearch KibanaRabbitMQLogstash
(Shipper to
RabbitMQ)
Filebeat on
Edge Nodes
08.06.17
14
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Log Management @ Swisscom Application Cloud
Logstash
(Filter)
> Every application/service/daemon has its own log format, which needs to be tackled with a
specific set of Logstash filters.
> While adding more and more log formats, the complexity increases and changes to the
configuration become more and more delicate.
> With new software versions (lifecycle), also changed log patterns may occur, which need to be
processed in parallel to the old one.
> Integrate the testing of the Logstash configuration into the CI pipeline.
> Additionally to the Logstash configuration, also the Elasticsearch mapping needs to be
maintained.
> The Elasticsearch mapping could become a quite large (JSON file), which is a pain to update
(unhandy, error prone, etc.).
> Undocumented Elasticsearch mappings are harder to understand and to maintain (especially if
this is not done on a regular bases)
08.06.17
15
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Challenges
> Logstash is an open source, server-side data processing pipeline
that ingests data from a multitude of sources simultaneously,
transforms it, and then sends it to your favorite “stash.”
> Logstash follows the classical input–process–output (IPO) pattern,
the process stage is called «filter».
> A long list of different input, filter and output plugins is available,
which allow to adopt Logstash to a wide variety of use cases.
> A Logstash configuration is like a program which is applied to
every log event.
08.06.17
16
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Logstash
> LFV provides unit test kind of functionality for Logstash filter configurations
> Run test input against a given Logstash configuration and compare the result with the
expected value
08.06.17
17
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Logstash Filter Verifier
Logstash
filter
config
LFV Logstash
Test
cases
Kudos to @magnusbaeck for developing and maintaining Logstash Filter Verifier (LFV)
«If you get something wrong (… in the Logstash config …) you might have millions of
incorrectly parsed events before you realize your mistake. » – Magnus Bäck
Logstash Filter Verifier testsuite file:
{
"fields": {},
"codec": "line"
"ignore": [ "@version", "host" ],
"testcases": [ {
"input": [
"2017/06/12 08:12:58 WARN message e361827a-990e-
4237-8ea3-047f292f1d14 (1534 bytes) from <mind-blowing-
musa@dagger.com> to <epic_williams@centaur.com> could not
be sent, will retry"
],
"expected": [ {
"@timestamp": "2017-06-12T08:12:58.000Z",
"severity": "WARN",
"from": "mind-blowing-musa@dagger.com",
"to": "epic_williams@centaur.com",
"message": "could not be sent, will retry",
"size": 1534
} ]
} ] }
08.06.17
18
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Example
Additional fields, provided by the
source or added by the input plugin
Codec to decode input data (usually
one of line or json_lines)
Fields to be ignored, when the result
is compared
Testcases:
• provided input
• expected log event provided by Logstash
08.06.17
19
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Demo
14.06.2017
20
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Thanks & Questions?
Software & Tools:
> Logstash Buildpack for Swisscom Application Cloud
https://github.com/swisscom/cf-buildpack-logstash
> Kibana Buildpack for Swisscom Application Cloud
https://github.com/swisscom/cf-buildpack-kibana
> Logstash Filter Verifier (LFV)
https://github.com/magnusbaeck/logstash-filter-verifier
> Logstash Config Check
https://github.com/breml/logstash-config
Additional Links:
> 12 Factor Apps: https://12factor.net/
> Grok Debugger: https://grokdebug.herokuapp.com/
> ./jq: https://stedolan.github.io/jq/
> jsondiff: https://github.com/yudai/gojsondiff/
> dockerize: https://github.com/jwilder/dockerize
08.06.17
21
BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR
ElasticStack@SwisscomAppCloud.pptxC1-
Public
Links

Contenu connexe

Tendances

19. Cloud Native Computing - Kubernetes - Bratislava - Databases in K8s world
19. Cloud Native Computing - Kubernetes - Bratislava - Databases in K8s world19. Cloud Native Computing - Kubernetes - Bratislava - Databases in K8s world
19. Cloud Native Computing - Kubernetes - Bratislava - Databases in K8s worldDávid Kőszeghy
 
Using kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containersUsing kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containersjosfuecas
 
Introduction to openshift
Introduction to openshiftIntroduction to openshift
Introduction to openshiftMamathaBusi
 
MongoDB.local Austin 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local Austin 2018: MongoDB Ops Manager + KubernetesMongoDB.local Austin 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local Austin 2018: MongoDB Ops Manager + KubernetesMongoDB
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep diveWinton Winton
 
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summits
 
Elk for applications on k8s
Elk for applications on k8sElk for applications on k8s
Elk for applications on k8sChe-Chia Chang
 
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Capgemini
 
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + KubernetesMongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + KubernetesMongoDB
 
WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh? WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh? Anton Weiss
 
Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyLee Calcote
 
MesosCon 2016 - minimesos, the experimentation and testing tool for Apache Mesos
MesosCon 2016 - minimesos, the experimentation and testing tool for Apache MesosMesosCon 2016 - minimesos, the experimentation and testing tool for Apache Mesos
MesosCon 2016 - minimesos, the experimentation and testing tool for Apache MesosContainer Solutions
 
2013 linux days final
2013 linux days final2013 linux days final
2013 linux days finalRandomShare
 
Kubernetes Ingress 101
Kubernetes Ingress 101Kubernetes Ingress 101
Kubernetes Ingress 101Kublr
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformKangaroot
 
Microservices with Spring 5 Webflux - jProfessionals
Microservices  with Spring 5 Webflux - jProfessionalsMicroservices  with Spring 5 Webflux - jProfessionals
Microservices with Spring 5 Webflux - jProfessionalsTrayan Iliev
 
OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...
OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...
OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...NETWAYS
 

Tendances (20)

19. Cloud Native Computing - Kubernetes - Bratislava - Databases in K8s world
19. Cloud Native Computing - Kubernetes - Bratislava - Databases in K8s world19. Cloud Native Computing - Kubernetes - Bratislava - Databases in K8s world
19. Cloud Native Computing - Kubernetes - Bratislava - Databases in K8s world
 
Using kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containersUsing kubernetes to lose your fear of using containers
Using kubernetes to lose your fear of using containers
 
OpenShift Introduction
OpenShift IntroductionOpenShift Introduction
OpenShift Introduction
 
Introduction to openshift
Introduction to openshiftIntroduction to openshift
Introduction to openshift
 
MongoDB.local Austin 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local Austin 2018: MongoDB Ops Manager + KubernetesMongoDB.local Austin 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local Austin 2018: MongoDB Ops Manager + Kubernetes
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
 
Elk for applications on k8s
Elk for applications on k8sElk for applications on k8s
Elk for applications on k8s
 
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0
 
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + KubernetesMongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
MongoDB.local DC 2018: MongoDB Ops Manager + Kubernetes
 
WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh? WTF Do We Need a Service Mesh?
WTF Do We Need a Service Mesh?
 
Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxy
 
Poc Exadata X7-2 OVM
Poc Exadata X7-2 OVMPoc Exadata X7-2 OVM
Poc Exadata X7-2 OVM
 
Postgre sql best_practices
Postgre sql best_practicesPostgre sql best_practices
Postgre sql best_practices
 
MesosCon 2016 - minimesos, the experimentation and testing tool for Apache Mesos
MesosCon 2016 - minimesos, the experimentation and testing tool for Apache MesosMesosCon 2016 - minimesos, the experimentation and testing tool for Apache Mesos
MesosCon 2016 - minimesos, the experimentation and testing tool for Apache Mesos
 
2013 linux days final
2013 linux days final2013 linux days final
2013 linux days final
 
Kubernetes Ingress 101
Kubernetes Ingress 101Kubernetes Ingress 101
Kubernetes Ingress 101
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
 
Microservices with Spring 5 Webflux - jProfessionals
Microservices  with Spring 5 Webflux - jProfessionalsMicroservices  with Spring 5 Webflux - jProfessionals
Microservices with Spring 5 Webflux - jProfessionals
 
OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...
OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...
OSDC 2018 | Apache Ignite - the in-memory hammer for your data science toolki...
 

Similaire à Elastic Stack @ Swisscom Application Cloud

Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...GetInData
 
Live Coding 12 Factor App
Live Coding 12 Factor AppLive Coding 12 Factor App
Live Coding 12 Factor AppEmily Jiang
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE
 
Model-driven Telemetry: The Foundation of Big Data Analytics
Model-driven Telemetry: The Foundation of Big Data AnalyticsModel-driven Telemetry: The Foundation of Big Data Analytics
Model-driven Telemetry: The Foundation of Big Data AnalyticsCisco Canada
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"Volker Linz
 
Migrating the elastic stack to the cloud, or application logging @ travix
 Migrating the elastic stack to the cloud, or application logging @ travix Migrating the elastic stack to the cloud, or application logging @ travix
Migrating the elastic stack to the cloud, or application logging @ travixRuslan Lutsenko
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)QAware GmbH
 
F5 Meetup presentation automation 2017
F5 Meetup presentation automation 2017F5 Meetup presentation automation 2017
F5 Meetup presentation automation 2017Guy Brown
 
Using Tetration for application security and policy enforcement in multi-vend...
Using Tetration for application security and policy enforcement in multi-vend...Using Tetration for application security and policy enforcement in multi-vend...
Using Tetration for application security and policy enforcement in multi-vend...Joel W. King
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesJakarta_EE
 
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at ExoscaleCoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at ExoscaleAntoine COETSIER
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonVMware Tanzu
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuVMware Tanzu
 
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexusMicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexusEmily Jiang
 
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) Surendar S
 
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...PT Datacomm Diangraha
 

Similaire à Elastic Stack @ Swisscom Application Cloud (20)

Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
 
Cisco project ideas
Cisco   project ideasCisco   project ideas
Cisco project ideas
 
Live Coding 12 Factor App
Live Coding 12 Factor AppLive Coding 12 Factor App
Live Coding 12 Factor App
 
optimizing_ceph_flash
optimizing_ceph_flashoptimizing_ceph_flash
optimizing_ceph_flash
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart Systems
 
Model-driven Telemetry: The Foundation of Big Data Analytics
Model-driven Telemetry: The Foundation of Big Data AnalyticsModel-driven Telemetry: The Foundation of Big Data Analytics
Model-driven Telemetry: The Foundation of Big Data Analytics
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Migrating the elastic stack to the cloud, or application logging @ travix
 Migrating the elastic stack to the cloud, or application logging @ travix Migrating the elastic stack to the cloud, or application logging @ travix
Migrating the elastic stack to the cloud, or application logging @ travix
 
An Optics Life
An Optics LifeAn Optics Life
An Optics Life
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
F5 Meetup presentation automation 2017
F5 Meetup presentation automation 2017F5 Meetup presentation automation 2017
F5 Meetup presentation automation 2017
 
Using Tetration for application security and policy enforcement in multi-vend...
Using Tetration for application security and policy enforcement in multi-vend...Using Tetration for application security and policy enforcement in multi-vend...
Using Tetration for application security and policy enforcement in multi-vend...
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
 
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at ExoscaleCoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - Boston
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
 
Neutron Extension API
Neutron Extension APINeutron Extension API
Neutron Extension API
 
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexusMicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
 
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
 
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
 

Dernier

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Dernier (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Elastic Stack @ Swisscom Application Cloud

  • 1. Elastic Stack @ Swisscom Application Cloud Swisscom (Schweiz) AG Bremgartner Lucas 13.06.2017 C1 - Public
  • 2. > Introduction > What is Swisscom Application Cloud / What is the Elastic Stack > Use of Elastic Stack @ Swisscom Application Cloud > Process Logs with Logstash @ Swisscom Application Cloud > Testing growing Logstash Configurations 2Agenda BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public 08.06.17
  • 3. Home of Cloud Native Applications
  • 4. 08.06.17 4 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public What is Swisscom Application Cloud / What is the Elastic Stack Kibana User Interface ElasticsearchStore, Index, & Analyze Ingest Logstash Beats Elastic Stack Swisscom Developer Portal
  • 6. > Lucas Bremgartner, Cloud Developer @ Swisscom Application Cloud Quick notes: > Elasticsearch user since version 0.9.x. > My current «goto» programming language is Go Open Source: > Logstash Community Maintainer > Contributor to logstash-filter-verifier (LFV) > Maintainer of pigeon (PEG grammar parser generator for Go) > Author of logstash-config (parser for Logstash configuration, written in Go) 08.06.17 6 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public Introduction
  • 7. > ELK as a Service – Available in marketplace, containing Elasticsearch, Logstash and Kibana – Intended use-case: collect logs from apps running in Application Cloud and visualize them with Kibana > Elasticsearch Enterprise – Currently under development – Intended use-case: scalable Elasticsearch clusters as a service – Open for all Elasticsearch use cases (classical full-text search, log management, geo location search, etc.) > Elastic Stack for Log Management of the Infrastructure – Classical pipeline with Filebeat, Logstash, Elasticsearch and Kibana 08.06.17 7 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public Use of Elastic Stack @ Swisscom Application Cloud
  • 9. > Application instances in Cloud Foundry are ephemeral, storing logs on local disk is not a good idea > With multiple instances of the app running in parallel, an aggregated log stream is needed > The 12 factor apps methodology defines for log data: – «A twelve-factor app never concerns itself with routing or storage of its output stream. It should not attempt to write to or manage logfiles. Instead, each running process writes its event stream, unbuffered, to stdout» > Cloud Foundry collects and ships the log events of the application and makes the log events available through the API: cf logs <app> > Cloud Foundry also allow to stream the logs to a customer provided service (syslog or https) 08.06.17 9 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public Application Logs in Swisscom Application Cloud
  • 10. App deployed by Customer App deployed by Customer Service by Swisscom AppCloud 05.09.16 10 BremgartnerLucas,ENT-NTC-PHC-PFD-ELR ELKEnterprise.pptxC2-Internal Stream Application Logs in Cloud Foundry Logstash KibanaElasticsearch ES Dashboards (e.g. Cerebro, Kopf) Logstash Logstash House- Keeping (e.g. curator) App App logs to stdout, CF log facility forwards via customer provided service to Logstash App App
  • 11. > Buildpacks provide framework and runtime support for your applications. > Buildpacks typically examine user-provided artifacts to determine what dependencies to download and how to configure applications to communicate with bound services. > This is done by three entrypoints: – bin/detect: determines whether or not to apply the buildpack to an app. – bin/compile: builds a droplet by packaging the app dependencies, assuring that the app has all the necessary components needed to run. – bin/release: provides feedback metadata to Cloud Foundry indicating how the app should be executed. 08.06.17 11 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public What is a Cloud Foundry Buildpack
  • 14. Elasticsearch KibanaRabbitMQLogstash (Shipper to RabbitMQ) Filebeat on Edge Nodes 08.06.17 14 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public Log Management @ Swisscom Application Cloud Logstash (Filter)
  • 15. > Every application/service/daemon has its own log format, which needs to be tackled with a specific set of Logstash filters. > While adding more and more log formats, the complexity increases and changes to the configuration become more and more delicate. > With new software versions (lifecycle), also changed log patterns may occur, which need to be processed in parallel to the old one. > Integrate the testing of the Logstash configuration into the CI pipeline. > Additionally to the Logstash configuration, also the Elasticsearch mapping needs to be maintained. > The Elasticsearch mapping could become a quite large (JSON file), which is a pain to update (unhandy, error prone, etc.). > Undocumented Elasticsearch mappings are harder to understand and to maintain (especially if this is not done on a regular bases) 08.06.17 15 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public Challenges
  • 16. > Logstash is an open source, server-side data processing pipeline that ingests data from a multitude of sources simultaneously, transforms it, and then sends it to your favorite “stash.” > Logstash follows the classical input–process–output (IPO) pattern, the process stage is called «filter». > A long list of different input, filter and output plugins is available, which allow to adopt Logstash to a wide variety of use cases. > A Logstash configuration is like a program which is applied to every log event. 08.06.17 16 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public Logstash
  • 17. > LFV provides unit test kind of functionality for Logstash filter configurations > Run test input against a given Logstash configuration and compare the result with the expected value 08.06.17 17 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public Logstash Filter Verifier Logstash filter config LFV Logstash Test cases Kudos to @magnusbaeck for developing and maintaining Logstash Filter Verifier (LFV) «If you get something wrong (… in the Logstash config …) you might have millions of incorrectly parsed events before you realize your mistake. » – Magnus Bäck
  • 18. Logstash Filter Verifier testsuite file: { "fields": {}, "codec": "line" "ignore": [ "@version", "host" ], "testcases": [ { "input": [ "2017/06/12 08:12:58 WARN message e361827a-990e- 4237-8ea3-047f292f1d14 (1534 bytes) from <mind-blowing- musa@dagger.com> to <epic_williams@centaur.com> could not be sent, will retry" ], "expected": [ { "@timestamp": "2017-06-12T08:12:58.000Z", "severity": "WARN", "from": "mind-blowing-musa@dagger.com", "to": "epic_williams@centaur.com", "message": "could not be sent, will retry", "size": 1534 } ] } ] } 08.06.17 18 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public Example Additional fields, provided by the source or added by the input plugin Codec to decode input data (usually one of line or json_lines) Fields to be ignored, when the result is compared Testcases: • provided input • expected log event provided by Logstash
  • 21. Software & Tools: > Logstash Buildpack for Swisscom Application Cloud https://github.com/swisscom/cf-buildpack-logstash > Kibana Buildpack for Swisscom Application Cloud https://github.com/swisscom/cf-buildpack-kibana > Logstash Filter Verifier (LFV) https://github.com/magnusbaeck/logstash-filter-verifier > Logstash Config Check https://github.com/breml/logstash-config Additional Links: > 12 Factor Apps: https://12factor.net/ > Grok Debugger: https://grokdebug.herokuapp.com/ > ./jq: https://stedolan.github.io/jq/ > jsondiff: https://github.com/yudai/gojsondiff/ > dockerize: https://github.com/jwilder/dockerize 08.06.17 21 BremgartnerLucas,INI-DEV-DIG-TCL-PFD-ELR ElasticStack@SwisscomAppCloud.pptxC1- Public Links