diff --git a/src/helper/influx-checks.js b/src/helper/influx-checks.js new file mode 100644 index 0000000..b44a0fc --- /dev/null +++ b/src/helper/influx-checks.js @@ -0,0 +1,26 @@ +const logger = require("./helper/logger.js")("influx-checks"); + +const Influx = require('@influxdata/influxdb-client-apis'); + + +function checkHealth(influxDb){ + return new Promise((resolve, reject) => { + new Influx.HealthAPI(influxDb) // Check influx health + .getHealth() + .catch((err) => { + logger.fatal("Could not communicate with Influx:"); + logger.fatal(`Error [${err.code}]:`, err.message); + reject(err); + }) + .then((res) => { + logger.debug("Server healthy.", "Version: ", res.version); + resolve(res); + }); + }); +} + + +// Specify exports +module.exports = { + checkHealth, +}; \ No newline at end of file diff --git a/src/main.js b/src/main.js index 95e1037..dec1e82 100644 --- a/src/main.js +++ b/src/main.js @@ -25,4 +25,8 @@ if(errorMsg){ logger.info("Setup Influx.."); const influxDb = new InfluxDB({url: env.INFLUX_URL, token: env.INFLUX_TOKEN}); + await InfluxChecks.checkHealth(influxDb) + .catch(exit(1)) + .then((res) => {}); + })();