This commit is contained in:
2020-06-18 23:34:27 +00:00
parent 1e9c3a83fb
commit 1e1553773c
12 changed files with 85 additions and 71 deletions

View File

@@ -34,13 +34,6 @@ These values can all be specified as an environment variable or as a command lin
- [AYANOVA_FOLDER_USER_FILES](ops-config-folder-user-files.md)
- [AYANOVA_FOLDER_BACKUP_FILES](ops-config-folder-backup-files.md)
## METRICS
## SECURITY
- [AYANOVA_METRICS_USE_INFLUXDB](ops-metrics.md)
- [AYANOVA_METRICS_INFLUXDB_BASEURL](ops-metrics.md)
- [AYANOVA_METRICS_INFLUXDB_DBNAME](ops-metrics.md)
- [AYANOVA_METRICS_INFLUXDB_CONSISTENCY](ops-metrics.md)
- [AYANOVA_METRICS_INFLUXDB_USERNAME](ops-metrics.md)
- [AYANOVA_METRICS_INFLUXDB_PASSWORD](ops-metrics.md)
- [AYANOVA_METRICS_INFLUXDB_RETENTION_POLICY](ops-metrics.md)
- [AYANOVA_METRICS_INFLUXDB_CREATE_DATABASE_IF_NOT_EXISTS](ops-metrics.md)
- [AYANOVA_SET_SUPERUSER_PW](ops-config-set-superuser-pw.md)

View File

@@ -0,0 +1,35 @@
# SUPER USER PASSWORD OVERRIDE
In the event that the SuperUser password is lost it can be reset using this setting.
Upon booting up the server will reset the current SuperUser User account password to this value.
It should only be used to temporarily reset the password and never left in place.
## Default
This setting is not used by default.
## Overriding
AyaNova expects the override password to be provided by an environment variable or command line parameter named:
`AYANOVA_SET_SUPERUSER_PW`
The value specified should be a string used to temporarily override the super user password e.g.:
`Th3RainInSpainFallsMainlyOnTh3Pla1n`
Example command line parameter
`dotnet run --AYANOVA_SET_SUPERUSER_PW="Th3RainInSpainFallsMainlyOnTh3Pla1n"`
Example environment variable
Windows
`set "AYANOVA_SET_SUPERUSER_PW=Th3RainInSpainFallsMainlyOnTh3Pla1n"`
Linux / MAC
`export AYANOVA_SET_SUPERUSER_PW="Th3RainInSpainFallsMainlyOnTh3Pla1n"`
If both a command line parameter and an environment variable are set the command line parameter takes precedence.

View File

@@ -1,4 +1,4 @@
# METRICS
# METRICS (INCOMPLETE)
AyaNova 8+ automatically tracks server metrics for ongoing server maintenance, monitoring and troubleshooting.
@@ -9,55 +9,6 @@ This information is typically useful to the Operations staff who are responsible
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
todo: how to view metrics, what they mean what to use them for
## 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](api-console.md) tool:
![API Explorer](img/v8ServerMetricsSnapshotText.png)
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](https://www.influxdata.com/) and can be viewed with the open source analytics and monitoring tool [Grafana](https://grafana.com/)
Example of a testing run of AyaNova during development visualized with Grafana and InfluxDB hosted in a Docker container:
![Grafana in Docker](img/v8ServerMetricsDashboard.png)
### Configuration settings for InfluxDB
Use of InfluxDB for metrics is controlled with [environment variables](ops-config-environment-variables.md) 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