Conversation
|
@Deenk , I seem to be running into repeated 500 errors on the Backup Management OOB dashboards. Looking at the logs, one of the offending endpoints seems to be
|
@gdorward This is probably because our license expired for the 'backups' module in NinjaOne. I'll investigate if that truly is the case and either request they fix it, or fix whatever is broken on our side depending on who's fault it is |
|
I'm getting this error on imports all of a sudden @Deenk - specifically importing devices:
|
I broke this during my testing adding more devices, pushing a fix for this now |
@gdorward this is now fixed |
| "name": "name", | ||
| "type": { "value": "NinjaOne Organization" }, | ||
| "properties": [{ "organizationId": "id" }, "description", "nodeApprovalMode"], | ||
| "externalLink": "{{instanceUrl}}/app/organizations/{{id}}" |
There was a problem hiding this comment.
Should this be under properties?
Notably, I think you should be able to set links, but we might have an issue with the syntax as there's an open ticket: https://squaredup-eng.atlassian.net/browse/SAAS-9111?search_id=186f205d-1b37-4db8-801f-bc66ebaf628f
vinbab
left a comment
There was a problem hiding this comment.
@Deenk feedback on Objects
- My recommendation is to use a Source Type name that reflects how it's called in NinjaOne / API. For instance, in Pingdom, the SourceType is
probes/checksnotPingdom Probes. It does not look best but we have a mechanism that lets us define custom friendly name if we wanted to. In short, I'd recommend not artificially addingNinjaOne.... Akin to HaloPSA, we haveAgent, notHaloPSA Agent
vinbab
left a comment
There was a problem hiding this comment.
@Deenk feedback on OOB dashboards:
- I recommend setting a fixed timeframe for some of the Overview dashboard so they don't try to load too much / everything. First time users might find that slow. For instance, the Activity Log dashboard times out OOB for me. I'd recommend either setting a timeframe (7 days is often a good middle ground) or filtering to a specific Status (Open)
- It would be useful on the Device Overview to have at tile towards the top with a drilldown link to the Device perspective, gives a sense of endless exploration out-of-the-box
- Same with Orgnization Overview
- Check to see if other Overview dashboards have a relevant drilldown to add too
- TicketBoards folder ->
Ticket Boards
I think this goes beyond just the OOB dashboards. I set up an Alerts tile and it warns based on the dashboard timeframe, applies |
There was a problem hiding this comment.
@Deenk data streams list
Devices,Location DevicesandOrganization Devices: those data streams look similar. If that is from one endpoint with query / URL filters, could they be merged into one data stream with Parameters to filter? Else could they be named to start withDevices (...- Same as above with
LocationsandOrganization Locations Software (Global)andVolume (Global)don't return anything. I see they have different API endpoints, so probably makes sense to have them separate toSoftwareorVolumelike you have done.- Should these data streams be named to be grouped together, e.g.
Devices(...: Disks, Volumes, Network Interfaces, Processors, Operating Systems - Could
Device HealthandHealthbe merged? Same endpoint, different URL query filters it seems
vinbab
left a comment
There was a problem hiding this comment.
@Deenk Activities data stream constantly times out for me. I'll pause my review here and wait for @AliceG-Sq 's test comments and @gdorward about timeframe to be addressed. Then I'll do some final checks on column data types.
Thanks for the feedback! I've now addressed all of these. I've changed the names of the data streams as suggested and also merged some where possible so we aren't duplicating data streams |
I've updated the OOB dashboards to reflect all of this feedback. Please take a look when possible! |
@gdorward this should now be fixed. I've actually added timeframe support for a lot of these datatsreams, and fixed the timeframe in the datastreams that do not support timeframes. I was setting timeframe to 'none' when i should have been setting them to 'false' in a lot of cases |
Thanks, I have now removed the NinjaOne prefix from objects to address this |
Thanks @vinbab , although LCP does not support deriving URLs like this (from what I can see), I have managed to discover you can get a token from the base url, so I now only need to use one radio selector. I've made the change. Secret should now also be uppercase in the locations you mentioned |
@vinbab fixed this now, paging was partially broken for this data stream |
🧩 Plugin PR Summary📦 Modified Plugins
📋 Results
🔍 Validation Details✅
|
| "h": 2, | ||
| "x": 0, | ||
| "y": 0, | ||
| "i": "sec-kpi-activethreats-001", |
| }, | ||
| { | ||
| "category": "feedback", | ||
| "url": "https://feedback.squaredup.com/plugins/p/ninjaone", |
| "mode": "none" | ||
| }, | ||
| "expandInnerObjects": true, | ||
| "endpointPath": "/v2/organization/{{objects[0].organizationId}}/locations", |
There was a problem hiding this comment.
In the expression you're specifying objects[0] meaning it will only take the first selected org. If you want this to work with multiple, you'll either need to:
- Use the 'request per object' datastream so a request is made for each object in scope
- Use an API endpoint that access multiple organisation IDs and then map over
objectsappropriately.
| "h": 4, | ||
| "x": 0, | ||
| "y": 2, | ||
| "i": "backup-bar-usage-001", |
There was a problem hiding this comment.
These should all be guids I think?
| "name": "name", | ||
| "type": { "value": "NinjaOne Organization" }, | ||
| "properties": [{ "organizationId": "id" }, "description", "nodeApprovalMode"], | ||
| "externalLink": "{{instanceUrl}}/app/organizations/{{id}}" |





🔌 Plugin overview
🖼️ Plugin screenshots
Plugin configuration
Default dashboards
🧪 Testing
I have tested that every data stream returns unnested arrays and results. data types should all be correct for strings, numbers, dates
There are a number of ninjaone modules/add ons based on the licence tier of the customer. I already support the backups and tickets modules, but there are 5/6 more I could add support for later.
📚 Checklist