SlideShare una empresa de Scribd logo
1 de 63
Descargar para leer sin conexión
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Best Practices For
Scalable Monitoring
Kevin Scaldeferri
Lead Software Engineer
New Relic
E N T 3 1 0 - S
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
New Relic
2008
2018
Rails FE monolith
Java BE monolith
DB monolith
1 region
10s of FE apps
100s of microservices
100s of databases
Multiple regions
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
3. Deploy 1. Code
4. Monitoring
& Alerting 2. Build
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Use the power of modern build systems
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
build.js
var publishSourcemap = require(‘@newrelic/publish-sourcemap’).publishSourcemap
publishSourcemap({
sourcemapPath: ‘./dist/bundle.js.map’,
javascriptUrl: ‘https://example.com/assets/bundle.js’,
applicationId: APPLICATION_ID,
nrAdminKey: 'ADMIN_KEY’
}, function (err) { console.log(err || 'Sourcemap upload done')})
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
build.gradle
apply plugin: ‘application’
ext {
newrelicVersion = ‘4.7.0’
}
configurations {
newrelic
}
dependencies {
compile “com.newrelic.agent.java:newrelic-
api:${newrelicVersion}”
newrelic “com.newrelic.agent.java:newrelic-
agent:${newrelicVersion}”
}
task copyAgent(type: Copy) {
from configurations.newrelic
into "$buildDir/lib"
rename ("newrelic-agent-${newrelicVersion}.jar",
'newrelic.jar’)
}
tasks.run {
dependsOn copyAgent
jvmOpts << “-javaagent:$buildDir/lib/newrelic.jar”
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
build.gradle
apply plugin: ‘application’
apply plugin: ‘newrelic-agent-plugin’
apply plugin: …
application { … }
newrelic { … }
…
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
build.gradle
apply plugin: ‘company-java-service’
dependencies {
…
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 1: Have
a common
deploy system
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2: Deploy
markers and
version tags
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 3: Inject key monitoring attributes
Cluster / Cell
Region / AZ
Hostname Owning Team
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Bootstrap
your apps
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Standard dimensional attributes
public void recordEvent(String eventType, Map<String, Object> attributes) {
// Add standard attributes
Map<String, String> envVars = System.getenv();
attributes.put("appName", envVars.getOrDefault("NEW_RELIC_APP_NAME", "unknown"));
attributes.put("version", envVars.getOrDefault("GC_VERSION", "unknown"));
attributes.put("jvmId", ManagementFactory.getRuntimeMXBean().getName());
attributes.put("ipPort", envVars.getOrDefault("CF_PRIMARY_IP_PORT", "unknown"));
attributes.put("hostname", envVars.getOrDefault("CF_FQDN", "unknown"));
attributes.put("region", envVars.getOrDefault("CF_REGION", "unknown"));
attributes.put("zone", envVars.getOrDefault("CF_ZONE", "unknown"));
attributes.put("subnet", envVars.getOrDefault("CF_SUBNET_ID", "unknown"));
NewRelic.recordCustomEvent(eventType, attributes);
}
Resource
utilization
tracking
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Resource
utilization
tracking
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monitoring &
Alerting as Code
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The Spectrum of DSLs
Full embedded
languages
Collections
of scripts
Template and
config languages
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Dashboard Templates
{
"dashboard" : {
"title" : "{{ capitalize(cluster) }} Service Health",
"filter" : {
"event_types" : [ "NodeStatus" ],
"attributes" : [ ]
}
"widgets" : [ {
"visualization" : "faceted_line_chart",
"data" : [ {
"nrql" : "SELECT sum(g1younggenerationCollectionTimeSeconds) FROM NodeStatus
where cluster = ‘{{ cluster }}' TIMESERIES FACET appName"
} ],
"presentation" : {
"title" : "Young Gen Time }
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Dashboard Templates
{
"dashboard" : {
"title" : "{{ capitalize(cluster) }} Service Health",
"filter" : {
"event_types" : [ "NodeStatus" ],
"attributes" : [ ]
}
"widgets" : [ {
"visualization" : "faceted_line_chart",
"data" : [ {
"nrql" : "SELECT sum(g1younggenerationCollectionTimeSeconds) FROM NodeStatus
where cluster = ‘{{ cluster }}' TIMESERIES FACET appName"
} ],
"presentation" : {
"title" : "Young Gen Time",
"notes" : null
}
}
Alerts DSL
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
policy "Unified Data Streams CF Alerts” do
rollup 'condition’
team_low_priority_channels
condition "WARNING Service(s) OOMing" do
type 'nrql’
query "SELECT count(*) FROM cf_docker_event where action = 'oom’”
since 2.minutes
value 'single_value’
critical above: 0, for: 1.minutes
runbook ‘https://…’
end
end
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
clusters.each do |cluster|
policy "#{cluster} MyApp Lag" do
rollup 'condition'
team_alert_channels(cluster)
condition "#{sev_and_cluster('SEV3’, cluster)} MyApp" do
entities [config[cluster][‘lag_monitor_app_name']]
metric 'Custom/ConsumerLag/appendSecondsLag/my_topic/my_app'
value 'max'
critical above: 60, for: 5.minutes
runbook ‘https://…’
end
end
end
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
clusters.each do |cluster|
policy "#{cluster} MyApp Lag" do
rollup 'condition'
team_alert_channels(cluster)
condition "#{sev_and_cluster('SEV3’, cluster)} MyApp" do
entities [config[cluster][‘lag_monitor_app_name']]
metric 'Custom/ConsumerLag/appendSecondsLag/my_topic/my_app'
value 'max'
critical above: 60, for: 5.minutes
runbook ‘https://…’
end
end
end
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
clusters.each do |cluster|
policy "#{cluster} MyApp Lag" do
rollup 'condition'
team_alert_channels(cluster)
condition "#{sev_and_cluster('SEV3’, cluster)} MyApp" do
entities [config[cluster][‘lag_monitor_app_name']]
metric 'Custom/ConsumerLag/appendSecondsLag/my_topic/my_app'
value 'max'
critical above: 60, for: 5.minutes
runbook ‘https://…’
end
end
end
Machine
Learning
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Make a plan
for monitoring
Automate
everything
Make it easy to
follow the plan
Get back to
building products
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kevin Scaldeferri
@kscaldef
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Más contenido relacionado

La actualidad más candente

Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018
Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018
Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018Amazon Web Services
 
[NEW LAUNCH!] Introduction to AWS Security Hub (SEC397) - AWS re:Invent 2018
[NEW LAUNCH!] Introduction to AWS Security Hub (SEC397) - AWS re:Invent 2018[NEW LAUNCH!] Introduction to AWS Security Hub (SEC397) - AWS re:Invent 2018
[NEW LAUNCH!] Introduction to AWS Security Hub (SEC397) - AWS re:Invent 2018Amazon Web Services
 
[NEW LAUNCH!] Introducing Amazon Elastic Inference: Reduce Deep Learning Infe...
[NEW LAUNCH!] Introducing Amazon Elastic Inference: Reduce Deep Learning Infe...[NEW LAUNCH!] Introducing Amazon Elastic Inference: Reduce Deep Learning Infe...
[NEW LAUNCH!] Introducing Amazon Elastic Inference: Reduce Deep Learning Infe...Amazon Web Services
 
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018Amazon Web Services
 
Run Production Workloads on Spot, Save up to 90%
Run Production Workloads on Spot, Save up to 90%Run Production Workloads on Spot, Save up to 90%
Run Production Workloads on Spot, Save up to 90%Amazon Web Services
 
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...Amazon Web Services
 
Manage Queries, and Audit Usage & Control Costs at Scale on Amazon Athena (AN...
Manage Queries, and Audit Usage & Control Costs at Scale on Amazon Athena (AN...Manage Queries, and Audit Usage & Control Costs at Scale on Amazon Athena (AN...
Manage Queries, and Audit Usage & Control Costs at Scale on Amazon Athena (AN...Amazon Web Services
 
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. General El...
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. General El...Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. General El...
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. General El...Amazon Web Services
 
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018Amazon Web Services
 
Lower Costs on Amazon EMR: Auto Scaling, Spot Pricing, & Expert Strategies (A...
Lower Costs on Amazon EMR: Auto Scaling, Spot Pricing, & Expert Strategies (A...Lower Costs on Amazon EMR: Auto Scaling, Spot Pricing, & Expert Strategies (A...
Lower Costs on Amazon EMR: Auto Scaling, Spot Pricing, & Expert Strategies (A...Amazon Web Services
 
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...Amazon Web Services
 
Scalable Multi-Node Deep Learning Training in the Cloud (CMP368-R1) - AWS re:...
Scalable Multi-Node Deep Learning Training in the Cloud (CMP368-R1) - AWS re:...Scalable Multi-Node Deep Learning Training in the Cloud (CMP368-R1) - AWS re:...
Scalable Multi-Node Deep Learning Training in the Cloud (CMP368-R1) - AWS re:...Amazon Web Services
 
Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - ...
Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - ...Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - ...
Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - ...Amazon Web Services
 
[NEW LAUNCH!] AWS Transit Gateway and Transit VPCs - Reference Architectures ...
[NEW LAUNCH!] AWS Transit Gateway and Transit VPCs - Reference Architectures ...[NEW LAUNCH!] AWS Transit Gateway and Transit VPCs - Reference Architectures ...
[NEW LAUNCH!] AWS Transit Gateway and Transit VPCs - Reference Architectures ...Amazon Web Services
 
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018Amazon Web Services
 
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018Amazon Web Services
 
DevOps Concepts for Data Science (DEV347-R2) - AWS re:Invent 2018
DevOps Concepts for Data Science (DEV347-R2) - AWS re:Invent 2018DevOps Concepts for Data Science (DEV347-R2) - AWS re:Invent 2018
DevOps Concepts for Data Science (DEV347-R2) - AWS re:Invent 2018Amazon Web Services
 
Operationalizing Microsoft Workloads (WIN320) - AWS re:Invent 2018
Operationalizing Microsoft Workloads (WIN320) - AWS re:Invent 2018Operationalizing Microsoft Workloads (WIN320) - AWS re:Invent 2018
Operationalizing Microsoft Workloads (WIN320) - AWS re:Invent 2018Amazon Web Services
 
How Enterprises Are Modernizing Their Security, Risk Management, & Compliance...
How Enterprises Are Modernizing Their Security, Risk Management, & Compliance...How Enterprises Are Modernizing Their Security, Risk Management, & Compliance...
How Enterprises Are Modernizing Their Security, Risk Management, & Compliance...Amazon Web Services
 
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...Amazon Web Services
 

La actualidad más candente (20)

Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018
Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018
Day Two Operations of Kubernetes on AWS (GPSTEC309) - AWS re:Invent 2018
 
[NEW LAUNCH!] Introduction to AWS Security Hub (SEC397) - AWS re:Invent 2018
[NEW LAUNCH!] Introduction to AWS Security Hub (SEC397) - AWS re:Invent 2018[NEW LAUNCH!] Introduction to AWS Security Hub (SEC397) - AWS re:Invent 2018
[NEW LAUNCH!] Introduction to AWS Security Hub (SEC397) - AWS re:Invent 2018
 
[NEW LAUNCH!] Introducing Amazon Elastic Inference: Reduce Deep Learning Infe...
[NEW LAUNCH!] Introducing Amazon Elastic Inference: Reduce Deep Learning Infe...[NEW LAUNCH!] Introducing Amazon Elastic Inference: Reduce Deep Learning Infe...
[NEW LAUNCH!] Introducing Amazon Elastic Inference: Reduce Deep Learning Infe...
 
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
Ask an Amazon Redshift Customer Anything (ANT389) - AWS re:Invent 2018
 
Run Production Workloads on Spot, Save up to 90%
Run Production Workloads on Spot, Save up to 90%Run Production Workloads on Spot, Save up to 90%
Run Production Workloads on Spot, Save up to 90%
 
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
 
Manage Queries, and Audit Usage & Control Costs at Scale on Amazon Athena (AN...
Manage Queries, and Audit Usage & Control Costs at Scale on Amazon Athena (AN...Manage Queries, and Audit Usage & Control Costs at Scale on Amazon Athena (AN...
Manage Queries, and Audit Usage & Control Costs at Scale on Amazon Athena (AN...
 
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. General El...
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. General El...Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. General El...
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. General El...
 
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
 
Lower Costs on Amazon EMR: Auto Scaling, Spot Pricing, & Expert Strategies (A...
Lower Costs on Amazon EMR: Auto Scaling, Spot Pricing, & Expert Strategies (A...Lower Costs on Amazon EMR: Auto Scaling, Spot Pricing, & Expert Strategies (A...
Lower Costs on Amazon EMR: Auto Scaling, Spot Pricing, & Expert Strategies (A...
 
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
 
Scalable Multi-Node Deep Learning Training in the Cloud (CMP368-R1) - AWS re:...
Scalable Multi-Node Deep Learning Training in the Cloud (CMP368-R1) - AWS re:...Scalable Multi-Node Deep Learning Training in the Cloud (CMP368-R1) - AWS re:...
Scalable Multi-Node Deep Learning Training in the Cloud (CMP368-R1) - AWS re:...
 
Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - ...
Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - ...Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - ...
Configuration Management and Service Discovery with AWS Lambda (SRV338-R1) - ...
 
[NEW LAUNCH!] AWS Transit Gateway and Transit VPCs - Reference Architectures ...
[NEW LAUNCH!] AWS Transit Gateway and Transit VPCs - Reference Architectures ...[NEW LAUNCH!] AWS Transit Gateway and Transit VPCs - Reference Architectures ...
[NEW LAUNCH!] AWS Transit Gateway and Transit VPCs - Reference Architectures ...
 
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
Create a Virtual Concierge Using Sumerian Hosts (ARV201) - AWS re:Invent 2018
 
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
Cost Optimization Tooling (ARC301) - AWS re:Invent 2018
 
DevOps Concepts for Data Science (DEV347-R2) - AWS re:Invent 2018
DevOps Concepts for Data Science (DEV347-R2) - AWS re:Invent 2018DevOps Concepts for Data Science (DEV347-R2) - AWS re:Invent 2018
DevOps Concepts for Data Science (DEV347-R2) - AWS re:Invent 2018
 
Operationalizing Microsoft Workloads (WIN320) - AWS re:Invent 2018
Operationalizing Microsoft Workloads (WIN320) - AWS re:Invent 2018Operationalizing Microsoft Workloads (WIN320) - AWS re:Invent 2018
Operationalizing Microsoft Workloads (WIN320) - AWS re:Invent 2018
 
How Enterprises Are Modernizing Their Security, Risk Management, & Compliance...
How Enterprises Are Modernizing Their Security, Risk Management, & Compliance...How Enterprises Are Modernizing Their Security, Risk Management, & Compliance...
How Enterprises Are Modernizing Their Security, Risk Management, & Compliance...
 
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
 

Similar a Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018

Serverless best practices plus design principles 20m version
Serverless   best practices plus design principles 20m versionServerless   best practices plus design principles 20m version
Serverless best practices plus design principles 20m versionHeitor Lessa
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Amazon Web Services
 
Building Secure Services using Containers
Building Secure Services using ContainersBuilding Secure Services using Containers
Building Secure Services using ContainersAmazon Web Services
 
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...Amazon Web Services
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28Amazon Web Services
 
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Amazon Web Services
 
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...Amazon Web Services
 
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018Amazon Web Services
 
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018Amazon Web Services
 
Advanced Serverless application architecture and design considerations
Advanced Serverless application architecture and design considerationsAdvanced Serverless application architecture and design considerations
Advanced Serverless application architecture and design considerationsDilip Kola
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...Amazon Web Services
 
Get Started with Deep Learning and Computer Vision Using AWS DeepLens (AIM316...
Get Started with Deep Learning and Computer Vision Using AWS DeepLens (AIM316...Get Started with Deep Learning and Computer Vision Using AWS DeepLens (AIM316...
Get Started with Deep Learning and Computer Vision Using AWS DeepLens (AIM316...Amazon Web Services
 
Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...
Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...
Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...Amazon Web Services
 
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...Amazon Web Services
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Amazon Web Services
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Amazon Web Services
 
Threat Detection & Remediation Workshop - Module 2
Threat Detection & Remediation Workshop - Module 2Threat Detection & Remediation Workshop - Module 2
Threat Detection & Remediation Workshop - Module 2Amazon Web Services
 
Threat Detection & Remediation Workshop
Threat Detection & Remediation WorkshopThreat Detection & Remediation Workshop
Threat Detection & Remediation WorkshopAmazon Web Services
 
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...Amazon Web Services
 

Similar a Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018 (20)

Serverless best practices plus design principles 20m version
Serverless   best practices plus design principles 20m versionServerless   best practices plus design principles 20m version
Serverless best practices plus design principles 20m version
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
 
Building Secure Services using Containers
Building Secure Services using ContainersBuilding Secure Services using Containers
Building Secure Services using Containers
 
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
How LogMeIn Automates Governance and Empowers Developers at Scale (SEC302) - ...
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28
 
Deep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormationDeep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormation
 
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
 
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workf...
 
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018
Executing a Large Scale Migration to AWS (ENT337-R2) - AWS re:Invent 2018
 
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
Advanced Container Automation, Security, and Monitoring - AWS Summit Sydney 2018
 
Advanced Serverless application architecture and design considerations
Advanced Serverless application architecture and design considerationsAdvanced Serverless application architecture and design considerations
Advanced Serverless application architecture and design considerations
 
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
[NEW LAUNCH!] Introducing AWS App Mesh – service mesh on AWS (CON367) - AWS r...
 
Get Started with Deep Learning and Computer Vision Using AWS DeepLens (AIM316...
Get Started with Deep Learning and Computer Vision Using AWS DeepLens (AIM316...Get Started with Deep Learning and Computer Vision Using AWS DeepLens (AIM316...
Get Started with Deep Learning and Computer Vision Using AWS DeepLens (AIM316...
 
Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...
Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...
Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...
 
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
 
Threat Detection & Remediation Workshop - Module 2
Threat Detection & Remediation Workshop - Module 2Threat Detection & Remediation Workshop - Module 2
Threat Detection & Remediation Workshop - Module 2
 
Threat Detection & Remediation Workshop
Threat Detection & Remediation WorkshopThreat Detection & Remediation Workshop
Threat Detection & Remediation Workshop
 
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...
Bridging the Gap Between Real Time/Offline and AI/ML Capabilities in Modern S...
 

Más de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Best Practices For Scalable Monitoring Kevin Scaldeferri Lead Software Engineer New Relic E N T 3 1 0 - S
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. New Relic 2008 2018 Rails FE monolith Java BE monolith DB monolith 1 region 10s of FE apps 100s of microservices 100s of databases Multiple regions
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 5.
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7.
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 3. Deploy 1. Code 4. Monitoring & Alerting 2. Build
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Use the power of modern build systems
  • 13.
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. build.js var publishSourcemap = require(‘@newrelic/publish-sourcemap’).publishSourcemap publishSourcemap({ sourcemapPath: ‘./dist/bundle.js.map’, javascriptUrl: ‘https://example.com/assets/bundle.js’, applicationId: APPLICATION_ID, nrAdminKey: 'ADMIN_KEY’ }, function (err) { console.log(err || 'Sourcemap upload done')})
  • 15.
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. build.gradle apply plugin: ‘application’ ext { newrelicVersion = ‘4.7.0’ } configurations { newrelic } dependencies { compile “com.newrelic.agent.java:newrelic- api:${newrelicVersion}” newrelic “com.newrelic.agent.java:newrelic- agent:${newrelicVersion}” } task copyAgent(type: Copy) { from configurations.newrelic into "$buildDir/lib" rename ("newrelic-agent-${newrelicVersion}.jar", 'newrelic.jar’) } tasks.run { dependsOn copyAgent jvmOpts << “-javaagent:$buildDir/lib/newrelic.jar” }
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. build.gradle apply plugin: ‘application’ apply plugin: ‘newrelic-agent-plugin’ apply plugin: … application { … } newrelic { … } …
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. build.gradle apply plugin: ‘company-java-service’ dependencies { … }
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 21. Step 1: Have a common deploy system © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 22. Step 2: Deploy markers and version tags © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 3: Inject key monitoring attributes Cluster / Cell Region / AZ Hostname Owning Team
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 30. Bootstrap your apps © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Standard dimensional attributes public void recordEvent(String eventType, Map<String, Object> attributes) { // Add standard attributes Map<String, String> envVars = System.getenv(); attributes.put("appName", envVars.getOrDefault("NEW_RELIC_APP_NAME", "unknown")); attributes.put("version", envVars.getOrDefault("GC_VERSION", "unknown")); attributes.put("jvmId", ManagementFactory.getRuntimeMXBean().getName()); attributes.put("ipPort", envVars.getOrDefault("CF_PRIMARY_IP_PORT", "unknown")); attributes.put("hostname", envVars.getOrDefault("CF_FQDN", "unknown")); attributes.put("region", envVars.getOrDefault("CF_REGION", "unknown")); attributes.put("zone", envVars.getOrDefault("CF_ZONE", "unknown")); attributes.put("subnet", envVars.getOrDefault("CF_SUBNET_ID", "unknown")); NewRelic.recordCustomEvent(eventType, attributes); }
  • 32. Resource utilization tracking © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 33. Resource utilization tracking © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 36. Monitoring & Alerting as Code © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 37.
  • 38.
  • 39.
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The Spectrum of DSLs Full embedded languages Collections of scripts Template and config languages
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Dashboard Templates { "dashboard" : { "title" : "{{ capitalize(cluster) }} Service Health", "filter" : { "event_types" : [ "NodeStatus" ], "attributes" : [ ] } "widgets" : [ { "visualization" : "faceted_line_chart", "data" : [ { "nrql" : "SELECT sum(g1younggenerationCollectionTimeSeconds) FROM NodeStatus where cluster = ‘{{ cluster }}' TIMESERIES FACET appName" } ], "presentation" : { "title" : "Young Gen Time } }
  • 46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Dashboard Templates { "dashboard" : { "title" : "{{ capitalize(cluster) }} Service Health", "filter" : { "event_types" : [ "NodeStatus" ], "attributes" : [ ] } "widgets" : [ { "visualization" : "faceted_line_chart", "data" : [ { "nrql" : "SELECT sum(g1younggenerationCollectionTimeSeconds) FROM NodeStatus where cluster = ‘{{ cluster }}' TIMESERIES FACET appName" } ], "presentation" : { "title" : "Young Gen Time", "notes" : null } }
  • 47.
  • 48.
  • 49.
  • 50.
  • 51. Alerts DSL © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 52. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. policy "Unified Data Streams CF Alerts” do rollup 'condition’ team_low_priority_channels condition "WARNING Service(s) OOMing" do type 'nrql’ query "SELECT count(*) FROM cf_docker_event where action = 'oom’” since 2.minutes value 'single_value’ critical above: 0, for: 1.minutes runbook ‘https://…’ end end
  • 53. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. clusters.each do |cluster| policy "#{cluster} MyApp Lag" do rollup 'condition' team_alert_channels(cluster) condition "#{sev_and_cluster('SEV3’, cluster)} MyApp" do entities [config[cluster][‘lag_monitor_app_name']] metric 'Custom/ConsumerLag/appendSecondsLag/my_topic/my_app' value 'max' critical above: 60, for: 5.minutes runbook ‘https://…’ end end end
  • 54. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. clusters.each do |cluster| policy "#{cluster} MyApp Lag" do rollup 'condition' team_alert_channels(cluster) condition "#{sev_and_cluster('SEV3’, cluster)} MyApp" do entities [config[cluster][‘lag_monitor_app_name']] metric 'Custom/ConsumerLag/appendSecondsLag/my_topic/my_app' value 'max' critical above: 60, for: 5.minutes runbook ‘https://…’ end end end
  • 55. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. clusters.each do |cluster| policy "#{cluster} MyApp Lag" do rollup 'condition' team_alert_channels(cluster) condition "#{sev_and_cluster('SEV3’, cluster)} MyApp" do entities [config[cluster][‘lag_monitor_app_name']] metric 'Custom/ConsumerLag/appendSecondsLag/my_topic/my_app' value 'max' critical above: 60, for: 5.minutes runbook ‘https://…’ end end end
  • 56. Machine Learning © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 57.
  • 58.
  • 59. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 60. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 61. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Make a plan for monitoring Automate everything Make it easy to follow the plan Get back to building products
  • 62. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kevin Scaldeferri @kscaldef
  • 63. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.