Merge remote-tracking branch 'origin/master' into feature/add-support-for-method-body-and-headers

This commit is contained in:
Bert Verhelst
2021-10-10 18:40:53 +02:00
14 changed files with 421 additions and 164 deletions

View File

@@ -11,6 +11,7 @@ const { tcping, ping, dnsResolve, checkCertificate, checkStatusCode, getTotalCli
const { R } = require("redbean-node");
const { BeanModel } = require("redbean-node/dist/bean-model");
const { Notification } = require("../notification");
const { demoMode } = require("../server");
const version = require("../../package.json").version;
const apicache = require("../modules/apicache");
@@ -371,6 +372,14 @@ class Monitor extends BeanModel {
previousBeat = bean;
if (! this.isStop) {
if (demoMode) {
if (beatInterval < 20) {
console.log("beat interval too low, reset to 20s");
beatInterval = 20;
}
}
this.heartbeatInterval = setTimeout(beat, beatInterval * 1000);
}

View File

@@ -6,7 +6,7 @@ const commonLabels = [
"monitor_url",
"monitor_hostname",
"monitor_port",
]
];
const monitor_cert_days_remaining = new PrometheusClient.Gauge({
name: "monitor_cert_days_remaining",
@@ -41,45 +41,46 @@ class Prometheus {
monitor_url: monitor.url,
monitor_hostname: monitor.hostname,
monitor_port: monitor.port
}
};
}
update(heartbeat, tlsInfo) {
if (typeof tlsInfo !== "undefined") {
try {
let is_valid = 0
let is_valid = 0;
if (tlsInfo.valid == true) {
is_valid = 1
is_valid = 1;
} else {
is_valid = 0
is_valid = 0;
}
monitor_cert_is_valid.set(this.monitorLabelValues, is_valid)
monitor_cert_is_valid.set(this.monitorLabelValues, is_valid);
} catch (e) {
console.error(e)
console.error(e);
}
try {
monitor_cert_days_remaining.set(this.monitorLabelValues, tlsInfo.certInfo.daysRemaining)
monitor_cert_days_remaining.set(this.monitorLabelValues, tlsInfo.certInfo.daysRemaining);
} catch (e) {
console.error(e)
console.error(e);
}
}
try {
monitor_status.set(this.monitorLabelValues, heartbeat.status)
monitor_status.set(this.monitorLabelValues, heartbeat.status);
} catch (e) {
console.error(e)
console.error(e);
}
try {
if (typeof heartbeat.ping === "number") {
monitor_response_time.set(this.monitorLabelValues, heartbeat.ping)
monitor_response_time.set(this.monitorLabelValues, heartbeat.ping);
} else {
// Is it good?
monitor_response_time.set(this.monitorLabelValues, -1)
monitor_response_time.set(this.monitorLabelValues, -1);
}
} catch (e) {
console.error(e)
console.error(e);
}
}
@@ -87,4 +88,4 @@ class Prometheus {
module.exports = {
Prometheus
}
};

View File

@@ -1,12 +1,18 @@
console.log("Welcome to Uptime Kuma");
const args = require("args-parser")(process.argv);
const { sleep, debug, getRandomInt, genSecret } = require("../src/util");
debug(args);
if (! process.env.NODE_ENV) {
process.env.NODE_ENV = "production";
}
console.log("Node Env: " + process.env.NODE_ENV);
// Demo Mode?
const demoMode = args["demo"] || false;
exports.demoMode = demoMode;
const { sleep, debug, getRandomInt, genSecret } = require("../src/util");
console.log("Node Env: " + process.env.NODE_ENV);
console.log("Importing Node libraries");
const fs = require("fs");
@@ -50,8 +56,6 @@ const { basicAuth } = require("./auth");
const { login } = require("./auth");
const passwordHash = require("./password-hash");
const args = require("args-parser")(process.argv);
const checkVersion = require("./check-version");
console.info("Version: " + checkVersion.version);
@@ -70,6 +74,10 @@ const sslCert = process.env.SSL_CERT || args["ssl-cert"] || undefined;
*/
const testMode = !!args["test"] || false;
if (demoMode) {
console.log("==== Demo Mode ====");
}
console.log("Creating express and socket.io instance");
const app = express();