About Prometheus based Application Performance
The Prometheus is an open-source system monitoring and alerting toolkit with the defined usage of metrics. OvalEdge is integrated with the Prometheus tool to monitor the application performance. OvalEdge performance needs to be monitored in testing and deployment environments.
The various performance parameters of OvalEdge have to be monitored in different environments:
- Production environment. In a production environment, a close watch has to be kept on OvalEdge application performance in addition to the system parameters, to detect issues and upgrade infrastructure as needed. This is also critical to be able to add auto-scaling capabilities in containerized environments.
- Test environments. This will help in detecting performance bugs and fixing them before releasing the product to users.
From a Prometheus perspective, OvalEdge requires the following types of instrumentation :
- Service Instrumentation. OvalEdge has a web interface with which users interact. The instrumentation should cover RED metrics: Rate, Errors, and Duration.
- Batch Jobs Instrumentation. OvalEdge executes batch jobs on a schedule for activities like crawling, profiling, rules compliance, etc., and has a web interface with which users interact. The instrumentation can use either:
- The service instrumentation approach mentioned above, which is recommended as OvalEdge has the middleware necessary to report the same or
- Use the Pushgateway technique to report metrics, at the end of each job(duration, size, result, etc.)
Note: OvalEdge jobs are idempotent by design (a failed job can be rerun with any additional inputs to achieve the same or similar result). Hence the number of tries before a job succeeds can also become an important metric.
Note: OvalEdge does not do any offline services (continuous in nature) and hence does not need to be instrumented for USE method metrics: Utilization, Saturation, and Errors.
Prometheus Metrics Examples
Metrics can help to understand the behavior and working of the web application. Metrics records all the timestamps or series of jobs changes recorded over time.
The list of tasks executed will be displayed according to the type of metrics chosen.
Example 1
The ‘Ovaledge_requests_total’ will report application UI response times to Prometheus. Service based requests like latency. It will show which URL took how much time. The average rate or time is taken by URL. It will display all details of each URL in the form of a graph and also that how much time it has taken and the response time of each URL.
Example 2
The ‘OvalEdge.user’ matrix displays the number of active user in the OvalEdge application.
Example 3
The ‘ovaledge_jobs_crawling_total’ matrix will report the application Job load and job execution time metrics to Prometheus in the OvalEdge application.
Configuration
The OvalEdge application should be configured first with Prometheus. Once the configuration setup is completed with Prometheus, the user can see the list of jobs or tasks that can be monitored closely.
Copyright © 2019, OvalEdge LLC, Peachtree Corners GA USA