cisco-perfmon 1.4.3 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/main.js +98 -19
- package/package.json +1 -1
- package/test/tests.js +6 -5
package/main.js
CHANGED
|
@@ -85,17 +85,6 @@ var XML_REMOVE_COUNTER_ENVELOPE = `<soapenv:Envelope xmlns:soapenv="http://schem
|
|
|
85
85
|
</soapenv:Body>
|
|
86
86
|
</soapenv:Envelope>`;
|
|
87
87
|
|
|
88
|
-
// Set up our promise results
|
|
89
|
-
var promiseResults = {
|
|
90
|
-
cookie: "",
|
|
91
|
-
results: "",
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
// Set up our error results
|
|
95
|
-
var errorResults = {
|
|
96
|
-
message: "",
|
|
97
|
-
};
|
|
98
|
-
|
|
99
88
|
/**
|
|
100
89
|
* Cisco Perfmon Service
|
|
101
90
|
* This is a service class that uses fetch and promises to pull Perfmon data from Cisco CUCM
|
|
@@ -111,13 +100,13 @@ var errorResults = {
|
|
|
111
100
|
class perfMonService {
|
|
112
101
|
constructor(host, username, password, options) {
|
|
113
102
|
this._OPTIONS = {
|
|
114
|
-
retryOn: function(attempt, error, response) {
|
|
103
|
+
retryOn: function (attempt, error, response) {
|
|
115
104
|
// Only allow retries on JSESSIONIDSSO authenticaion attempts
|
|
116
|
-
if(!options){
|
|
117
|
-
return false
|
|
118
|
-
}else if (attempt > (process.env.PERFMON_RETRIES ? parseInt(process.env.PERFMON_RETRIES) : 3)) {
|
|
119
|
-
return false
|
|
120
|
-
}
|
|
105
|
+
if (!options) {
|
|
106
|
+
return false;
|
|
107
|
+
} else if (attempt > (process.env.PERFMON_RETRIES ? parseInt(process.env.PERFMON_RETRIES) : 3)) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
121
110
|
// retry on any network error, or 4xx or 5xx status codes
|
|
122
111
|
if (error !== null || response.status >= 400) {
|
|
123
112
|
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
@@ -170,6 +159,16 @@ class perfMonService {
|
|
|
170
159
|
fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
|
|
171
160
|
.then(async (response) => {
|
|
172
161
|
try {
|
|
162
|
+
// Set up our promise results
|
|
163
|
+
var promiseResults = {
|
|
164
|
+
cookie: "",
|
|
165
|
+
results: "",
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
// Set up our error results
|
|
169
|
+
var errorResults = {
|
|
170
|
+
message: "",
|
|
171
|
+
};
|
|
173
172
|
var data = []; // create an array to save chunked data from server
|
|
174
173
|
promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
|
|
175
174
|
// response.body is a ReadableStream
|
|
@@ -284,6 +283,16 @@ class perfMonService {
|
|
|
284
283
|
fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
|
|
285
284
|
.then(async (response) => {
|
|
286
285
|
try {
|
|
286
|
+
// Set up our promise results
|
|
287
|
+
var promiseResults = {
|
|
288
|
+
cookie: "",
|
|
289
|
+
results: "",
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
// Set up our error results
|
|
293
|
+
var errorResults = {
|
|
294
|
+
message: "",
|
|
295
|
+
};
|
|
287
296
|
var data = []; // create an array to save chunked data from server
|
|
288
297
|
promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
|
|
289
298
|
// response.body is a ReadableStream
|
|
@@ -381,7 +390,7 @@ class perfMonService {
|
|
|
381
390
|
* @param {string} host - The host to collect data from.
|
|
382
391
|
* @returns {object} returns JSON via a Promise. JSON contains Session Cookie (If availible) and Results.
|
|
383
392
|
*/
|
|
384
|
-
listCounter(host,filtered = []) {
|
|
393
|
+
listCounter(host, filtered = []) {
|
|
385
394
|
var XML;
|
|
386
395
|
var options = this._OPTIONS;
|
|
387
396
|
options.SOAPAction = `perfmonListCounter`;
|
|
@@ -397,6 +406,16 @@ class perfMonService {
|
|
|
397
406
|
fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
|
|
398
407
|
.then(async (response) => {
|
|
399
408
|
try {
|
|
409
|
+
// Set up our promise results
|
|
410
|
+
var promiseResults = {
|
|
411
|
+
cookie: "",
|
|
412
|
+
results: "",
|
|
413
|
+
};
|
|
414
|
+
|
|
415
|
+
// Set up our error results
|
|
416
|
+
var errorResults = {
|
|
417
|
+
message: "",
|
|
418
|
+
};
|
|
400
419
|
var data = []; // create an array to save chunked data from server
|
|
401
420
|
promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
|
|
402
421
|
// response.body is a ReadableStream
|
|
@@ -415,7 +434,7 @@ class perfMonService {
|
|
|
415
434
|
var returnResults = output.Body.perfmonListCounterResponse.perfmonListCounterReturn;
|
|
416
435
|
promiseResults.results = clean(returnResults);
|
|
417
436
|
if (filtered.length > 0) {
|
|
418
|
-
var res = promiseResults.results.filter(item => filtered.includes(item.Name));
|
|
437
|
+
var res = promiseResults.results.filter((item) => filtered.includes(item.Name));
|
|
419
438
|
promiseResults.results = res;
|
|
420
439
|
}
|
|
421
440
|
resolve(promiseResults);
|
|
@@ -481,6 +500,16 @@ class perfMonService {
|
|
|
481
500
|
fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
|
|
482
501
|
.then(async (response) => {
|
|
483
502
|
try {
|
|
503
|
+
// Set up our promise results
|
|
504
|
+
var promiseResults = {
|
|
505
|
+
cookie: "",
|
|
506
|
+
results: "",
|
|
507
|
+
};
|
|
508
|
+
|
|
509
|
+
// Set up our error results
|
|
510
|
+
var errorResults = {
|
|
511
|
+
message: "",
|
|
512
|
+
};
|
|
484
513
|
var data = []; // create an array to save chunked data from server
|
|
485
514
|
promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
|
|
486
515
|
// response.body is a ReadableStream
|
|
@@ -565,6 +594,16 @@ class perfMonService {
|
|
|
565
594
|
fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
|
|
566
595
|
.then(async (response) => {
|
|
567
596
|
try {
|
|
597
|
+
// Set up our promise results
|
|
598
|
+
var promiseResults = {
|
|
599
|
+
cookie: "",
|
|
600
|
+
results: "",
|
|
601
|
+
};
|
|
602
|
+
|
|
603
|
+
// Set up our error results
|
|
604
|
+
var errorResults = {
|
|
605
|
+
message: "",
|
|
606
|
+
};
|
|
568
607
|
var data = []; // create an array to save chunked data from server
|
|
569
608
|
promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
|
|
570
609
|
// response.body is a ReadableStream
|
|
@@ -643,6 +682,16 @@ class perfMonService {
|
|
|
643
682
|
fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
|
|
644
683
|
.then(async (response) => {
|
|
645
684
|
try {
|
|
685
|
+
// Set up our promise results
|
|
686
|
+
var promiseResults = {
|
|
687
|
+
cookie: "",
|
|
688
|
+
results: "",
|
|
689
|
+
};
|
|
690
|
+
|
|
691
|
+
// Set up our error results
|
|
692
|
+
var errorResults = {
|
|
693
|
+
message: "",
|
|
694
|
+
};
|
|
646
695
|
var data = []; // create an array to save chunked data from server
|
|
647
696
|
promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
|
|
648
697
|
// response.body is a ReadableStream
|
|
@@ -730,6 +779,16 @@ class perfMonService {
|
|
|
730
779
|
fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
|
|
731
780
|
.then(async (response) => {
|
|
732
781
|
try {
|
|
782
|
+
// Set up our promise results
|
|
783
|
+
var promiseResults = {
|
|
784
|
+
cookie: "",
|
|
785
|
+
results: "",
|
|
786
|
+
};
|
|
787
|
+
|
|
788
|
+
// Set up our error results
|
|
789
|
+
var errorResults = {
|
|
790
|
+
message: "",
|
|
791
|
+
};
|
|
733
792
|
var data = []; // create an array to save chunked data from server
|
|
734
793
|
// response.body is a ReadableStream
|
|
735
794
|
const reader = response.body.getReader();
|
|
@@ -816,6 +875,16 @@ class perfMonService {
|
|
|
816
875
|
fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
|
|
817
876
|
.then(async (response) => {
|
|
818
877
|
try {
|
|
878
|
+
// Set up our promise results
|
|
879
|
+
var promiseResults = {
|
|
880
|
+
cookie: "",
|
|
881
|
+
results: "",
|
|
882
|
+
};
|
|
883
|
+
|
|
884
|
+
// Set up our error results
|
|
885
|
+
var errorResults = {
|
|
886
|
+
message: "",
|
|
887
|
+
};
|
|
819
888
|
var data = []; // create an array to save chunked data from server
|
|
820
889
|
// response.body is a ReadableStream
|
|
821
890
|
const reader = response.body.getReader();
|
|
@@ -896,6 +965,16 @@ class perfMonService {
|
|
|
896
965
|
fetch(`https://${server}:8443/perfmonservice2/services/PerfmonService/`, options)
|
|
897
966
|
.then(async (response) => {
|
|
898
967
|
try {
|
|
968
|
+
// Set up our promise results
|
|
969
|
+
var promiseResults = {
|
|
970
|
+
cookie: "",
|
|
971
|
+
results: "",
|
|
972
|
+
};
|
|
973
|
+
|
|
974
|
+
// Set up our error results
|
|
975
|
+
var errorResults = {
|
|
976
|
+
message: "",
|
|
977
|
+
};
|
|
899
978
|
var data = []; // create an array to save chunked data from server
|
|
900
979
|
promiseResults.cookie = response.headers.get("set-cookie") ? response.headers.get("set-cookie") : "";
|
|
901
980
|
// response.body is a ReadableStream
|
package/package.json
CHANGED
package/test/tests.js
CHANGED
|
@@ -28,7 +28,8 @@ var cucmServerName = env.CUCM_SERVER_NAME;
|
|
|
28
28
|
|
|
29
29
|
// Variables to hold our SessionID and our Session Counter
|
|
30
30
|
var SessionID;
|
|
31
|
-
var
|
|
31
|
+
var counterObject = "Cisco CallManager";
|
|
32
|
+
var sessionObj = {
|
|
32
33
|
host: cucmServerName,
|
|
33
34
|
object: 'Partition',
|
|
34
35
|
instance: 'SharedMemory',
|
|
@@ -38,7 +39,7 @@ var counterObj = {
|
|
|
38
39
|
(async () => {
|
|
39
40
|
console.log("Let's get a description of our counter. We will also retrieve a cookie to use for the rest of the session.");
|
|
40
41
|
await service
|
|
41
|
-
.queryCounterDescription(
|
|
42
|
+
.queryCounterDescription(sessionObj)
|
|
42
43
|
.then((response) => {
|
|
43
44
|
console.log("queryCounterDescription: ", response.results);
|
|
44
45
|
if (response.cookie) {
|
|
@@ -51,9 +52,9 @@ var counterObj = {
|
|
|
51
52
|
|
|
52
53
|
console.log("Let's collect some non session counter data.");
|
|
53
54
|
await service
|
|
54
|
-
.collectCounterData(cucmServerName,
|
|
55
|
+
.collectCounterData(cucmServerName, counterObject)
|
|
55
56
|
.then((response) => {
|
|
56
|
-
console.log("collectCounterData", response
|
|
57
|
+
console.log("collectCounterData", response);
|
|
57
58
|
})
|
|
58
59
|
.catch((error) => {
|
|
59
60
|
console.log(error.message);
|
|
@@ -66,7 +67,7 @@ var counterObj = {
|
|
|
66
67
|
console.log("SessionID", response.results);
|
|
67
68
|
SessionID = response.results;
|
|
68
69
|
await service
|
|
69
|
-
.addCounter(SessionID,
|
|
70
|
+
.addCounter(SessionID, sessionObj)
|
|
70
71
|
.then(async (response) => {
|
|
71
72
|
console.log("addCounter", response.results);
|
|
72
73
|
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|