更新时间:2021-06-24 18:46:45
coverpage
Title Page
Dedication
Contributor
About the author
Packt is searching for authors like you
Packt Upsell
Why subscribe?
PacktPub.com
Preface
Overview
Download the example code files
Download the color images
Conventions used
Get in touch
Introduction to Self-Adapting and Self-Healing Systems
What is a self-adaptive system?
What is a self-healing system?
What now?
Choosing a Solution for Metrics Storage and Query
Non-dimensional versus dimensional metrics
Graphite
InfluxDB
Nagios and Sensu
Prometheus
Which tool should we choose?
Deploying and Configuring Prometheus
Deploying Prometheus stack
Designing a more dynamic monitoring solution
Deploying Docker Flow Monitor
Integrating Docker Flow Monitor with Docker Flow Proxy
Scraping Metrics
Creating the cluster and deploying services
Deploying exporters
Exploring exporter metrics
Querying metrics
Updating service constraints
Using memory reservations and limits in Prometheus
Defining Cluster-Wide Alerts
Creating alerts based on metrics
Defining multiple alerts for a service
Postponing alerts firing
Defining additional alert information through labels and annotations
Using shortcuts to define alerts
Alerting Humans
Setting up Alertmanager
Using templates in Alertmanager configuration
Alerting the System
The four quadrants of a dynamic and self-sufficient system
Self-Healing Applied to Services
Using Docker Swarm for self-healing services
Is it enough to have self-healing applied to services?
Self-Adaptation Applied to Services
Choosing the tool for scaling
Preparing the system for alerts
Creating a scaling pipeline
Preventing the scaling disaster
Notifying humans that scaling failed
Integrating Alertmanager with Jenkins
What now
Painting the Big Picture – The Self-Sufficient System Thus Far
Developer's role in the system
Continuous deployment role in the system
Service configuration role in the system
Proxy role in the system
Metrics role in the system
Alerting role in the system
Scheduler role in the system
Cluster role in the system
Instrumenting Services
Defining requirements behind service specific metrics
Differentiating services based on their types
Choosing instrumentation type
Instrumenting services using counter
Instrumenting services using gauges
Instrumenting services using histograms and summaries
Self-Adaptation Applied to Instrumented Services
Setting up the objectives
Scraping metrics from instrumented services
Querying metrics from instrumented services
Firing alerts based on instrumented metrics
Scaling services automatically
Sending error notifications to slack
Setting Up a Production Cluster
Creating a Docker for AWS cluster