Source
ROW |97149 |45749 |1 |21 |try {&bsn;&tab;var creds = JSON.parse(value);&bsn;}&bsn;catch (error) {&bsn;&tab;throw 'Failed to parse authentication data from input value.';&bsn;}&bsn;&bsn;var request = new HttpRequest(),&bsn;&tab;devices = [],&bsn;&tab;error_msg = "",&bsn;&tab;url = "{$SDWAN.API.URL}",&bsn;&tab;http_proxy = "{$SDWAN.HTTP_PROXY}";&bsn;&bsn;function getHttpData(url, token, cookie) {&bsn;&tab;request.addHeader('Cookie: ' + cookie);&bsn;&tab;request.addHeader('X-XSRF-TOKEN: ' + token);&bsn;&tab;response = request.get(url);&bsn;&tab;Zabbix.log(4, '[ SD-WAN API ] [ ' + url + ' ] Received response with status code ' + request.getStatus() + ': ' + response);&bsn;&bsn;&tab;if (request.getStatus() !== 200) {&bsn;&tab;&tab;throw 'Failed to receive data: invalid response status code.';&bsn;&tab;}&bsn;&bsn;&tab;if (response !== null) {&bsn;&tab;&tab;try {&bsn;&tab;&tab;&tab;response = JSON.parse(response);&bsn;&tab;&tab;}&bsn;&tab;&tab;catch (error) {&bsn;&tab;&tab;&tab;throw 'Failed to parse response received from SD-WAN API. Check debug log for more information.';&bsn;&tab;&tab;}&bsn;&tab;}&bsn;&bsn;&tab;if (typeof response !== 'object' &pipe;&pipe; response === null) {&bsn;&tab;&tab;throw 'Cannot process response data: received data is not an object.';&bsn;&tab;}&bsn;&bsn;&tab;return response;&bsn;};&bsn;&bsn;try {&bsn;&bsn;&tab;['token', 'cookie'].forEach(function (field) {&bsn;&tab;&tab;if (creds[field] === null &pipe;&pipe; creds[field] == "" &pipe;&pipe; typeof creds[field] === 'undefined') {&bsn;&tab;&tab;&tab;throw 'Unexpected token value has been received'&bsn;&tab;&tab;&tab;+ ((typeof creds.error !== 'undefined' && creds.error != "") ? ': ' + creds.error : '');&bsn;&tab;&tab;}&bsn;&tab;});&bsn;&bsn;&tab;if (url === '{' + '$SDWAN.API.URL}') {&bsn;&tab;&tab;throw 'Please change {' + '$SDWAN.API.URL} macro to the proper value.';&bsn;&tab;}&bsn;&bsn;&tab;if (url.indexOf('http://') === -1 && url.indexOf('https://') === -1) {&bsn;&tab;&tab;url = 'https://' + url;&bsn;&tab;}&bsn;&bsn;&tab;if (!url.endsWith('/')) {&bsn;&tab;&tab;url += '/';&bsn;&tab;}&bsn;&bsn;&tab;if (http_proxy !== '{' + '$SDWAN.HTTP_PROXY}' && http_proxy !== '') {&bsn;&tab;&tab;request.setProxy(http_proxy);&bsn;&tab;}&bsn;&bsn;&tab;devices = getHttpData(&bsn;&tab;&tab;url + 'dataservice/device',&bsn;&tab;&tab;creds.token,&bsn;&tab;&tab;creds.cookie&bsn;&tab;);&bsn;&bsn;&tab;if (Array.isArray(devices.data)) {&bsn;&tab;&tab;devices = devices.data;&bsn;&tab;}&bsn;&tab;else {&bsn;&tab;&tab;throw 'Failed to parse response received from SD-WAN API. Check debug log for more information.';&bsn;&tab;}&bsn;&bsn;} catch (err) {&bsn;&tab;error_msg = err;&bsn;};&bsn;&bsn;return JSON.stringify({&bsn;&tab;'devices': devices.map(function (device) {&bsn;&tab;&tab;obj = {&bsn;&tab;&tab;&tab;'name': device['host-name'],&bsn;&tab;&tab;&tab;'token': creds.token,&bsn;&tab;&tab;&tab;'cookie': creds.cookie,&bsn;&tab;&tab;&tab;'id': device['deviceId'],&bsn;&tab;&tab;&tab;'uuid': device['uuid'],&bsn;&tab;&tab;&tab;'type': device['device-type'],&bsn;&tab;&tab;&tab;'model': device['device-model'],&bsn;&tab;&tab;&tab;'ip': device['system-ip'],&bsn;&tab;&tab;&tab;'int_ip': device['local-system-ip'],&bsn;&tab;&tab;&tab;'cert_valid': device['certificate-validity']&bsn;&tab;&tab;};&bsn;&bsn;&tab;&tab;return obj;&bsn;&tab;}),&bsn;&tab;'error': error_msg.toString()&bsn;});|0 | |
ROW |96739 |42084 |3 |20 |3m |0 | |
ROW |96740 |42085 |3 |1 |8 |0 | |
ROW |96741 |42086 |3 |20 |1h |0 | |
ROW |96742 |42087 |1 |28 |1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}&bsn;0 |0 | |
ROW |96743 |42088 |2 |20 |1d |0 | |
ROW |96744 |28001 |1 |29 |{#SNMPVALUE}&bsn;1.3.6.1.4.1.11863.6.4.1.1.1.1.1&bsn;0 |1 | |
ROW |96745 |28001 |2 |20 |1h |0 | |
ROW |96746 |28002 |1 |29 |{#SNMPVALUE}&bsn;1.3.6.1.4.1.11863.6.4.1.2.1.1.1&bsn;0 |1 | |
ROW |96747 |28002 |2 |20 |1h |0 | |
ROW |96748 |42144 |1 |29 |{#IFOPERSTATUS}&bsn;1.3.6.1.2.1.2.2.1.8&bsn;0&bsn;{#IFADMINSTATUS}&bsn;1.3.6.1.2.1.2.2.1.7&bsn;0&bsn;{#IFALIAS}&bsn;1.3.6.1.2.1.31.1.1.1.18&bsn;0&bsn;{#IFNAME}&bsn;1.3.6.1.2.1.31.1.1.1.1&bsn;0&bsn;{#IFDESCR}&bsn;1.3.6.1.2.1.2.2.1.2&bsn;0&bsn;{#IFTYPE}&bsn;1.3.6.1.2.1.2.2.1.3&bsn;0 |1 | |
ROW |96749 |42144 |2 |20 |1h |0 | |
ROW |96750 |28003 |1 |28 |1.3.6.1.4.1.11863.6.4.1.1.1.1.3.{#SNMPINDEX}&bsn;0 |0 | |
ROW |96751 |30131 |1 |28 |1.3.6.1.4.1.11863.6.4.1.2.1.1.2.{#SNMPINDEX}&bsn;0 |0 | |
ROW |96752 |42145 |2 |10 | |0 | |
ROW |96753 |42145 |3 |20 |3m |0 | |
ROW |96754 |42146 |2 |10 | |0 | |
ROW |96755 |42146 |3 |20 |3m |0 | |
ROW |96756 |42147 |3 |1 |8 |0 | |
ROW |96757 |42148 |2 |10 | |0 | |
ROW |96758 |42148 |3 |20 |3m |0 | |
ROW |96759 |42149 |2 |10 | |0 | |
ROW |96760 |42149 |3 |20 |3m |0 | |
ROW |96761 |42150 |3 |1 |8 |0 | |
ROW |96762 |42151 |1 |28 |1.3.6.1.2.1.2.2.1.5.{#SNMPINDEX}&bsn;0 |0 | |
ROW |96763 |42151 |2 |20 |5m |0 | |
ROW |96764 |42152 |1 |28 |1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}&bsn;0 |0 | |
ROW |96765 |42153 |2 |20 |1d |0 | |
ROW |96766 |42401 |2 |21 |return JSON.parse(value).length; |0 | |
ROW |96767 |42411 |1 |29 |{#IFOPERSTATUS}&bsn;1.3.6.1.2.1.2.2.1.8&bsn;0&bsn;{#IFADMINSTATUS}&bsn;1.3.6.1.2.1.2.2.1.7&bsn;0&bsn;{#IFALIAS}&bsn;1.3.6.1.2.1.31.1.1.1.18&bsn;0&bsn;{#IFNAME}&bsn;1.3.6.1.2.1.31.1.1.1.1&bsn;0&bsn;{#IFDESCR}&bsn;1.3.6.1.2.1.2.2.1.2&bsn;0&bsn;{#IFTYPE}&bsn;1.3.6.1.2.1.2.2.1.3&bsn;0 |0 | |
ROW |96768 |42411 |2 |20 |1h |0 | |
ROW |96769 |42412 |2 |20 |1h |0 | |
ROW |96770 |42413 |1 |29 |{#DEVNAME}&bsn;1.3.6.1.4.1.2021.13.15.1.1.2&bsn;0 |0 | |
ROW |96771 |42413 |2 |20 |1h |0 | |
ROW |96772 |42414 |1 |21 |var filesystems = JSON.parse(value);&bsn;&bsn;result = filesystems.map(function (filesystem) {&bsn;&tab;return {&bsn;&tab;&tab;'dskPath': filesystem.dskPath,&bsn;&tab;&tab;'dskDevice': filesystem.dskDevice,&bsn;&tab;&tab;'index': filesystem['{#SNMPINDEX}']&bsn;&tab;};&bsn;});&bsn;&bsn;return JSON.stringify(result); |0 | |
ROW |96773 |42414 |2 |20 |1h |0 | |
ROW |96774 |42415 |3 |21 |return value/{#CPU.COUNT} |0 | |
ROW |96775 |42416 |3 |21 |return value/{#CPU.COUNT} |0 | |
ROW |96776 |42417 |3 |21 |return value/{#CPU.COUNT} |0 | |
ROW |96777 |42418 |3 |21 |return value/{#CPU.COUNT} |0 | |
ROW |96778 |42419 |3 |21 |return value/{#CPU.COUNT} |0 | |
ROW |96779 |42420 |3 |21 |return value/{#CPU.COUNT} |0 | |
ROW |96780 |42421 |3 |21 |return value/{#CPU.COUNT} |0 | |
ROW |96781 |42422 |3 |21 |return value/{#CPU.COUNT} |0 | |
ROW |96782 |42423 |3 |21 |return value/{#CPU.COUNT} |0 | |
ROW |96783 |42424 |3 |21 |return value/{#CPU.COUNT} |0 | |
ROW |96784 |42425 |2 |10 | |0 | |
ROW |96785 |42425 |3 |20 |3m |0 | |
ROW |96786 |42426 |2 |10 | |0 | |
ROW |96787 |42426 |3 |20 |3m |0 | |
ROW |96788 |42427 |3 |1 |8 |0 | |
ROW |96789 |42428 |2 |10 | |0 | |
ROW |96790 |42428 |3 |20 |3m |0 | |
ROW |96791 |42429 |2 |10 | |0 | |
ROW |96792 |42429 |3 |20 |3m |0 | |
ROW |96793 |42430 |3 |1 |8 |0 | |
ROW |96794 |42431 |3 |20 |1h |0 | |
ROW |96795 |42432 |1 |28 |1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}&bsn;0 |0 | |
ROW |96796 |42433 |2 |20 |1d |0 | |
ROW |96797 |42434 |1 |28 |1.3.6.1.2.1.10.7.2.1.19.{#SNMPINDEX}&bsn;0 |0 | |
ROW |96798 |42435 |2 |10 | |0 | |
ROW |96799 |42436 |1 |28 |1.3.6.1.4.1.2021.13.15.1.1.9.{#SNMPINDEX}&bsn;0 |0 | |
ROW |96800 |42437 |2 |10 | |0 | |
ROW |96803 |42580 |1 |29 |{#IFOPERSTATUS}&bsn;1.3.6.1.2.1.2.2.1.8&bsn;0&bsn;{#IFADMINSTATUS}&bsn;1.3.6.1.2.1.2.2.1.7&bsn;0&bsn;{#IFALIAS}&bsn;1.3.6.1.2.1.31.1.1.1.18&bsn;0&bsn;{#IFNAME}&bsn;1.3.6.1.2.1.31.1.1.1.1&bsn;0&bsn;{#IFDESCR}&bsn;1.3.6.1.2.1.2.2.1.2&bsn;0&bsn;{#IFTYPE}&bsn;1.3.6.1.2.1.2.2.1.3&bsn;0 |0 | |
ROW |96804 |42580 |2 |20 |1h |0 | |
ROW |96805 |42581 |1 |21 |var filesystems = JSON.parse(value);&bsn;&bsn;result = filesystems.map(function (filesystem) {&bsn;&tab;return {&bsn;&tab;&tab;'hrStorageDescr': filesystem.hrStorageDescr,&bsn;&tab;&tab;'hrStorageType': filesystem.hrStorageType,&bsn;&tab;&tab;'hrStorageAllocationUnits': filesystem.hrStorageAllocationUnits,&bsn;&tab;&tab;'index': filesystem['{#SNMPINDEX}']&bsn;&tab;};&bsn;});&bsn;&bsn;return JSON.stringify(result); |0 | |
ROW |96806 |42581 |2 |20 |1h |0 | |
ROW |96807 |42582 |1 |21 |var filesystems = JSON.parse(value);&bsn;&bsn;result = filesystems.map(function (filesystem) {&bsn;&tab;return {&bsn;&tab;&tab;'hrStorageDescr': filesystem.hrStorageDescr,&bsn;&tab;&tab;'hrStorageType': filesystem.hrStorageType,&bsn;&tab;&tab;'hrStorageAllocationUnits': filesystem.hrStorageAllocationUnits,&bsn;&tab;&tab;'index': filesystem['{#SNMPINDEX}']&bsn;&tab;};&bsn;});&bsn;&bsn;return JSON.stringify(result); |0 | |
ROW |96808 |42582 |2 |20 |1h |0 | |
ROW |96809 |42583 |2 |10 | |0 | |
ROW |96810 |42583 |3 |20 |3m |0 | |
ROW |96811 |42584 |2 |10 | |0 | |
ROW |96812 |42584 |3 |20 |3m |0 | |
ROW |96813 |42585 |3 |1 |8 |0 | |
ROW |96814 |42586 |2 |10 | |0 | |
ROW |96815 |42586 |3 |20 |3m |0 | |
ROW |96816 |42587 |2 |10 | |0 | |
ROW |96817 |42587 |3 |20 |3m |0 | |
ROW |96818 |42588 |3 |1 |8 |0 | |
ROW |96819 |42589 |3 |20 |1h |0 | |
ROW |96820 |42590 |1 |28 |1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}&bsn;0 |0 | |
ROW |96821 |42591 |2 |20 |1d |0 | |
ROW |96822 |42593 |2 |1 |{#ALLOC_UNITS} |0 | |
ROW |96823 |42594 |2 |1 |{#ALLOC_UNITS} |0 | |
ROW |96824 |42595 |2 |1 |{#ALLOC_UNITS} |0 | |
ROW |96825 |42596 |2 |1 |{#ALLOC_UNITS} |0 | |
ROW |96826 |45491 |1 |12 |$.data.discovery_queue |3 |No "discoverer" processes started. Please check "StartDiscoverers" parameter in the server configuration file. |
ROW |96827 |45492 |1 |12 |$.data.process['discovery manager'].busy.avg |3 |No "discovery manager" processes started. |
ROW |96828 |45493 |1 |12 |$.data.process['discovery worker'].busy.avg |3 |No "discovery worker" processes started. |
ROW |96829 |45500 |1 |12 |$.data.discovery_queue |3 |No "discoverer" processes started. Please check "StartDiscoverers" parameter in the server configuration file. |
ROW |96830 |45501 |1 |12 |$.data.process['discovery manager'].busy.avg |3 |No "discovery manager" processes started. |
ROW |96831 |45502 |1 |12 |$.data.process['discovery worker'].busy.avg |3 |No "discovery worker" processes started. |