I'm trying to do something way beyond my day-to-day usage of Orion and SAM and could do with a hand. Here's the background:
We have a number of properties that we let out to tenants. As part of the rent we provide WiFi, broadband etc using consumer-grade equipment, not enterprise-grade. This is partially due to cost restrictions - the properties are really a loss leader and there are numerous other reasons that I'm not going in to here. The constraint is that the remote broadband devices do not support SNMP. If it's of any interest, the remote devices are Thomson/Technicolor TG series routers.
I have written a windows powershell monitor within SAM which uses Invoke-WebRequest to log in to the web interface of the router and scrape a bunch of stats (ADSL link speed, firmware versions, data transfer stats etc). This is great and allows us to preempt ADSL dropouts etc. However I'd like to take it 2 steps further:
1. Automatically populate information in the Orion DB (model number, serial number, firmware version etc) - the same kind of details you would have for a node if it were being polled via SNMP. I assume this is possible via the SWIS PowerShell API but have not looked into it yet
2. Report on the statistics output by my powershell monitor. I'm struggling to see how to do this at the moment. I can see the statistics with the names I've given them in the web interface when viewing the application that the powershell monitors are attached to, but I can't see them in the report builder at all. I think this is because when I go to select fields to go into my table in the report builder, it's selecting the first component in the database to show the fields to select, which is an SQL Server monitor in my case, not my Router Stats component.
I'm also interested to see if it's possible to create dummy interfaces within Orion which Orion does not poll itself, but that the powershell monitor can feed information into via the API. I could easily create stats like bytes transferred and feed in information interface statuses, and then these interfaces could be reported on and alerted on the same way as our real, SNMP-queried interfaces on our switches.
I appreciate this is a lot of questions in one discussion, let me know if you'd like me to split them. And I'm happy to make the code available to the community once it's done (although I doubt anyone is daft enough to have ended up in the same situation I'm in).