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