Docker monitoring-explaining the basics of basics-

image.png

Introduction

We have come a long way in the computing world. From computers that fill rooms and buildings to perform relatively basic actions, to complex machines that literally fit in your pocket or palm, this advance has been breathtaking. With an emphasis on speed and efficiency, computers and applications running on these computers are tuned to ensure optimal use of these resources, whether they are hardware or software resources. Over time, these optimization efforts have gradually moved to today's state-of-the-art technology. This is more physically apparent in computer hardware migrations over time, but is fully reflected in modern software development methodologies.

Containers are an embodiment of this modern software development methodology. Their self-contained nature facilitates resource optimization and allows parts or entire applications to coexist independently of each other on a single host. It's also host-independent, giving containerized applications unparalleled flexibility. It can literally "pick up" an application running in a "container" from one host and drop it on another host with a different underlying operating system, and it will continue to work perfectly. However, while containers are an innovative technology, they monitor applications running inside containers to better fine-tune performance and troubleshoot before or when errors occur. is needed.

Since Docker containers make up the bulk of the container ecosystem, this article will focus on container monitoring with a particular focus on Docker monitoring. This article is an introductory level article only. For more information, see Docker Monitoring Tools (https://www.metricfire.com/blog/docker-monitoring-tools/), Monitoring Docker Containers with cAdvisor (https://qiita.com/TomoEndo) Please see / items / 4aa2d9889c49148a3d7f).

MetricFire is built on the open source Prometheus, Graphite, and Grafana Surveillance software. We monitor Docker containers directly every day. If you're looking for a tool to help monitor Docker containers, MetricFire Please [Book a demo] to your team (https://www.metricfire.com/demo-japan/?utm_source=blog&utm_medium=Qiita&utm_campaign=Japan&utm_content=What%20is%20Docker%20Monitoring%3F). I'm sure they will support you.

Container and Docker

A container represents independent software that stores application code and all its dependencies as a single unit. This single unit is a lightweight, isolated, self-contained environment. This means that your application can run quickly and reliably, regardless of the computing environment in which it is housed. Containerized software is packaged in a self-contained unit (“container”), along with everything that a separate part of the application, or the entire application, needs to keep running and running normally. Sometimes it happens.

The container already contains everything you need, so these resources are independent of the host operating system. This abstraction allows a container to run virtually anywhere if the container engine / runtime is properly deployed.

There are many different container runtimes to choose from today, but the most popular and most widely adopted is Docker. Docker is simply an open source platform for developing, shipping and running containers. Docker allows developers to isolate application code and its dependencies, package them into containers, and deploy these containers where the Docker engine is running. It can be in your local environment, in the cloud, or anything in between.

Applications that can run in these containers can range from simple microservices to independent parts of the application, the entire application. there is. The possibilities are literally endless.

However, as with all software applications, you should also monitor the applications running inside the container. Monitor Software Applications (https://www.metricfire.com/blog/using-grafana-with-elasticsearch-tutorial/) keeps these applications healthy and ensures proper resource optimization. Essential for improving overall performance. This can be a collection of metrics (https://www.metricfire.com/blog/top-10-cadvisor-metrics-for-prometheus/) that indicates the performance of your application, or at any given time in your application. It can be run through an application log that provides all the details that are occurring.

This is fairly straightforward for traditional software applications, but due to the extra abstraction associated with containers, it may seem more difficult to monitor containerized applications.

However, when it comes to monitoring Docker containers, this assumption never applies. Docker offers a variety of out-of-the-box monitoring options by using the Docker Stats api or by allowing you to install a monitoring agent in a running container. All of these provide monitoring capabilities with minimal effort. In addition, Docker's immense popularity has facilitated integration with most major monitoring and alerting software.

Today, all major monitoring systems such as Prometheus, cAdvisor, ScoutAPM, Datadog, Sysdig, and MetricFire integrate seamlessly with Docker, making it easy to monitor Docker containers. As a result, some of the best of the surveillance systems mentioned above are combined as managed services into a single cloud-based application to take surveillance capabilities to a whole new level.

All these options cause another problem, the choice. How do you choose the best one for your Docker monitoring use case? This article aims to introduce you to the world of Docker Monitoring. To answer the question of your choice, see the Docker Monitoring Tools article (https://www.metricfire.com/blog/docker-monitoring-tools/).

Summary

Choosing the right tool makes it easy to monitor your Docker container. MetricFire is Easy integration with Docker It provides .metricfire.com/blog/top-10-cadvisor-metrics-for-prometheus/) so you can manage your Docker containers. For more information on Docker monitoring, see the MetricFire team's Demo please. Helps set up Docker monitoring.

Recommended Posts

Docker monitoring-explaining the basics of basics-
Understand the basics of docker
The basics of Swift's TableView
Docker basics
The basics of SpringBoot + MyBatis + MySQL
[Summary of technical books] Summary of reading "Learn Docker from the basics"
Understand the basics of Android Audio Record
The story of updating SonarQube's Docker Container
Now, I've summarized the basics of RecyclerView
Basics of Ruby
[day: 5] I summarized the basics of Java
Looking back on the basics of Java
What is JSP? ~ Let's know the basics of JSP !! ~
[Ruby] Summary of class definitions. Master the basics.
I understood the very basics of character input
Improve the performance of your Docker development environment
The basics of the App Store "automatic renewal subscription"
Change the location folder of Docker image & container
The world of clara-rules (2)
Introduction of Docker --Part 1--
Judgment of the calendar
The world of clara-rules (4)
The world of clara-rules (1)
The world of clara-rules (3)
Basics of try-with-resources statement
The world of clara-rules (5)
The idea of quicksort
The idea of jQuery
Volume 3 types of Docker Compose considered from the purpose
[For beginners] DI ~ The basics of DI and DI in Spring ~
I tried to summarize the state transition of docker
[For beginners] Quickly understand the basics of Java 8 Lambda
Docker the development environment of Ruby on Rails project
Verification of the relationship between Docker images and containers
I summarized the types and basics of Java exceptions
[WIP] I tried the configuration of Docker + Streama + NFS
SSL in the local environment of Docker / Rails / puma
[Ruby] Class nesting, inheritance, and the basics of self
Check the rate limit application status of docker pull
About the handling of Null
Overview of Docker and containers
[Rails] Introduction of devise Basics
Docker Compose basics and commands
[GCD] Basics of DispatchQueue class
Basics of character operation (java)
I tried to summarize the basics of kotlin and java
About simple operation of Docker
Install by specifying the version of Django in the Docker environment
[Docker] Introduction of basic Docker Instruction
About the description of Docker-compose.yml
[Docker] List of errors that occurred when building the environment
The play of instantiating java.lang.Void
I've only heard of Docker ...
A story packed with the basics of Spring Boot (solved)
Setting the baseURL in the axios module of Docker environment Nuxt
Nginx container that displays the Hostname of the host running Docker
Explanation of the FizzBuzz problem
Get only the ID of the container specified by docker ps
Decomposing the Docker run command. .. ..
I tried the Docker tutorial!
Summary of Java language basics