9.0 KiB
Metric | Databases |
---|---|
Metrics |
are stored in 2 different database types: |
|
ite time series database |
Graphite |
resql relational database |
|
te](https://graphiteapp.org/) is an open-source enterprise-ready |
|
ries database. ApiMon, EpMon, and CloudMon data are stored in the |
|
ed Graphite TSDB. Metrics emitted by the processes are gathered in the |
|
statsd processes which aggregate metrics to 10s precision. |
+------- | --------------+-----------------------------------------------------------------------------------------------+ |
P |
arameter | Value | |
+======= | ==============+===============================================================================================+ |
Grafan |
a Datasource | apimon-carbonapi | |
+------- | --------------+-----------------------------------------------------------------------------------------------+ |
Databa |
se type | time series | |
+------- | --------------+-----------------------------------------------------------------------------------------------+ |
Main n |
amespace | stats | |
+------- | --------------+-----------------------------------------------------------------------------------------------+ |
Metric |
|
|
|
|
|
+------- | --------------+-----------------------------------------------------------------------------------------------+ |
Databa |
se attributes | "timers", "counters", "environment name", "monitoring location", "service", "request method", | |
|
|
+------- | --------------+-----------------------------------------------------------------------------------------------+ |
result |
|
|
|
|
|
+------- |
--------------+-----------------------------------------------------------------------------------------------+ |
:: training_images/graphite_query.jpg |
|
All metr |
ics are under "stats" namespace: |
Under "s |
tats" there are following important metric types: |
- coun | ters |
- time | rs |
|
es |
Counters |
|
- apim | on.metric → specific apimon metrics not gathered by the OpenStack API |
|
ods |
|
stack.api → pure API request metrics |
Every se |
ction has further following branches: |
- enviro | nment name (production_regA, production_regB, etc) |
|
itoring location (production_regA, awx) - specification of the environment from which the metric is gathered |
openstac | k.api |
OpenStac |
k metrics branch is structured as following: |
|
e (normally service_type from the service catalog, but sometimes differs slightly) |
|
est method (GET/POST/DELETE/PUT) |
|
esource (service resource, i.e. server, keypair, volume, etc). Subresources are joined with "_" (i.e. cluster_nodes)
|
apimon.m | etric |
- metric |
|
|
empted/failed/failedignored/passed/skipped - counters for the corresponding operation results (this branch element represents status of the corresponding ansible task) |
|
|
- curl - |
|
|
name - short name of the host to be checked |
- stat | s.timers.apimon.metric.$environment.$zone.csm_lb_timings.{public,private}.{http,https,tcp}.$az.__VALUE__ - timer values for the loadbalancer test |
- stat | s.counters.apimon.metric.$environment.$zone.csm_lb_timings.{public,private}.{http,https,tcp}.$az.{attempted,passed,failed} - counter values for the loadbalancer test |
- stat | s.timers.apimon.metric.$environment.$zone.curl.$host.{passed,failed}.__VALUE__ - timer values for the curl test |
- stat | s.counters.apimon.metric.$environment.$zone.curl.$host.{attempted,passed,failed} - counter values for the curl test |
- stat | s.timers.apimon.metric.$environment.$zone.dns.$ns_name.$host - timer values for the NS lookup test. $ns_name is the DNS servers used to query the records |
|
s.counters.apimon.metric.$environment.$zone.dns.$ns_name.$host.{attempted,passed,failed} - counter values for the NS lookup test |
Postgres | ql |
Relational database stores ApiMon playbook scenario results which provides statistics about most common service functionalities and use cases. These queries are used mainly on Test Results dashboard and Service specific statistics dashboards.
Parameter | Value |
---|---|
Grafana Datasource | apimon-pg |
Database Type | relational |
Database Table | results_summary |
Metric type | apimon playbook result statistics |
Database Fields | "timestamp", "name", "job_id", "result", "duration", "result_task" |
result field values | 0 - success 1 - ? 2 - skipped 3 - failed |
result_task object parameters | "timestamp", "name", "job_id", "result", "duration", "action", "environment", "zone", "anonymized_response" |