Raccogli metriche
L'agente Java APM supporta la raccolta periodica delle metriche del server applicazioni.
Dopo la distribuzione dell'agente Java APM, è possibile raccogliere i tipi di metriche riportati di seguito.
Parametri predefiniti
Le metriche predefinite sono metriche definite dal sistema disponibili per impostazione predefinita.
Per un set completo di metriche predefinite, vedere Metriche disponibili: oracle_apm_monitoring per APM Java Agent.
Parametri personalizzati
Le metriche personalizzate sono metriche definite dall'utente che possono essere create in aggiunta alle metriche predefinite esistenti per soddisfare requisiti specifici.
oracle-apm-agent/config/<version>
.
Il file MetricCollection.acml
è un file personalizzato in formato ACML (sottoinsieme di YAML) per la configurazione della raccolta di metriche personalizzate.
Tag ACML | Tipo di dati | descrizione; |
---|---|---|
<nome gruppo>: | stringa | Raggruppa per separare le metriche con raccolta start_time e intervallo diversi. |
<nome metrica>: | stringa | Nome della metrica da raccogliere. Un nome di metrica corrisponde a un solo valore. La convenzione di denominazione è una stringa in minuscolo separata da trattini. |
tipo: | stringa | Tipo di metrica. Può misurare o delta.
- misurazione: valore di runtime corrente. - delta: valore diverso tra l'intervallo di raccolta. |
scalare: | stringa | Tipo di valore numerico: può essere lungo o doppio. |
Origine: | Tag che rappresenta un array di voci di origine della metrica. Ogni metrica può contenere una o più voci di origine. Anche se esistono più voci di origine, ogni voce viene ordinata al momento della raccolta. Ogni volta che la voce può restituire un valore valido, viene utilizzata per la voce metrica e le altre voci di origine vengono ignorate. | |
- | Elemento array di voci di origine metrica. | |
tipo: | stringa | Tipo di origine della metrica. Può fagioli o fagioli.
Per la configurazione Per la configurazione |
mbean_name: | stringa | Nome oggetto MBean per il tipo di MBean o MBean. Per il tipo di MBean, il nome dell'oggetto può contenere un carattere jolly ( * ), ma il carattere jolly non è supportato per gli MBean. |
value_path: | stringa | Il percorso è separato dalla barra ( / ) per ottenere il valore dell'MBean. Il percorso del valore deve generare un valore numerico. Oltre al percorso radice che deve essere il nome attributo dell'oggetto MBean, il percorso di divisione può essere uno dei seguenti valori del percorso precedente:
Per il tipo di MBean, il valore di ogni oggetto MBean viene aggregato. Analogamente, se nel percorso del tipo di MBean viene utilizzato il carattere jolly ( *), vengono aggregati tutti i valori recuperati. |
operation_name | stringa | Nome del metodo MBean da richiamare. Si noti che MBean deve essere registererd con il server MBean della piattaforma. |
parametri (facoltativo) | stringa | Valori dei parametri di metodo separati da virgole.
I parametri del metodo passati e i relativi valori corrispondenti verranno acquisiti come dimensioni metrica. Attualmente, solo il tipo di dati String è supportato per i parametri del metodo. |
value_path
o operationName
.
- Attributo
value_path
: consente di estrarre la metrica dall'MBean registrato. - Attributo
operationName
: consente all'utente di registrare qualsiasi classe personalizzata con il server MBean e richiamare il metodo MBean specificato daoperationName
.
Esempio di utilizzo dell'attributo value_path
:
MyMetrics:
jvm-used-heap:
type: measurement
scalar: long
source:
-
type: mbean
mbean_name: java.lang:type=Memory
value_path: HeapMemoryUsage/used
jvm-used-heap-after-old-gc:
type: measurement
scalar: long
source:
-
type: mbeans
mbean_name: java.lang:type=GarbageCollector,name=*Old*
value_path: LastGcInfo/memoryUsageAfterGc/*/value/used
-
type: mbeans
mbean_name: java.lang:type=GarbageCollector,name=*MarkSweep*
value_path: LastGcInfo/memoryUsageAfterGc/*/value/used
Nell'esempio precedente, le metriche vengono raccolte all'inizio di ogni minuto. Le metriche da raccogliere sono due: jvm-heap-used
e jvm-used-heap-after-old-gc
.
Per jvm-heap-used
, esiste solo 1 origine che è mbean
. Il nome dell'oggetto MBean è java.lang:type=Memory
. Questo oggetto MBean ha un attributo HeapMemoryUsage
con tipo di dati CompositeDataSupport. Non è numerico e non può essere utilizzato come metrica. Tuttavia, rappresenta una mappa delle metriche da cui è possibile recuperare l'heap utilizzato, pertanto è necessario eseguire il drill-down all'oggetto con chiave mappa utilizzata.
Per jvm-used-heap-after-old-gc
, ha 2 fonti: mbeans
, entrambe sono al plurale con una 's'. La metrica viene raccolta nell'ordine per definizione e viene utilizzata la prima origine che restituisce una metrica valida. Il motivo di avere 2 origini è perché diverse versioni java hanno nomi di garbage collector diversi. Il drill-down value_path utilizza anche caratteri jolly e tutta la memoria utilizzata dopo i valori gc di tutti gli spazi di memoria viene sommata come un singolo valore di metrica. Il drill-down dei dati del percorso del valore è LastGcInfo/memoryUsageAfterGc/*/value/used
, che fa riferimento a: LastGcInfo(CompositeData)/memoryUsageAfterGc(TabularData)/<index>(CompositeData)/value(MemoryUsage)/used(Long)
.
Esempio di utilizzo dell'attributo operationName
:
MyMetrics:
CacheStatistics:
type: measurement
scalar: double
skippable: false
source:
- type: mbean
mbean_name:com.cache:type=CacheServiceMXBean
operation_name: cacheStatistics
params: SessionCache,JohnDoe
DatabaseQueryTime:
type: measurement
scalar: long
skippable: false
source:
- type: mbean
mbean_name: com.db:type=DbManagerMXBean
operation_name: dbQueryTime
Nell'esempio precedente, le metriche vengono raccolte all'inizio di ogni minuto. Le metriche da raccogliere sono due: CacheStatistics
e DatabaseQueryTime
. L'origine per questa configurazione MBean può essere solo MBean.
Per CacheStatistics, il nome dell'oggetto MBean è com.cache:type=CacheServiceMXBean
. Il metodo da richiamare è cacheStatistics
. L'operazione recupera le statistiche della cache per il nome cache specificato, filtrate in base al relativo utente specifico. SessionCache
e JohnDoe
sono i valori dei parametri rispettivamente per CacheName e UserName. L'utente può creare una mappa di attributi utili come AssociatedCacheName
, CacheHits
, CacheMisses
, InMemoryHits
, OnDiskHits
come dimensioni e restituirla come parte dei tipi restituiti supportati come descritto di seguito insieme ai valori corrispondenti.
Per DatabaseQueryTime, il nome dell'oggetto MBean è com.db:type=DbManagerMXBean
. Il metodo da richiamare è dbQueryTime
. Nessun parametro configurato per questo MBean.
- Mappa<Mappa<String, Object>, Long>
- Mappa<Map<String, Object>, Double>
- Long
- doppio