summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/postgres/config_schema.json
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/go/collectors/go.d.plugin/modules/postgres/config_schema.json141
1 files changed, 141 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/postgres/config_schema.json b/src/go/collectors/go.d.plugin/modules/postgres/config_schema.json
new file mode 100644
index 000000000..42bff329b
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/postgres/config_schema.json
@@ -0,0 +1,141 @@
+{
+ "jsonSchema": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Postgres collector configuration.",
+ "type": "object",
+ "properties": {
+ "update_every": {
+ "title": "Update every",
+ "description": "Data collection interval, measured in seconds.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 1
+ },
+ "dsn": {
+ "title": "DSN",
+ "description": "Postgres server Data Source Name in [key/value string](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-KEYWORD-VALUE) or [URI](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS) format.",
+ "type": "string",
+ "default": "postgres://netdata:password@127.0.0.1:5432/postgres"
+ },
+ "timeout": {
+ "title": "Timeout",
+ "description": "Timeout for queries, in seconds.",
+ "type": "number",
+ "minimum": 0.5,
+ "default": 2
+ },
+ "collect_databases_matching": {
+ "title": "Database selector",
+ "description": "Configuration for monitoring specific databases using [Netdata simple patterns](https://github.com/netdata/netdata/tree/master/src/libnetdata/simple_pattern#readme). If left empty, no database metrics will be collected.",
+ "type": "string"
+ },
+ "max_db_tables": {
+ "title": "Table limit",
+ "description": "Table metrics will not be collected for databases that have more tables than the limit. Set to 0 for no limit.",
+ "type": "integer",
+ "minimum": 0,
+ "default": 50
+ },
+ "max_db_indexes": {
+ "title": "Index limit",
+ "description": "Index metrics will not be collected for databases that have more indexes than the limit. Set to 0 for no limit.",
+ "type": "integer",
+ "minimum": 0,
+ "default": 250
+ },
+ "transaction_time_histogram": {
+ "title": "Transaction time histogram",
+ "description": "Buckets for transaction time histogram in milliseconds.",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "title": "Bucket",
+ "type": "number",
+ "exclusiveMinimum": 0
+ },
+ "uniqueItems": true,
+ "default": [
+ 0.1,
+ 0.5,
+ 1,
+ 2.5,
+ 5,
+ 10
+ ]
+ },
+ "query_time_histogram": {
+ "title": "Query time histogram",
+ "description": "Buckets for query time histogram in milliseconds.",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "title": "Bucket",
+ "type": "number",
+ "exclusiveMinimum": 0
+ },
+ "uniqueItems": true,
+ "default": [
+ 0.1,
+ 0.5,
+ 1,
+ 2.5,
+ 5,
+ 10
+ ]
+ }
+ },
+ "required": [
+ "dsn"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^name$": {}
+ }
+ },
+ "uiSchema": {
+ "uiOptions": {
+ "fullPage": true
+ },
+ "ui:flavour": "tabs",
+ "ui:options": {
+ "tabs": [
+ {
+ "title": "Base",
+ "fields": [
+ "update_every",
+ "dsn",
+ "timeout"
+ ]
+ },
+ {
+ "title": "Database stats",
+ "fields": [
+ "max_db_tables",
+ "max_db_indexes",
+ "collect_databases_matching"
+ ]
+ },
+ {
+ "title": "Histograms",
+ "fields": [
+ "transaction_time_histogram",
+ "query_time_histogram"
+ ]
+ }
+ ]
+ },
+ "dsn": {
+ "ui:placeholder": "postgres://username:password@host:port/dbname"
+ },
+ "transaction_time_histogram": {
+ "ui:listFlavour": "list"
+ },
+ "query_time_histogram": {
+ "ui:listFlavour": "list"
+ }
+ }
+}