Skip to main content

    Filter by idea status

    Filter by product

    629 Ideas

    Aleksey
    AlekseySteward **

    IP camera HiWatch DS-I114W monitoring through ISAPI (similar to hardware::devices::hikvision::nvr::isapi::plugin)Needs Votes

    HelloWe have a good plugin "hardware::devices::hikvision::nvr::isapi::plugin", which we made based on the case #3211It is possible to create a new plugin with minimal effort using the developments of the plugin "hardware::devices::hikvision::nvr::isapi::plugin"We have several HiWatch DS-I114W IP cameras in production.These cameras have microcode similar to Hikvision. They do not have SNMP support, but do have basic ISAPI support.Can you please make a new plugin "hardware::devices::hiwatch:camera:isapi::plugin" similar to the plugin "hardware::devices::hikvision::nvr::isapi::plugin"?Only for the new plugin there are some nuances and I will explain them below.------- Device Inventory --------# ./centreon_plugins.pl '--plugin=hardware::devices::hikvision::nvr::isapi::plugin' '--mode=device' '--api-password' 'mypass' '--api-username' 'myuser' '--hostname' 'cam004' '--proto' 'https' '--ssl-opt' 'SSL_verify_mode => SSL_VERIFY_NONE' Model: DS-I114W, Serial: DS-I114W20171106AAWR123556070, Firmware: V5.4.81 That is, you can similarly create '--mode=device' for the plugin "hardware::devices::hiwatch:camera:isapi::plugin"------- Device Uptime --------# ./centreon_plugins.pl '--plugin=hardware::devices::hikvision::nvr::isapi::plugin' '--mode=uptime' '--api-password' 'mypass' '--api-username' 'myuser' '--hostname' 'cam004' '--proto' 'https' '--ssl-opt' 'SSL_verify_mode => SSL_VERIFY_NONE'OK: System uptime is: 26m 2s | 'system.uptime.seconds'=1562;;;0; That is, you can similarly create '--mode=uptime' for the plugin "hardware::devices::hiwatch:camera:isapi::plugin"------- Memory Usage -------# ./centreon_plugins.pl '--plugin=hardware::devices::hikvision::nvr::isapi::plugin' '--mode=memory' '--api-password' 'mypass' '--api-username' 'myuser' '--hostname' 'cam004' '--proto' 'https' '--ssl-opt' 'SSL_verify_mode => SSL_VERIFY_NONE' '--warning-memory-usage-prct' '90' '--critical-memory-usage-prct' '98' '--filter-perfdata' '(.usage.)' OK: memory usage total: 2.18 GB used: 97.00 MB (4.34%) free: 2.09 GB (95.66%) | 'memory.usage.bytes'=101711872B;;;0;2341470208 'memory.usage.percentage'=4.34%;0:90;0:98;0;100 That is, you can, by analogy, create '--mode=memory' for the plugin "hardware::devices::hiwatch:camera:isapi::plugin"------- CPU Usage -------# ./centreon_plugins.pl' '--plugin=hardware::devices::hikvision::nvr::isapi::plugin' '--mode=cpu' '--api-password' 'mypass' '--api-username' 'myuser' '--hostname' 'cam004' '--proto' 'https' '--ssl-opt' 'SSL_verify_mode => SSL_VERIFY_NONE' OK: Cpu utilization: 91.00% | 'cpu.utilization.percentage'=91%;;;0;100 That is, you can similarly create '--mode=cpu' for the plugin "hardware::devices::hiwatch:camera:isapi::plugin"------- Device Time -------# ./centreon_plugins.pl' '--plugin=hardware::devices::hikvision::nvr::isapi::plugin' '--mode=time' '--api-password' 'mypass' '--api-username' 'myuser' '--hostname' 'cam004' '--proto' 'https' '--ssl-opt' 'SSL_verify_mode => SSL_VERIFY_NONE' '--critical-offset' '-180:180' '--timezone' '+0300' '--warning-offset' '-60:60' --debug --verboseUNKNOWN: Cannot find time informations======> request send...======> response doneHTTP/1.1 200 OK...<?xml version="1.0" encoding="UTF-8"?><Time version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema"><timeMode opt="NTP,manual"/></Time> That is, you can similarly create '--mode=time' for the plugin "hardware::devices::hiwatch:camera:isapi::plugin"But in order for this mode to work, you need to make a request to ISAPI not at /ISAPI/System/time/capabilities , but at /ISAPI/System/timeHere is an example of the returned data:<Time version="2.0"><timeMode>NTP</timeMode><localTime>2023-11-09T18:32:36+03:00</localTime><timeZone>CST-3:00:00</timeZone></Time> ------- Device Protocols -------# ./centreon_plugins.pl' '--plugin=hardware::devices::hikvision::nvr::isapi::plugin' '--mode=protocols' '--api-password' 'mypass' '--api-username' 'myuser' '--hostname' 'cam004' '--proto' 'https' '--ssl-opt' 'SSL_verify_mode => SSL_VERIFY_NONE''--warning-status' '(%{name} eq "RTSP" and %{enabled} eq "true") or (%{name} eq "HTTPS" and %{enabled} ne "true")' --debug --verboseUNKNOWN: 400 Bad Request======> request send..======> response doneHTTP/1.1 400 Bad Request...<?xml version="1.0" encoding="UTF-8"?><ResponseStatus version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema"><requestURL>/ISAPI/Security/adminAccesses/capabilities</requestURL><statusCode>6</statusCode><statusString>Invalid XML Content</statusString><subStatusCode>badXmlContent</subStatusCode></ResponseStatus> That is, you can similarly create '--mode=protocols' for the plugin "hardware::devices::hiwatch:camera:isapi::plugin"But in order for this mode to work, you need to make a request to ISAPI not at /ISAPI/Security/adminAccesses/capabilities , but at /ISAPI/Security/adminAccessesHere is an example of the returned data:AdminAccessProtocolList version="2.0"><AdminAccessProtocol version="2.0"><id>1</id><protocol>HTTP</protocol><portNo>80</portNo></AdminAccessProtocol><AdminAccessProtocol version="2.0"><id>2</id><enabled>true</enabled><protocol>HTTPS</protocol><portNo>443</portNo></AdminAccessProtocol><AdminAccessProtocol version="2.0"><id>3</id><protocol>DEV_MANAGE</protocol><portNo>8000</portNo></AdminAccessProtocol><AdminAccessProtocol version="2.0"><id>4</id><protocol>RTSP</protocol><portNo>554</portNo></AdminAccessProtocol></AdminAccessProtocolList> If necessary, I am ready to provide additional information.Thank you.

    Aleksey
    AlekseySteward **

    Digi AnywhereUSB/14 monitoring through SSH CLINeeds Votes

    Hello,Monitoring of Digi AnywhereUSB devices via SNMP is very poorly implemented by DIGI.Therefore, I ask you to implement monitoring through SSHI will give a number of commands that may be useful to usAs I understand it, the last column is the percentage of flash usage:#> dfFilesys blocks used bsize files usedWEB 1107 42 512 234 2CFGDATA 984 151 512 630 18 General Information on CPU Utilization and Memory Usage (two identical commands):#> display device#> info deviceDevice Information:Product : AnywhereUSB/14MAC Address : 00:40:9D:8A:12:22Firmware Version : 1.95.21.64 (build 82002081_P awusb14 eos 2/02/2018 8:27:24a)Boot Version : 1.09.10.6 (release 82002082_B awusb14 bootloader 11/09/2009)Post Version : 1.09.9.39 (release 82001552_A generic_travis hwdiag 11/09/2009)Product VPD Version : noneProduct ID : 0x0121Hardware Strapping : 0x0000CPU Utilization : 2 %Uptime : 1 day, 4 hours, 37 minutes, 25 secondsTotal Memory : 134217728Used Memory : 10775620Free Memory : 123442108 Full Firmware Version Information:#> display versionsAnywhereUSB/14:Component Part-Number Release-TagBOOT 82002082 release 82002082_B awusb14 bootloader 11/09/2009POST 82001552 release 82001552_A generic_travis hwdiag 11/09/2009 (V1.09.9.39)Stored EOS 82002081 build 82002081_P awusb14 eos 2/02/2018 8:27:24a (V1.95.21.64)Running EOS 82002081 build 82002081_P awusb14 eos 2/02/2018 8:27:24a (V1.95.21.64) List of current connections to USB ports:#> whoID From To Protocol Sessions-- --------------------- --------------------- -------------------- --------1 serial 1 local shell term2 local host 192.168.12.15 (Group 4) Realport USB3 local host 192.168.0.134 (Group 13) Realport USB4 local host 192.168.144.55 (Group 3) Realport USB5 local host 192.168.0.135 (Group 14) Realport USB6 local host 192.168.0.131 (Group 10) Realport USB7 local host 192.168.0.132 (Group 11) Realport USB8 local host 192.168.12.16 (Group 5) Realport USB9 local host 192.168.0.133 (Group 12) Realport USB10 local host 192.168.40.15 (Group 7) Realport USB11 192.168.1.100 local host ssh12 192.168.1.100 local shell ssh It is very important to check the group number here.There are 14 groups in total (1 ... 14).Group numbers must be allowed to be described as a plugin option.For example, by default, all groups from 1 to 14 are checked.If there is no group in the connection list, then this is a problem.We also need to be allowed to select group numbers from the list.For example, if we need to check only some groups of 1,3,5-8 (like --check-usb-groups = '1,3,5-8') Detailed memory usage information:#> display memory fullMemory Usage: Main Memory : Total Memory : 134217728 Used Memory : 10788052 Free Memory : 123429676 Network Memory : Current Maximum Allocated : 144704 145596 In use : 104336 130108 On recycle lists : 40368 46340 Network Resource Item Stats : Item | Size | In Use | Allocated | Maximum ttTimer | 36 | 4 | 8 | 10 ttPacket | 48 | 78 | 135 | 135 ttRte | 116 | 5 | 7 | 7 ttSocket | 268 | 9 | 10 | 10 ttTcpVect | 860 | 75 | 82 | 82 buffers | 32 | 3 | 6 | 9 64 | 0 | 2 | 8 128 | 2 | 4 | 4 256 | 78 | 134 | 134 512 | 0 | 1 | 4 1024 | 0 | 1 | 1 2048 | 2 | 5 | 6 4096 | 2 | 4 | 4 >4096 | 0 | 0 | 0 Message Block Stats : In Use | Allocated | Maximum | Success | Failure 29 | 55 | 59 | 635634 | 0 Data Block Stats : Size | In Use | Allocated | Maximum | Success | Failure 16 | 8 | 44 | 59 | 635111 | 0 64 | 27 | 27 | 27 | 246 | 0 128 | 0 | 21 | 22 | 283 | 0 256 | 0 | 0 | 0 | 0 | 0 512 | 0 | 0 | 0 | 0 | 0 Serial Port Usage Information:#> display serialSerial Status: Port# RTS CTS DSR DCD DTR RI OFC IFC 1 on off off off on off off off #> info serialSerial port #1 statistics:rbytes : 0 tbytes : 9overrun errors : 0 overflow errors : 0frame errors : 0 parity errors : 0breaks : 0signal changes : CTS DSR RI DCD RTS DTR 0 0 0 0 1 1 Enabled Services Information:#> show service Service Configuration : index state ipport keepalive nodelay dlyd-ack service 1 off 7 off off 200 TCP Echo Service 2 off 7 na na 200 UDP Echo Service 3 on 22 off off 200 SSH Service 4 on 23 off off 200 Telnet Service 13 on 80 na na 200 HTTP Service 14 on 161 na na 200 SNMP Service 5 on 443 na na 200 HTTPS Service 12 on 771 off na 5 RealPort Service 6 on 1027 off na 5 Encrypted RealPort Service 7 on 2001 off off 200 Telnet Server (Port 1) 8 on 2101 off off 200 TCP Server (Port 1) 9 on 2101 na na 200 Serial/UDP Server (Port 1) 15 on 2362 na na 200 ADDP Service 10 off 2501 off off 200 SSH Server (Port 1) 11 on 2601 off off 200 Secure Socket Service (Port 1) 16 on 3422 off na 5 Anywhere/USB Service 17 on 3423 off na 5 Encrypted RealPort Service Here, I do not understand why the SSH Server service is displayed in the off statusPerhaps it makes sense to add an option that allows us to customize the list of services whose status should be "on"Important services for USB ports:RealPort Service Encrypted RealPort Service Anywhere/USB ServiceAdditionally, you can implement a check for service TCP-listeners (and UDP-listeners)#> display tcp TCP Table: Idx family Recv-Q Send-Q LocalAddress ForeignAddress Refs State/Backlog RTO/Count 18 IPV4 0/8192 0/8192 0.0.0.0:22 0.0.0.0:0 2 LISTEN/0 0/0 19 IPV4 0/8192 0/8192 0.0.0.0:23 0.0.0.0:0 2 LISTEN/0 0/0 29 IPV4 0/8192 0/8192 0.0.0.0:80 0.0.0.0:0 2 LISTEN/0 0/0 20 IPV4 0/8192 0/8192 0.0.0.0:443 0.0.0.0:0 2 LISTEN/0 0/0 25 IPV4 0/8192 0/8192 0.0.0.0:771 0.0.0.0:0 2 LISTEN/0 0/0 21 IPV4 0/8192 0/8192 0.0.0.0:1027 0.0.0.0:0 2 LISTEN/0 0/0 22 IPV4 0/8192 0/8192 0.0.0.0:2001 0.0.0.0:0 2 LISTEN/0 0/0 23 IPV4 0/8192 0/8192 0.0.0.0:2101 0.0.0.0:0 2 LISTEN/0 0/0 24 IPV4 0/8192 0/8192 0.0.0.0:2601 0.0.0.0:0 2 LISTEN/0 0/0 26 IPV4 0/8192 0/8192 0.0.0.0:3422 0.0.0.0:0 2 LISTEN/0 0/0 27 IPV4 0/8192 0/8192 0.0.0.0:3423 0.0.0.0:0 2 LISTEN/0 0/0... #> display udp UDP Table: Index family RecvQ SendQ LocalAddress Refs 30 IPV4 0/8192 0/8192 0.0.0.0:161 3 25 IPV4 0/8192 0/8192 0.0.0.0:2362 2 7 IPV4 0/8192 0/8192 0.0.0.0:3422 3 9 IPV4 0/8192 0/8192 0.0.0.0:34822 2 94 IPV4 0/8192 0/8192 0.0.0.0:47452 2 27 IPV4 0/8192 0/8192 0.0.0.0:47549 2 28 IPV4 0/8192 0/8192 0.0.0.0:62330 2 Here are the numbers of all ports and their descriptions: Network Activity Information:#> info ethernet if=*#> info ethernetEthernet statistics for eth0:InBytes : 59293870 OutBytes : 46232065InUcastPkts : 576238 OutUcastPkts : 652188InNonUcastPkts : 97095 OutNonUcastPkts : 39InDiscards : 0 OutDiscards : 0InErrors : 0 OutErrors : 0InUnknownProtos : 62719 #> info ipIP statistics:InReceives : 571619 OutRequests : 649253InAddressErrors : 4792 DatagramsForwarded : 0InHeaderErrors : 0 OutNoRoutes : 0InUnknownProtos : 52 OutDiscards : 0InDiscards : 0 FragCreates : 0ReassembleOks : 0 FragOks : 0ReassembleFails : 0 FragFails : 0 #> info icmpICMP statistics:InMessages : 2549 OutMessages : 2154InDestUnreachables : 0 OutDestUnreachables : 0InErrors : 0 #> info tcpTCP statistics:InSegments : 504209 OutSegments : 368858InErrors : 0 RetransmitSegments : 127EstabResets : 7 OutResets : 42PassiveOpens : 3555 ActiveOpens : 5Established : 62 AttemptFails : 0 #> info udpUDP statistics:InDatagrams : 5480 OutDatagrams : 5484InErrors : 0 NoPorts : 24693 I am ready to answer your clarifying questions. Source: https://github.com/centreon/centreon-plugins/issues/1722