Create function check status for other system

This commit is contained in:
joseph le 2023-10-11 15:41:20 +07:00
parent 3aff35bb15
commit 1906560a78
1 changed files with 47 additions and 5 deletions

View File

@ -3,6 +3,7 @@ const crypto = require("crypto");
const moment = require("moment");
const zulip = require("zulip-js");
const { exec } = require("child_process");
const fs = require('fs');
const config = {
username: "networktool-bot@zulip.ipsupply.com.au",
@ -27,6 +28,8 @@ const checkMultipleRequest = async () => {
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2ludC5pcHN1cHBseS5jb20uYXUvYXBpL2xvZ2luIiwiaWF0IjoxNjg5ODYyNjAxLCJleHAiOjE3MjEzOTg2MDEsIm5iZiI6MTY4OTg2MjYwMSwianRpIjoiUElZVjNBM3ZPQVlMQ081SyIsInN1YiI6MSwicHJ2IjoiYzhlZTFmYzg5ZTc3NWVjNGM3Mzg2NjdlNWJlMTdhNTkwYjZkNDBmYyJ9.UcybIKMBjTAY9i0PfIDQMtqHyN72Ul0jC03ZDGLGpMI";
let content = "||Server| System time| Status \n|---|:---|:---|:---:\n";
// Tạo tiêu đề
let allResponse = ""
const requests = [
//Ebay Systems
// {
@ -319,7 +322,7 @@ const checkMultipleRequest = async () => {
// data: {
// urlAPI: "/api/logistics/check-shipping-rates",
// data: {
// courierName: "Courier Please",
// courierName: "CouriersPlease",
// packageInfo: {
// from: {
// streetLines: ["8/4A Bachell Ave"],
@ -866,7 +869,7 @@ const checkMultipleRequest = async () => {
headers: req.headers,
})
.then((response) => {
console.log(response.data);
allResponse+=JSON.stringify(req.name+"\n"+response.data)
// Xử lý response ở đây
// console.log("Response:", response.data.length);
// console.log("Status:", response.status);
@ -892,6 +895,7 @@ const checkMultipleRequest = async () => {
headers: req.headers,
})
.then((response) => {
allResponse+=JSON.stringify(req.name+"\n"+response.data)
// Xử lý response ở đây
// console.log("Response:", response.data.length);
// console.log("Status:", response.status);
@ -913,14 +917,49 @@ const checkMultipleRequest = async () => {
if (req.method === "SSH") {
exec(req.url, (error, stdout, stderr) => {
if (error) {
// console.error(`Error executing command: ${error.message}`);
allResponse+=JSON.stringify(req.name+"\n"+error)
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: error.status,
lengthOrData: "Error: " + error,
});
return;
}
if (stdout !== "") {
console.log(stdout);
allResponse+=JSON.stringify(req.name+"\n"+stdout)
if(req.name==="Perthmint"){
if((stdout.toString().split("true").length-1)>1){
report.push({
group: req.group,
name: req.name,
status: ":check:",
code: "good",
lengthOrData: stdout,
});
}else{
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: "fail",
lengthOrData: stdout,
});
}
}
} else {
console.log(stderr);
allResponse+=JSON.stringify(req.name+"\n"+stderr)
report.push({
group: req.group,
name: req.name,
status: ":red_circle:",
code: "fail",
lengthOrData: stderr,
});
}
});
}
@ -963,6 +1002,9 @@ const checkMultipleRequest = async () => {
client.messages.send(params);
// client.messages.send(params1);
allResponse += report.sort((a, b) => a.group.localeCompare(b.group)).join("\n")
fs.writeFileSync("/home/logs/logSystems.txt", allResponse)
console.log(report.sort((a, b) => a.group.localeCompare(b.group)));
} catch (error) {
console.log(error);