Files
raven/docs/8.0/ayanova/docs/ops-metrics.md

3.6 KiB

METRICS

AyaNova 8+ automatically tracks server metrics for ongoing server maintenance, monitoring and troubleshooting.

OVERVIEW

Metrics are statistical and other information gathered automatically during server operation that can be used to assess the health of an AyaNova server. This information is typically useful to the Operations staff who are responsible for maintaining the AyaNova server in good working condition.

When the AyaNova server is booted it starts gathering snapshots of statistical data during regular intervals that can be viewed to observe the current state of the server and some historical data from the point it was last rebooted.

Some examples of the metrics gathered include:

  • Performance per API endpoint routes
  • Error rates per HTTP error code and API endpoint route
  • Transactions per endpoint
  • Database records per table of significance
  • Count and size of user files (attachments) stored at the server
  • Count and size of operations files (backups, import/export etc) stored at the server
  • Job operations data about background process jobs (notifications, backups, maintenance etc) running, succeeded and failed
  • Memory usage of the server
  • And more

ROLES AND RIGHTS

Metrics are available to users with the OPS - full or OPS - limited roles.

INFORMATION SECURITY AND PRIVACY

By design and policy no personally identifiable information is gathered for metrics. The data about API routes consists of consolidated information gathered over multiple users and does not track per IP address.

VIEWING SNAPSHOT METRICS

View a current metrics snapshot directly on the server via the API Explorer tool:

API Explorer

TODO: VIEW METRICS IN AYANOVA CLIENT UI

TAKING IT TO THE NEXT LEVEL - STORING METRICS AND VIEWING GRAPHICALLY

AyaNova has built in support to send metrics snapshots automatically to the open source time series database InfluxDB and can be viewed with the open source analytics and monitoring tool Grafana

Example of a testing run of AyaNova during development visualized with Grafana and InfluxDB hosted in a Docker container:

Grafana in Docker

Configuration settings for InfluxDB

Use of InfluxDB for metrics is controlled with environment variables read during startup of the AyaNova server:

  • AYANOVA_METRICS_USE_INFLUXDB true / false value, default is false set to true to turn on metrics reporting to InfluxDB
  • AYANOVA_METRICS_INFLUXDB_BASEURL string value uri to your InfluxDB server default value is http://127.0.0.1:8086
  • AYANOVA_METRICS_INFLUXDB_DBNAME string value name of database to use with InfluxDB server default value is AyaNova
  • AYANOVA_METRICS_INFLUXDB_CONSISTENCY string value name of InfluxDB consistency policy to use with InfluxDB server default value is empty and not set
  • AYANOVA_METRICS_INFLUXDB_USERNAME string value user name of account to connect to database default value is root
  • AYANOVA_METRICS_INFLUXDB_PASSWORD string value password of account to connect to database default value is root
  • AYANOVA_METRICS_INFLUXDB_RETENTION_POLICY string value name of InfluxDB retention policy to use with InfluxDB server default value is empty and not set
  • AYANOVA_METRICS_INFLUXDB_CREATE_DATABASE_IF_NOT_EXISTS true / false value, default is true set to true to automatically create database in InfluxDB if it doesn't exist

Setting up a Grafana dashboard

TODO: dashboard setup and mention of docker