Skip to content

9.2. Monitoring Integration

When to Look at This

  • When you need to know "since when has it been slow"
  • When searching the logs of several pods at once
  • When retracing a past failure
  • When you need to see which code inside the application is slow

The Limits of What the Console Shows

The Console is the Kubernetes API wrapped in a screen. The API reports the current state; it does not retain past records.

InformationIn the Console
Current CPU and memory usageAvailable
Usage an hour agoNot available
Logs of pods currently upAvailable
Logs of deleted podsNot available
Recent eventsAvailable (within the retention period)
Last week's eventsNot available
Which services one request passed throughNot available
Which SQL statement is slowNot available

Seeing the past, or seeing inside the application, requires a separate system that collects and retains the data.

COP's Two Monitoring Products

COP provides two products of different character. They are separate products with separate screens.

ProductWhat it coversThe question it answers
OPENMARU ObservabilityThe cluster and the workloads on it"Is the cluster healthy, and which service has a problem"
OPENMARU APMInside the application"What is slow inside that service"

The usual order is narrowing the scope with Observability and finding the cause with APM.

OPENMARU Observability

This is the cluster observation product. It retains and displays Kubernetes resources such as nodes, pods, and services, and the relationships between them, over time.

What differs from the Console is that it has a time axis. The Console shows the current value; Observability shows how that value has changed.

The main screens are as follows.

ScreenWhat it shows
Cluster dashboardResource usage trends, pod placement, events
Topology mapCall relationships between services
ApplicationsResponse time, error rate, and throughput per service
Distributed tracingThe path one request took through several services
Log viewerSearching the logs of several pods at once
IncidentsFailure history and cause analysis
SRE reportStability metrics per period

The Observability Dashboard

Observability cluster dashboard

It looks similar to the Console overview screen (see 2.1), but it holds different things.

ElementDescription
Resource gaugesCPU, memory, disk, and pod utilization
Cluster summaryCounts of nodes, pods, workloads, and incidents
Namespace resource distributionHow much each namespace uses, shown by area
POD mapEach pod drawn as one rectangle, showing the whole state at a glance
Top resource consumersA ranking of the heaviest pods
Cluster eventsRecent events
Resource trendsUsage change over time

The namespace resource distribution and the POD map are what the Console lacks. You can check the state of hundreds of pods on one screen, and which team uses the most resources is immediately visible by area.

Distributed Tracing

Observability distributed tracing

It shows the path one request took through several services and how long each segment took.

Use it in a microservices environment when a "it is slow" report comes in and you have to find which service segment is the cause. The Console's pod logs cannot show a flow that crosses services.

When to use itDescription
When you do not know which service is the bottleneckCompare the time per segment
When only certain requests are slowFind that request's trace and look at its path
Where an error startedPinpoint the segment where the error occurred

OPENMARU APM

This is the application performance management product. It looks at what happens inside the application.

Where Observability tells you "which service is slow", APM tells you what is slow inside that service.

What it showsExample
TransactionsThe processing time and status of each individual request
SQLWhich query took how long
JVMHeap usage, GC occurrences, thread state
External callsTime spent calling other systems
ErrorsWhere the exception occurred

The APM Dashboard

APM dashboard
ElementDescription
Real-time active usersThe number of requests being processed now
Transaction heat map (T-Map)Response time and throughput scattered as points
TPSTransactions per second
Average response timeThe response time trend
JVM heap usageMemory state
Error rateThe proportion of failed requests

The T-Map is APM's distinctive screen. Each point is one request, and its vertical position is the response time. Slow requests gather at the top, so patterns can be recognized by eye.

Transaction Detail

Opening one slow request shows what happened inside that request. This is the screen where APM differs most from other tools.

APM transaction detail
SectionWhat it shows
Transaction overviewWhich request it was, the response time, the caller, the start and end times
Problem detectionThe cause APM identified on its own, and the grounds for it
Time analysisThe response time broken down by CPU, SQL, external calls, and data retrieval

The tabs at the top of the screen give more detail.

TabContent
Performance analysisCandidate causes and the time breakdown
Call flowThe order of method calls and the time each step took
Headers · cookies · parametersThe values carried in the request
AI performance diagnosisCause estimation and suggested remedies

The time analysis narrows the cause. For example, if SQL accounts for 99.9% of a three-second request, you have to look at the database rather than the application code. If most of it is CPU time, the reverse.

This level of information cannot be obtained from the Console or Observability. It requires an agent inside the application.

How to Divide Work Between Them

This is the order when a failure occurs.

OrderWhereWhat you learn
1ConsoleWhether the pod is up, whether it restarted recently
2ObservabilitySince when, and which service is slow
3APMWhat is slow inside that service (SQL, GC, external calls)

You descend, narrowing the scope. Starting with APM leaves you unable to decide which application to look at.

Moving There From the Console

Move there from Tools in the Console's left menu (see 9.3). Selecting a card opens it in a new tab.

Because they use the same integrated authentication, you do not have to sign in again. Keep all three screens open as tabs and move between them.

Both products are configured when COP is installed. No separate installation is required.

What to Look at Where

What you want to knowWhere to look
Whether a pod is up nowConsole (see 3.1)
Why it terminated just nowPod logs and events in the Console
Whether to roll back a deploymentConsole (see 3.2)
Since when it has been slowObservability resource trends
The logs of a pod that terminated yesterdayObservability log viewer
Which service is the bottleneckObservability distributed tracing
How much to increase resourcesObservability resource trends
Which SQL statement is slowAPM
Whether memory is leakingThe APM JVM screen
Why only certain user requests are slowAPM transactions

Start with the Console for a failure in progress, and with Observability for a past one — that is faster.

Event Retention

Kubernetes events disappear after about an hour by default. This keeps events from filling the cluster store.

To see events from a failure later, check them at the time, or collect them with cluster diagnostics (see 2.3). Observability collects and retains events separately, so they can be queried after the period has passed.

For detailed usage, see each product's user manual.