New integration vtnhbr
parent
d3f1924844
commit
76ce60060f
|
|
@ -3,9 +3,10 @@
|
||||||
"id": "90001",
|
"id": "90001",
|
||||||
"name": "server_li",
|
"name": "server_li",
|
||||||
"values": {
|
"values": {
|
||||||
"cmplxarr": [
|
"statusarr": [
|
||||||
"cpu_utilization",
|
"cpu_load_average_1",
|
||||||
"ram_usage",
|
"ram_usage",
|
||||||
|
"disk_usage",
|
||||||
"disk_read_rate",
|
"disk_read_rate",
|
||||||
"disk_write_rate",
|
"disk_write_rate",
|
||||||
"network_interface_rx_Eth_1",
|
"network_interface_rx_Eth_1",
|
||||||
|
|
@ -24,7 +25,7 @@
|
||||||
"0.1"
|
"0.1"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"formula": "cmplxarr[1]*warr[1]+cmplxarr[2]*warr[2]+(cmplxarr[3]+cmplxarr[4])/2*warr[3]+(cmplxarr[5]+cmplxarr[6]+cmplxarr[7]+cmplxarr[8]+cmplxarr[9]+cmplxarr[10]+cmplxarr[11]+cmplxarr[12])/2*warr[4]"
|
"formula": "100 * (1 - (statusarr[1]*warr[1]+statusarr[2]*warr[1]+statusarr[3]*warr[4]+statusarr[4]*warr[3]+statusarr[4]*warr[3]+statusarr[5]*warr[3]+statusarr[6]*warr[3]+statusarr[7]*warr[3]+statusarr[8]*warr[3]+statusarr[9]*warr[3]+statusarr[10]*warr[3]+statusarr[11]*warr[3]+statusarr[12]*warr[3]+statusarr[13]*warr[3])/(warr[1]+warr[1]+warr[4]+warr[3]+warr[3]+warr[3]+warr[3]+warr[3]+warr[3]+warr[3]+warr[3]+warr[3]+warr[3]+warr[3]))"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "90002",
|
"id": "90002",
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -197,7 +197,7 @@ export class ZvksmetricsService {
|
||||||
for (let d = 0; d < device_len; d++) {
|
for (let d = 0; d < device_len; d++) {
|
||||||
for (let i = 0; i < length; i++) {
|
for (let i = 0; i < length; i++) {
|
||||||
let metr = { "source": "" };
|
let metr = { "source": "" };
|
||||||
let val = await this.setIntegrationMetricValue(intgrationCalc[i].values, intgrationCalc[i].formula, complexData.metrics, devices[d], metr);
|
let val = await this.setIntegrationMetricValue(intgrationCalc[i].values, intgrationCalc[i].formula, intgrationCalc[i].name, complexData.metrics, devices[d], metr);
|
||||||
if (val != null || val != undefined) {
|
if (val != null || val != undefined) {
|
||||||
let integrationMetric = new MetricK2();
|
let integrationMetric = new MetricK2();
|
||||||
integrationMetric.id = intgrationCalc[i].id;
|
integrationMetric.id = intgrationCalc[i].id;
|
||||||
|
|
@ -254,24 +254,39 @@ export class ZvksmetricsService {
|
||||||
let result: number = evaluate(formula, val);
|
let result: number = evaluate(formula, val);
|
||||||
// console.log(result);
|
// console.log(result);
|
||||||
return result;
|
return result;
|
||||||
// console.log(result);
|
|
||||||
} catch {
|
} catch {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async setIntegrationMetricValue(value: string, formula: string, metrics: MetricK2[], device: number, obj: any): Promise<any> {
|
async setIntegrationMetricValue(value: string, formula: string, metricName: string, metrics: MetricK2[], device: number, obj: any): Promise<any> {
|
||||||
const val = JSON.parse(JSON.stringify(value));
|
const val = JSON.parse(JSON.stringify(value));
|
||||||
|
let arr = val.statusarr;
|
||||||
|
let arr_len: number = 13; //arr.length;
|
||||||
|
// console.log (metricName);
|
||||||
|
if(metricName == "application_li"){
|
||||||
|
arr = val.cmplxarr;
|
||||||
|
arr_len = 4;
|
||||||
|
}
|
||||||
|
// console.log(arr);
|
||||||
|
|
||||||
|
|
||||||
// console.log(val.cmplxarr);
|
|
||||||
let arr = val.cmplxarr;
|
|
||||||
|
|
||||||
let arr_len: number = arr.length;
|
|
||||||
obj.source = metrics.find(element => element.name == arr[0] && element.device == device)?.source;
|
obj.source = metrics.find(element => element.name == arr[0] && element.device == device)?.source;
|
||||||
|
|
||||||
for (let i = 0; i < arr_len; i++) {
|
for (let i = 0; i < arr_len; i++) {
|
||||||
let temp = arr[i];
|
// let temp = arr[i];
|
||||||
|
if(metricName == "server_li"){
|
||||||
|
arr[i] = metrics.find(element => element.name == arr[i] && element.device == device)?.status;
|
||||||
|
if(arr[i]!=0) {
|
||||||
|
arr[i]--;
|
||||||
|
}
|
||||||
|
// console.log(arr[i]);
|
||||||
|
}
|
||||||
|
if(metricName == "application_li"){
|
||||||
arr[i] = metrics.find(element => element.name == arr[i] && element.device == device)?.value;
|
arr[i] = metrics.find(element => element.name == arr[i] && element.device == device)?.value;
|
||||||
|
}
|
||||||
|
// console.log(arr[i]);
|
||||||
if (arr[i] == undefined || arr[i] == null || Number.isNaN(arr[i])) {
|
if (arr[i] == undefined || arr[i] == null || Number.isNaN(arr[i])) {
|
||||||
arr[i] = Math.random() * 10;
|
arr[i] = Math.random() * 10;
|
||||||
}
|
}
|
||||||
|
|
@ -280,7 +295,7 @@ export class ZvksmetricsService {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let result: number = evaluate(formula, val);
|
let result: number = evaluate(formula, val);
|
||||||
// console.log(result);
|
console.log(metricName, result);
|
||||||
return result;
|
return result;
|
||||||
} catch {
|
} catch {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue