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:
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:
Configuration settings for InfluxDB
Use of InfluxDB for metrics is controlled with environment variables read during startup of the AyaNova server:
AYANOVA_METRICS_USE_INFLUXDBtrue / false value, default isfalseset totrueto turn on metrics reporting to InfluxDBAYANOVA_METRICS_INFLUXDB_BASEURLstring value uri to your InfluxDB server default value ishttp://127.0.0.1:8086AYANOVA_METRICS_INFLUXDB_DBNAMEstring value name of database to use with InfluxDB server default value isAyaNovaAYANOVA_METRICS_INFLUXDB_CONSISTENCYstring value name of InfluxDB consistency policy to use with InfluxDB server default value is empty and not setAYANOVA_METRICS_INFLUXDB_USERNAMEstring value user name of account to connect to database default value isrootAYANOVA_METRICS_INFLUXDB_PASSWORDstring value password of account to connect to database default value isrootAYANOVA_METRICS_INFLUXDB_RETENTION_POLICYstring value name of InfluxDB retention policy to use with InfluxDB server default value is empty and not setAYANOVA_METRICS_INFLUXDB_CREATE_DATABASE_IF_NOT_EXISTStrue / false value, default istrueset totrueto automatically create database in InfluxDB if it doesn't exist
Setting up a Grafana dashboard
TODO: dashboard setup and mention of docker

