Add datastore settings to the Web UI (#11266)

This commit is contained in:
Tony Murray
2020-03-12 11:46:41 -05:00
committed by GitHub
parent 82eddfcf27
commit 121fbe7edd
3 changed files with 238 additions and 11 deletions

View File

@@ -3,10 +3,10 @@
"/css/app.css": "/css/app.css?id=2a88c6515df894dc6f36",
"/js/manifest.js": "/js/manifest.js?id=3c768977c2574a34506e",
"/js/vendor.js": "/js/vendor.js?id=58c8fc0774b5843ec004",
"/js/lang/de.js": "/js/lang/de.js?id=18b0b0e06813d1afed92",
"/js/lang/en.js": "/js/lang/en.js?id=537f7bed9b6e624e0e6e",
"/js/lang/fr.js": "/js/lang/fr.js?id=07da32f987ba907e1f7f",
"/js/lang/ru.js": "/js/lang/ru.js?id=e10e85f321f1395378b6",
"/js/lang/uk.js": "/js/lang/uk.js?id=c8d4937e3ca47b60b7ac",
"/js/lang/zh-TW.js": "/js/lang/zh-TW.js?id=8020327e80ac10c0c615"
"/js/lang/de.js": "/js/lang/de.js?id=e0623715e8df0895188b",
"/js/lang/en.js": "/js/lang/en.js?id=4bb5ac39136638687b12",
"/js/lang/fr.js": "/js/lang/fr.js?id=2d1159debd99a1909f12",
"/js/lang/ru.js": "/js/lang/ru.js?id=b007ddce75134acbe635",
"/js/lang/uk.js": "/js/lang/uk.js?id=146819d3cf1dfb16672d",
"/js/lang/zh-TW.js": "/js/lang/zh-TW.js?id=e578b34b9d5e21cf929d"
}

View File

@@ -3068,9 +3068,38 @@
},
"type": "graph"
},
"graphite.enable": {
"default": false,
"type": "boolean",
"group": "poller",
"section": "graphite",
"order": 0
},
"graphite.host": {
"default": "127.0.0.1",
"type": "text",
"group": "poller",
"section": "graphite",
"order": 1,
"validate": {
"value": "ip_or_hostname"
}
},
"graphite.port": {
"default": 2003,
"type": "integer"
"type": "integer",
"group": "poller",
"section": "graphite",
"order": 2
},
"graphite.prefix": {
"type": "text",
"group": "poller",
"section": "graphite",
"order": 3,
"validate": {
"value": "nullable|regex:/^[.a-zA-Z0-9]*$/"
}
},
"graphs.mini.normal": {
"default": {
@@ -3290,13 +3319,74 @@
"default": false,
"type": "boolean"
},
"influxdb.enable": {
"default": false,
"type": "boolean",
"group": "poller",
"section": "influxdb",
"order": 0
},
"influxdb.transport": {
"default": "http",
"type": "select",
"options": {
"http": "HTTP",
"https": "HTTPS",
"udp": "UDP"
},
"group": "poller",
"section": "influxdb",
"order": 1
},
"influxdb.host": {
"default": "127.0.0.1",
"type": "text",
"group": "poller",
"section": "influxdb",
"order": 2,
"validate": {
"value": "ip_or_hostname"
}
},
"influxdb.port": {
"default": 8086,
"type": "integer",
"group": "poller",
"section": "influxdb",
"order": 3
},
"influxdb.db": {
"default": "librenms",
"type": "text",
"group": "poller",
"section": "influxdb",
"order": 4
},
"influxdb.username": {
"type": "text",
"group": "poller",
"section": "influxdb",
"order": 5
},
"influxdb.password": {
"type": "password",
"group": "poller",
"section": "influxdb",
"order": 6
},
"influxdb.timeout": {
"default": 0,
"type": "integer"
"type": "integer",
"group": "poller",
"section": "influxdb",
"order": 7
},
"influxdb.verifySSL": {
"default": false,
"type": "boolean"
"type": "boolean",
"group": "poller",
"section": "influxdb",
"order": 8
},
"install_dir": {
"type": "text"
@@ -3708,6 +3798,30 @@
"default": true,
"type": "boolean"
},
"opentsdb.enable": {
"default": false,
"type": "boolean",
"group": "poller",
"section": "opentsdb",
"order": 0
},
"opentsdb.host": {
"default": "127.0.0.1",
"type": "text",
"group": "poller",
"section": "opentsdb",
"order": 1,
"validate": {
"value": "ip_or_hostname"
}
},
"opentsdb.port": {
"default": 4242,
"type": "integer",
"group": "poller",
"section": "opentsdb",
"order": 2
},
"os.default.over": {
"default": [
{
@@ -4233,9 +4347,29 @@
"default": "LibreNMS",
"type": "text"
},
"prometheus.enable": {
"default": false,
"type": "boolean",
"group": "poller",
"section": "prometheus",
"order": 0
},
"prometheus.url": {
"default": "http://127.0.0.1:9091",
"type": "text",
"group": "poller",
"section": "prometheus",
"order": 1,
"validate": {
"value": "url"
}
},
"prometheus.job": {
"default": "librenms",
"type": "text"
"type": "text",
"group": "poller",
"section": "prometheus",
"order": 2
},
"public_status": {
"default": false,

View File

@@ -45,8 +45,12 @@ return [
],
'poller' => [
'distributed' => 'Distributed Poller',
'graphite' => 'Datastore: Graphite',
'influxdb' => 'Datastore: InfluxDB',
'opentsdb' => 'Datastore: OpenTSDB',
'ping' => 'Ping',
'rrdtool' => 'RRDTool Setup',
'prometheus' => 'Datastore: Prometheus',
'rrdtool' => 'Datastore: RRDTool',
'snmp' => 'SNMP',
'poller_modules' => 'Poller Modules',
],
@@ -611,6 +615,24 @@ return [
]
]
],
'graphite' => [
'enable' => [
'description' => 'Enable',
'help' => 'Exports metrics to Graphite'
],
'host' => [
'description' => 'Server',
'help' => 'The IP or hostname of the Graphite server to send data to'
],
'port' => [
'description' => 'Port',
'help' => 'The port to use to connect to the Graphite server'
],
'prefix' => [
'description' => 'Prefix (Optional)',
'help' => 'Will add the prefix to the start of all metrics. Must be alphanumeric separated by dots'
]
],
'graylog' => [
'base_uri' => [
'description' => 'Base URI',
@@ -679,6 +701,49 @@ return [
'description' => 'Mountpoints containing String to be ignored',
'help' => 'Don\'t monitor Disc Usage of Mountpoints which contains at least one of this Strings'
],
'influxdb' => [
'db' => [
'description' => 'Database',
'help' => 'Name of the InfluxDB database to store metrics'
],
'enable' => [
'description' => 'Enable',
'help' => 'Exports metrics to InfluxDB'
],
'host' => [
'description' => 'Server',
'help' => 'The IP or hostname of the InfluxDB server to send data to'
],
'password' => [
'description' => 'Password',
'help' => 'Password to connect to InfluxDB, if required'
],
'port' => [
'description' => 'Port',
'help' => 'The port to use to connect to the InfluxDB server'
],
'timeout' => [
'description' => 'Timeout',
'help' => 'How long to wait for InfluxDB server, 0 means default timeout'
],
'transport' => [
'description' => 'Transport',
'help' => 'The port to use to connect to the InfluxDB server',
'options' => [
'http' => 'HTTP',
'https' => 'HTTPS',
'udp' => 'UDPRRRRRRR'
]
],
'username' => [
'description' => 'Username',
'help' => 'Username to connect to InfluxDB, if required'
],
'verifySSL' => [
'description' => 'Verify SSL',
'help' => 'Verify the SSL certificate is valid and trusted'
]
],
'ipmitool' => [
'description' => 'Path to ipmtool'
],
@@ -744,6 +809,20 @@ return [
'nmap' => [
'description' => 'Path to nmap'
],
'opentsdb' => [
'enable' => [
'description' => 'Enable',
'help' => 'Exports metrics to OpenTSDB'
],
'host' => [
'description' => 'Server',
'help' => 'The IP or hostname of the OpenTSDB server to send data to'
],
'port' => [
'description' => 'Port',
'help' => 'The port to use to connect to the OpenTSDB server'
]
],
'own_hostname' => [
'description' => 'LibreNMS hostname',
'help' => 'Should be set to the hostname/ip the librenms server is added as'
@@ -943,6 +1022,20 @@ return [
'description' => 'Ports older than (days)',
'help' => 'Cleanup done by daily.sh'
],
'prometheus' => [
'enable' => [
'description' => 'Enable',
'help' => 'Exports metrics to Prometheus Push Gateway'
],
'host' => [
'description' => 'Server',
'help' => 'The IP or hostname of the Prometheus Push Gateway to send data to'
],
'port' => [
'description' => 'Job',
'help' => 'Job label for exported metrics'
]
],
'public_status' => [
'description' => 'Show status publicly',
'help' => 'Shows the status of some devices on the logon page without authentication.'