mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-04-06 00:32:12 +02:00
Refactor MonitorInfrastructure class and extract monitorServerMetrics method
This commit is contained in:
@@ -59,11 +59,13 @@ yargs
|
||||
startArguments.push('--oneuptime-url=https://oneuptime.com');
|
||||
}
|
||||
|
||||
// before we run as daemon, we need to verify if the credentials are correc
|
||||
|
||||
daemon = spawn('tsx', startArguments, {
|
||||
detached: true,
|
||||
stdio: 'ignore'
|
||||
});
|
||||
|
||||
daemon.unref();
|
||||
Logger.info('OneUptime Infrastructure Agent started as daemon');
|
||||
})
|
||||
|
||||
@@ -16,38 +16,52 @@ export default class MonitorInfrastructure {
|
||||
runOnStartup: true,
|
||||
},
|
||||
runFunction: async () => {
|
||||
try {
|
||||
if (!secretKey) {
|
||||
throw new Error(
|
||||
'No SECRET_KEY environment variable found. You can find secret key for this monitor on OneUptime Dashboard'
|
||||
);
|
||||
}
|
||||
|
||||
const serverMonitorResponse: ServerMonitorResponse = {
|
||||
secretKey: secretKey,
|
||||
requestReceivedAt: new Date(),
|
||||
basicInfrastructureMetrics:
|
||||
await BasicMetircs.getBasicMetrics(),
|
||||
processes: await ServerProcessUtil.getServerProcesses(),
|
||||
onlyCheckRequestReceivedAt: false,
|
||||
};
|
||||
|
||||
Logger.info('Server Monitor Response');
|
||||
Logger.info(JSON.stringify(serverMonitorResponse));
|
||||
|
||||
// now we send this data back to server.
|
||||
|
||||
await axios.post(
|
||||
`${oneuptimeHost}/server-monitor/response/ingest/${secretKey}`,
|
||||
{
|
||||
serverMonitorResponse: serverMonitorResponse,
|
||||
},
|
||||
{}
|
||||
);
|
||||
} catch (err) {
|
||||
Logger.error(err);
|
||||
}
|
||||
},
|
||||
await MonitorInfrastructure.monitorServerMetrics({
|
||||
oneuptimeHost: oneuptimeHost,
|
||||
secretKey: secretKey,
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static async monitorServerMetrics(data: {
|
||||
oneuptimeHost: string,
|
||||
secretKey: string
|
||||
}) {
|
||||
try {
|
||||
|
||||
const { oneuptimeHost, secretKey } = data;
|
||||
|
||||
if (!secretKey) {
|
||||
throw new Error(
|
||||
'No SECRET_KEY environment variable found. You can find secret key for this monitor on OneUptime Dashboard'
|
||||
);
|
||||
}
|
||||
|
||||
const serverMonitorResponse: ServerMonitorResponse = {
|
||||
secretKey: secretKey,
|
||||
requestReceivedAt: new Date(),
|
||||
basicInfrastructureMetrics:
|
||||
await BasicMetircs.getBasicMetrics(),
|
||||
processes: await ServerProcessUtil.getServerProcesses(),
|
||||
onlyCheckRequestReceivedAt: false,
|
||||
};
|
||||
|
||||
Logger.info('Server Monitor Response');
|
||||
Logger.info(JSON.stringify(serverMonitorResponse));
|
||||
|
||||
// now we send this data back to server.
|
||||
|
||||
await axios.post(
|
||||
`${oneuptimeHost}/server-monitor/response/ingest/${secretKey}`,
|
||||
{
|
||||
serverMonitorResponse: serverMonitorResponse,
|
||||
},
|
||||
{}
|
||||
);
|
||||
} catch (err) {
|
||||
Logger.error(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user