How to design a system to visualize critical business metrics and KPI’s for proprietary database applications using Docker, Grafana, Prometheus and custom Java EE ThinWAR agent.
Presentation for Docker Athens meetup group, given Jul 5 2017 by Vasilis Stergioulis of InsurIT Advisors
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...Brian Brazil
Often what you monitor and get alerted on is defined by your tools, rather than what makes the most sense to you and your organisation. Alerts on metrics such as CPU usage which are noisy and rarely spot real problems, while outages go undetected. Monitoring systems can also be challenging to maintain, and overall provide a poor return on investment.
In the past few years several new monitoring systems have appeared with more powerful semantics and which are easier to run, which offer a way to vastly improve how your organisation operates Prometheus is one such system. This talk will look at the monitoring ideal and how whitebox monitoring with a time series database, multi-dimensional labels and a powerful querying/alerting language can free you from midnight pages.
What does "monitoring" mean? (FOSDEM 2017)Brian Brazil
Monitoring can mean very different things to different people, and this often leads to confusion and misunderstandings. There are many offerings both free software and commercials, and it's not always clear where each fits in the bigger picture. This talk will look a bit at the history of monitoring, and then into the general categories of Metrics, Logs, Profiling and Distributed tracing and how each of these is important in Cloud-based environment.
Video: https://www.youtube.com/watch?v=hCBGyLRJ1qo
Prometheus is a next-generation monitoring system. It lets you see you not just what your systems look like from the outside, but also gives visibility into the internals and business aspects of your systems. This allows everyone to benefit, including both operations and developers. This talk will look at the concepts behind monitoring with Prometheus, how it's designed, why it's suitable for Cloud Native environments and how you can get involved.
Cloud Native Night August 2016, Munich: Talk by Julius Volz (@juliusvolz, Co-founder at Prometheus).
Join our Meetup: www.meetup.com/cloud-native-muc
Abstract: This talk is on monitoring dynamic cloud environments with Prometheus.
Microservices architecture involves many services that are being distributed over the network resulting in many more ways of failure. This session will try to cover the available tools that can help you when designing/building such distributed system in Go
Evolution of Monitoring and Prometheus (Dublin 2018)Brian Brazil
This talk looks at the evolution of monitoring over time, the ways in which you can approach monitoring, where Prometheus fit into all this, and how Prometheus itself has grown over time.
Counting with Prometheus (CloudNativeCon+Kubecon Europe 2017)Brian Brazil
Counters are one of the two core metric types in Prometheus, allowing for tracking of request rates, error ratios and other key measurements. Learn why are they designed the way they are, how client libraries implement them and how rate() works.
If you'd like more information about Prometheus, contact us at prometheus@robustperception.io
Monitoring What Matters: The Prometheus Approach to Whitebox Monitoring (Berl...Brian Brazil
Often what you monitor and get alerted on is defined by your tools, rather than what makes the most sense to you and your organisation. Alerts on metrics such as CPU usage which are noisy and rarely spot real problems, while outages go undetected. Monitoring systems can also be challenging to maintain, and overall provide a poor return on investment.
In the past few years several new monitoring systems have appeared with more powerful semantics and which are easier to run, which offer a way to vastly improve how your organisation operates Prometheus is one such system. This talk will look at the monitoring ideal and how whitebox monitoring with a time series database, multi-dimensional labels and a powerful querying/alerting language can free you from midnight pages.
What does "monitoring" mean? (FOSDEM 2017)Brian Brazil
Monitoring can mean very different things to different people, and this often leads to confusion and misunderstandings. There are many offerings both free software and commercials, and it's not always clear where each fits in the bigger picture. This talk will look a bit at the history of monitoring, and then into the general categories of Metrics, Logs, Profiling and Distributed tracing and how each of these is important in Cloud-based environment.
Video: https://www.youtube.com/watch?v=hCBGyLRJ1qo
Prometheus is a next-generation monitoring system. It lets you see you not just what your systems look like from the outside, but also gives visibility into the internals and business aspects of your systems. This allows everyone to benefit, including both operations and developers. This talk will look at the concepts behind monitoring with Prometheus, how it's designed, why it's suitable for Cloud Native environments and how you can get involved.
Cloud Native Night August 2016, Munich: Talk by Julius Volz (@juliusvolz, Co-founder at Prometheus).
Join our Meetup: www.meetup.com/cloud-native-muc
Abstract: This talk is on monitoring dynamic cloud environments with Prometheus.
Microservices architecture involves many services that are being distributed over the network resulting in many more ways of failure. This session will try to cover the available tools that can help you when designing/building such distributed system in Go
Evolution of Monitoring and Prometheus (Dublin 2018)Brian Brazil
This talk looks at the evolution of monitoring over time, the ways in which you can approach monitoring, where Prometheus fit into all this, and how Prometheus itself has grown over time.
Counting with Prometheus (CloudNativeCon+Kubecon Europe 2017)Brian Brazil
Counters are one of the two core metric types in Prometheus, allowing for tracking of request rates, error ratios and other key measurements. Learn why are they designed the way they are, how client libraries implement them and how rate() works.
If you'd like more information about Prometheus, contact us at prometheus@robustperception.io
Prometheus: From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)Brian Brazil
From its humble beginnings right here in Berlin in 2012, the Prometheus monitoring system has grown a substantial community with a comprehensive set of integrations. This talk will go over the core ideas behind Prometheus, give a brief tour of its end-to-end feature set and show how these combine with other CNCF projects to allow you to scale your systems and culture in a dynamic cloud native world.
If you're looking for help with Prometheus, contact us at prometheus@robustperception.io
Better Monitoring for Python: Inclusive Monitoring with Prometheus (Pycon Ire...Brian Brazil
Monitoring should be part of your solution, not a problem. This lightening talk takes a brief look at the ideas behind Inclusive Monitoring and how to use them with Python.
Provisioning and Capacity Planning (Travel Meets Big Data)Brian Brazil
Ever worried that you’ll have an outage someday because your production servers can’t handle increased user traffic?
Then this workshop will help put you at ease! Learn the foundations and how to apply it to your services.
At the end of the workshop you will be able to:
– Estimate how much spare capacity you have in less than 5 minutes
– Estimate how much runway that capacity provides
– Determine how many servers you need
– Spot common potential problems as you scale
Everything You wanted to Know About Distributed TracingAmuhinda Hungai
In the age of microservices, understanding how applications are executing in a highly distributed environment can be complicated. Looking at log files only gives a snapshot of the whole story and looking at a single service in isolation simply does not give enough information. Each service is just one side of a bigger story. Distributed tracing has emerged as an invaluable technique that succeeds in summarizing all sides of the story into a shared timeline. Yet deploying it can be quite challenging, especially in the large scale, polyglot environments of modern companies that mix together many different technologies. During this session, we will take a look at patterns and means to implement Tracing for services. After introducing the basic concepts we will cover how the tracing model works, and how to safely use it in production to troubleshoot and diagnose issues.
Monitoring Cloud Native Applications with PrometheusJacopo Nardiello
This talk is a quick intro to Prometheus with an overview on all its components. The presentation points to a generally available demo so that you can see all its components in action.
The monolith to cloud-native, microservices evolution has driven a shift from monitoring to observability. OpenTelemetry, a merger of the OpenTracing and OpenCensus projects, is enabling Observability 2.0. This talk gives an overview of the OpenTelemetry project and then outlines some production-proven architectures for improving the observability of your applications and systems.
Container environments make it easy to deploy hundreds of microservices in today’s infrastructures. Monitoring thousands of metrics efficiently introduces new challenges to not lose insight, avoid alert fatigue and maintain a high development velocity. In this talk I’ll present an overview of important metrics including the 4 golden signals, discuss strategies to organize alerting efficiently, give insight into SoundCloud’s monitoring history and highlight a few success and failure stories.
Observability and more architecture next 2020Alon Fliess
You have a mature development process, and you also embrace DevOps. Your development team uses agile methodology. You use Git, and you have a continuous dev, test, deployment, everything process. But do you sleep well at night? Do you know that your services are up and running? That there are no availability, performance, and stability problems? Do you know if your customers are happy?
The answer to all of those questions is precisely what APM systems provide.
Application Performance Monitoring systems have become the IDE of the Site Reliability Engineers (SRE) and, as a matter of fact, for the all DevOps team, including the Dev part. In this lecture, you will get to know the essence of the APM systems, the good, the bad, and the vision about their future.
Anatomy of a Prometheus Client Library (PromCon 2018)Brian Brazil
Prometheus client libraries are notably different from most other options in the space. In order to get the best insights into your applications it helps to know how they are designed, and why they are designed that way. This talk will look at how client libraries are structured, how that makes them easy to use, some tips for instrumentation, and why you should use them even if you aren't using Prometheus.
Solving the Hidden Costs of Kubernetes with ObservabilityDevOps.com
Kubernetes has enabled software organizations to realize the benefits of microservices through its convenient and powerful abstractions. Deploying, scaling, and running distributed software at scale is much easier through the use of Kubernetes.
However, these benefits have not come without costs compared to traditional software operations. Spiraling monitoring expenses, the creation of single points of human failure, and a lack of understanding of service dependencies all contribute to significant hidden costs associated with running software with Kubernetes.
In this talk, we’ll discuss how observability addresses these costs and helps you quantify and understand them. You’ll learn how new open source tools such as OpenTelemetry can help you understand performance of cloud-native software, and how you can easily get started using them today. Come be a part of the future of cloud-native observability!
While microservices are becoming the norm due to advancements in development, deployment and monitoring techniques in the last few years, we are still using the same testing methodologies we used for monolithic apps. In this talk, we look at how distributed tracing can be applied to testing modern, distributed applications, from unit to end-to-end tests, to continuously give developers invaluable insight on how entire applications behave, and when and why they fail, before they are deployed to production. We'll also discuss the power of distributed context propagation and how it can be leveraged for testing purposes, from safely testing in production to failure injection.
The monolith to cloud-native, microservices evolution has driven a shift from monitoring to observability. OpenTelemetry, a merger of the OpenTracing and OpenCensus projects, is enabling Observability 2.0. This talk covers the fundamental concepts of observability and then demonstrates how to instrument your applications using the OpenTelemetry libraries.
Evolution of the Prometheus TSDB (Percona Live Europe 2017)Brian Brazil
Prometheus is a monitoring system with a custom time series database at its core. Prometheus 2.0 features the 3rd major iteration of this database. This talk will look at how it has evolved, and how it fits into the goal of doing metrics-based monitoring.
WSO2- OSC Korea - Accelerating Digital Businesses with APIsWSO2
APIs are taking over every vertical out there with its standards, reusability, and simplicity that are required to operate in the present world. However as the number of APIs grows along with the users who access and use these APIs, the need for proper management and governance is required more than ever.
Prometheus: From Berlin to Bonanza (Keynote CloudNativeCon+Kubecon Europe 2017)Brian Brazil
From its humble beginnings right here in Berlin in 2012, the Prometheus monitoring system has grown a substantial community with a comprehensive set of integrations. This talk will go over the core ideas behind Prometheus, give a brief tour of its end-to-end feature set and show how these combine with other CNCF projects to allow you to scale your systems and culture in a dynamic cloud native world.
If you're looking for help with Prometheus, contact us at prometheus@robustperception.io
Better Monitoring for Python: Inclusive Monitoring with Prometheus (Pycon Ire...Brian Brazil
Monitoring should be part of your solution, not a problem. This lightening talk takes a brief look at the ideas behind Inclusive Monitoring and how to use them with Python.
Provisioning and Capacity Planning (Travel Meets Big Data)Brian Brazil
Ever worried that you’ll have an outage someday because your production servers can’t handle increased user traffic?
Then this workshop will help put you at ease! Learn the foundations and how to apply it to your services.
At the end of the workshop you will be able to:
– Estimate how much spare capacity you have in less than 5 minutes
– Estimate how much runway that capacity provides
– Determine how many servers you need
– Spot common potential problems as you scale
Everything You wanted to Know About Distributed TracingAmuhinda Hungai
In the age of microservices, understanding how applications are executing in a highly distributed environment can be complicated. Looking at log files only gives a snapshot of the whole story and looking at a single service in isolation simply does not give enough information. Each service is just one side of a bigger story. Distributed tracing has emerged as an invaluable technique that succeeds in summarizing all sides of the story into a shared timeline. Yet deploying it can be quite challenging, especially in the large scale, polyglot environments of modern companies that mix together many different technologies. During this session, we will take a look at patterns and means to implement Tracing for services. After introducing the basic concepts we will cover how the tracing model works, and how to safely use it in production to troubleshoot and diagnose issues.
Monitoring Cloud Native Applications with PrometheusJacopo Nardiello
This talk is a quick intro to Prometheus with an overview on all its components. The presentation points to a generally available demo so that you can see all its components in action.
The monolith to cloud-native, microservices evolution has driven a shift from monitoring to observability. OpenTelemetry, a merger of the OpenTracing and OpenCensus projects, is enabling Observability 2.0. This talk gives an overview of the OpenTelemetry project and then outlines some production-proven architectures for improving the observability of your applications and systems.
Container environments make it easy to deploy hundreds of microservices in today’s infrastructures. Monitoring thousands of metrics efficiently introduces new challenges to not lose insight, avoid alert fatigue and maintain a high development velocity. In this talk I’ll present an overview of important metrics including the 4 golden signals, discuss strategies to organize alerting efficiently, give insight into SoundCloud’s monitoring history and highlight a few success and failure stories.
Observability and more architecture next 2020Alon Fliess
You have a mature development process, and you also embrace DevOps. Your development team uses agile methodology. You use Git, and you have a continuous dev, test, deployment, everything process. But do you sleep well at night? Do you know that your services are up and running? That there are no availability, performance, and stability problems? Do you know if your customers are happy?
The answer to all of those questions is precisely what APM systems provide.
Application Performance Monitoring systems have become the IDE of the Site Reliability Engineers (SRE) and, as a matter of fact, for the all DevOps team, including the Dev part. In this lecture, you will get to know the essence of the APM systems, the good, the bad, and the vision about their future.
Anatomy of a Prometheus Client Library (PromCon 2018)Brian Brazil
Prometheus client libraries are notably different from most other options in the space. In order to get the best insights into your applications it helps to know how they are designed, and why they are designed that way. This talk will look at how client libraries are structured, how that makes them easy to use, some tips for instrumentation, and why you should use them even if you aren't using Prometheus.
Solving the Hidden Costs of Kubernetes with ObservabilityDevOps.com
Kubernetes has enabled software organizations to realize the benefits of microservices through its convenient and powerful abstractions. Deploying, scaling, and running distributed software at scale is much easier through the use of Kubernetes.
However, these benefits have not come without costs compared to traditional software operations. Spiraling monitoring expenses, the creation of single points of human failure, and a lack of understanding of service dependencies all contribute to significant hidden costs associated with running software with Kubernetes.
In this talk, we’ll discuss how observability addresses these costs and helps you quantify and understand them. You’ll learn how new open source tools such as OpenTelemetry can help you understand performance of cloud-native software, and how you can easily get started using them today. Come be a part of the future of cloud-native observability!
While microservices are becoming the norm due to advancements in development, deployment and monitoring techniques in the last few years, we are still using the same testing methodologies we used for monolithic apps. In this talk, we look at how distributed tracing can be applied to testing modern, distributed applications, from unit to end-to-end tests, to continuously give developers invaluable insight on how entire applications behave, and when and why they fail, before they are deployed to production. We'll also discuss the power of distributed context propagation and how it can be leveraged for testing purposes, from safely testing in production to failure injection.
The monolith to cloud-native, microservices evolution has driven a shift from monitoring to observability. OpenTelemetry, a merger of the OpenTracing and OpenCensus projects, is enabling Observability 2.0. This talk covers the fundamental concepts of observability and then demonstrates how to instrument your applications using the OpenTelemetry libraries.
Evolution of the Prometheus TSDB (Percona Live Europe 2017)Brian Brazil
Prometheus is a monitoring system with a custom time series database at its core. Prometheus 2.0 features the 3rd major iteration of this database. This talk will look at how it has evolved, and how it fits into the goal of doing metrics-based monitoring.
WSO2- OSC Korea - Accelerating Digital Businesses with APIsWSO2
APIs are taking over every vertical out there with its standards, reusability, and simplicity that are required to operate in the present world. However as the number of APIs grows along with the users who access and use these APIs, the need for proper management and governance is required more than ever.
Keynote : évolution et vision d'Elastic ObservabilityElasticsearch
Elastic Observability aide les organisations à faire tendre vers zéro le temps moyen de résolution avec une visibilité complète de toutes les opérations technologiques sur une seule plateforme. Découvrez les dernières fonctionnalités et capacités à tous les niveaux, de l'ingestion aux données, tandis que les leaders de produits qui conçoivent Elastic Observability lèvent le voile sur son avenir.
How should IT architecture look like in the ages of Cloud and Devops? How do the changes and the technological evolution of the last years affect our systems and processes? Why is innovation and digitalization important? What means 'cloud-native', how should I build my solutions? To anwer these questions we will look at the "Big Five": Microservices and Containers, cloud and DevOps and finally BigData, IoT and last-but-not-least artificial intelligence.
Single Source of Truth for Network AutomationAndy Davidson
The importance of building a single source of truth for information within your organisation, when you embark upon a network automation project. Simply automating router configuration steps is not "network automation".
Real-time analysis using an in-memory data grid - Cloud Expo 2013ScaleOut Software
ScaleOut technical session at Cloud Expo 2013 in NY. Covers the use of in-memory data grids for real-time analysis of fast-changing data. Includes a financial services example.
What serverless means for enterprise appsSumit Sarkar
There’s a new approach to app development ripe with misconceptions and more buzzwords to translate to business sponsors. Industry analysts call it serverless, but it’s also known as backend as a service (BaaS), function as a service (FaaS), cloud-native architectures, or microservices—just to name a few. Whatever you call it, this approach is giving developers new freedom to focus on frontend functionality and deliver better, more innovative user experiences and ultimately establish value faster. Let’s discuss the pros and cons of serverless in enterprise architectures.
AdroitLogic Product Catalog
• UltraESB-X - Enterprise Service Bus
• UltraStudio - IDE for integration flow designing
• IMonitor-X - Monitor your UltraESB-X servers / clusters
• IPS - Containerized Integration (deployment) Platform
• AS2Gateway / AS2Station - B2B electronic message
exchange as a service / on-premise
Why Integration?
What is UltraESB-X?
• Gaining an edge in performance
Why UltraStudio?
• IDE for designing, testing and debugging Integration Solutions to be deployed in UltraESB-X and IPS
Why IMonitor-X?
• Web console to monitor and manage the UltraESB-X servers / clusters
Why IPS?
• Containerized Deployment Platform for Integration Solutions built by UltraStudio
• Integration on Containers
• Cost Advantage
AS2?
• Hosted service which facilities electronic message exchange over AS2 protocol
• AS2Gateway simplifies the business
AS2Station
• AS2Station is the single station, on-premise version of the AS2Gateway that can be deployed with other integrations to automate AS2 processing
https://www.adroitlogic.com
https://developer.adroitlogic.com
Weave GitOps - continuous delivery for any KubernetesWeaveworks
Weave GitOps is a continuous delivery product to run apps in any Kubernetes. Weave GitOps accelerates the cloud native transformation empowering developers and creating a meaningful connection between infrastructure and business objectives.
Cloud native companies are faster, more resilient, fulfill market needs better than the competition and even create new markets with less upfront investment. How? By delivering applications to Kubernetes and by continuously operating in multi cloud environments. Weave GitOps strives to make these processes reliable, secure and repeatable at scale by allowing developers and operators to collaborate in a single place, Git.
We’ve rearranged our portfolio to offer one product with two tiers: a free and open source product called Weave GitOps Core and a paid tier called Weave GitOps Enterprise (previously called Weave Kubernetes Platform, our flagship product).
Duo World was a cloud-based software development platform (PaaS) where developers can register on the platform and start developing applications. I did this presentation to highlight the architectural aspects of the platform.
Similar to Business metrics visualization with Grafana and Prometheus (20)
As Europe's leading economic powerhouse and the fourth-largest hashtag#economy globally, Germany stands at the forefront of innovation and industrial might. Renowned for its precision engineering and high-tech sectors, Germany's economic structure is heavily supported by a robust service industry, accounting for approximately 68% of its GDP. This economic clout and strategic geopolitical stance position Germany as a focal point in the global cyber threat landscape.
In the face of escalating global tensions, particularly those emanating from geopolitical disputes with nations like hashtag#Russia and hashtag#China, hashtag#Germany has witnessed a significant uptick in targeted cyber operations. Our analysis indicates a marked increase in hashtag#cyberattack sophistication aimed at critical infrastructure and key industrial sectors. These attacks range from ransomware campaigns to hashtag#AdvancedPersistentThreats (hashtag#APTs), threatening national security and business integrity.
🔑 Key findings include:
🔍 Increased frequency and complexity of cyber threats.
🔍 Escalation of state-sponsored and criminally motivated cyber operations.
🔍 Active dark web exchanges of malicious tools and tactics.
Our comprehensive report delves into these challenges, using a blend of open-source and proprietary data collection techniques. By monitoring activity on critical networks and analyzing attack patterns, our team provides a detailed overview of the threats facing German entities.
This report aims to equip stakeholders across public and private sectors with the knowledge to enhance their defensive strategies, reduce exposure to cyber risks, and reinforce Germany's resilience against cyber threats.
Explore our comprehensive data analysis project presentation on predicting product ad campaign performance. Learn how data-driven insights can optimize your marketing strategies and enhance campaign effectiveness. Perfect for professionals and students looking to understand the power of data analysis in advertising. for more details visit: https://bostoninstituteofanalytics.org/data-science-and-artificial-intelligence/
Business metrics visualization with Grafana and Prometheus
1. Business metrics visualization with Grafana and Prometheus
Vasilis Stergioulis @vas_stergioulis
2017-07-05 Docker Athens meetup
2. InsurIT AdvisorsInsurIT Advisors 22
A system architect, senior software engineer that really enjoys writing code, with many years of expertise in
the private insurance sector, deep knowledge of the private insurance system, intermediaries and distribution
networks and enterprise-level challenges.
With experience in the operations of insurance and reinsurance companies operating in the European Union
and the European Economic Area under the directive of Solvency II framework.
Participates in the Java Community Process (JCP) Program as Associate Member and focusing on Java EE
applications.
Vasilis Stergioulis, @vas_stergioulis
Founder / Software Engineer at InsurIT Advisors
linkedin.com/in/vassterg
github.com/vassterg
gitlab.com/vassterg
facebook.com/vstergioulis
vassterg@insuritadvisors.com
3. InsurIT AdvisorsInsurIT Advisors 3
Agenda
• Big datasets and analytics
• Real time business intelligence
• Time series metrics, monitoring
• Prometheus, Grafana
• Data instrumentation and collector agent
• Docker use
3
4. InsurIT AdvisorsInsurIT Advisors 4
Big datasets and analytics
• OLTP, OLAP, BI Analytics, Replicas etc
• Big data volumes, hard to digest
• Need data scientists, not for business users
• Time constraints limit real time performance
• Data usually need transformations
4
5. InsurIT AdvisorsInsurIT Advisors 5
Real time business intelligence
• Need a way to look inside systems
• Measure:
– critical data counters and execution times
– business values and components
– rates of business changes and events
• In real time with minimal impact on inspected systems
5
6. InsurIT AdvisorsInsurIT Advisors 6
Time series metrics, monitoring
• Instrument in business boundaries
• Profile execution of services
• Gather data point metrics
• Data points as rows of key-values in one table
• Collect table data as snapshot of system state
• Convert snapshot to time series
• Process and display data
6
7. InsurIT AdvisorsInsurIT Advisors 7
Prometheus
• Time series metrics, monitoring
• Multidimensional (with labels)
• Self contained, self tuned
• Graphs, rules, alerts
• Grafana support
7
8. InsurIT AdvisorsInsurIT Advisors 8
Grafana
• Beautiful analytics and monitoring
• Open source platform
• Multiple datasources, panels, dashboards
• Query, visualize, alert on and understand metrics
8
9. InsurIT AdvisorsInsurIT Advisors 9
Instrumentation code
• A table to hold current values of metrics
• Simple operations, increment and set
• Autonomous transactions
• Minimum overhead
• Counters, gauges and summaries
• Measure values, time and errors
9
11. InsurIT AdvisorsInsurIT Advisors 11
procedure some_proc(some_param varchar2) is
start timestamp := now();
begin
// … do some business things
metrics.incr_metric(‘someproc_time_total’, timer(start, systimestamp));
metrics.incr_metric(‘someproc_total’);
metrics.incr_metric(‘otherservice_invocations’);
exception
when others then
metrics.incr_metric(‘someproc_time_total’, timer(start, systimestamp));
metrics.incr_metric(‘someproc_failures’);
metrics.incr_metric(‘someproc_total’);
// … exception handling code
end;
Example code in plsql
12. InsurIT AdvisorsInsurIT Advisors 12
Collector agent
• Simple REST API
• Load and transform metrics
• Exposes as TEXT or JSON via GET
• Async with pooled db connections
• Very simple service, typical 4 KB WAR file
• One service on one application server
• Deployed as autonomous container
12
13. InsurIT AdvisorsInsurIT Advisors 13
Collector agent (cont.)
• No uber jar creation
• UltraThin war to docker image
• Pushed to remote registry in seconds
• Fast build automation pipelines
mvn clean package && docker build … && docker push
13
15. InsurIT AdvisorsInsurIT Advisors 15
Docker use
●
Every service layer is built and tested in each own container
as a component
●
Docker-compose is used to bundle components into
service(s)
●
Prometheus and Grafana can be in separate data centers
●
Collector agent can be near databases exposing only their
interface to outside world and protecting, through pooling, the
access to internal database
15
16. InsurIT AdvisorsInsurIT Advisors 16
References
Docker registry for images and source files
https://hub.docker.com/u/insurit/ and https://github.com/insuritadvisors/dockerdom
Source code for collector agent and database tooling
https://github.com/insuritadvisors/sql_exporter
Prometheus - Monitoring system and time series database
https://prometheus.io/ and https://github.com/prometheus
Grafana - The open platform for analytics and monitoring
https://grafana.com/ and https://github.com/grafana/grafana
Java EE - Java Enterprise Edition
http://oracle.com/javaee and https://github.com/javaee and https://jcp.org