I field a lot of questions regarding creating custom reports for EdgeSight and thought I would share the most common answers or information that a person should know before embarking on such an endeavor. All of this information is in regards to the 5.X version of EdgeSight in which the reports themselves were significantly changed to support things like the select lists in the reports as well as multiple languages. Reports based on the 4.5 version of EdgeSight should still work in the 5.x console but might need a minor change here or there based on what I have seen.
These are the most common things I explain to people when I respond to custom reporting questions. If you have more questions please feel free to leave a comment on the blog and I will respond inline or if there is enough interest, create a part two.
What you can and cannot customize
In the help file there is a list of what data EdgeSight collects. If the data is collected by EdgeSight then you can create a report that displays it, but if it’s not something that is already collected there is no way to create a report to and then tell the EdgeSight agent to collect that new piece of data. In addition, custom reporting is limited to the historical reports. The dashboard or real-time troubleshooters cannot be customized. Most people see a particular report that almost satisfies their needs but what to slice or dice the data in a different way, and that’s really the function of custom reports.
Skills/technologies you need to know to create a custom report
Given that the queries to access the data are written in T-SQL, you are going to need to at least know a fair amount of this database language to modify or create a new query within a report. EdgeSight integrates with Microsoft Reporting Services to provide the historical reports so the reports themselves are written in a form of XML called RDL or Report Definition Language. You should be familiar with how to navigate an XML file and familiarity with RDL and Microsoft Reporting Services would obviously be a big help.
I’ve spoken with more than a few customers who have individuals in the company that are proficient with Reporting Services and since EdgeSight uses RDL to its specifications, those people should have no problem creating custom reports. Microsoft’s Report Builder allows you to create reports and queries without having to navigate the RDL file itself. (More of a drag and drop type of thing)
Where to start
Unless you are an expert in RDL/SQL and are very familiar with the standard EdgeSight reports, my recommendation would be to use the Report Builder and load up an existing report and modify it using the GUI tools or start from scratch and try to create your own new report. The underlying structure of a 5.x report is very complex and trying to edit this manually is not something I would recommend others try without a deep understanding of the technology.
Use the EdgeSight database views
The SQL Views that the development team uses to create the standard reports are all detailed in the EdgeSight help file. Accessing the underlying tables is not recommended since they may change slightly from version to version, while the views should stay the same and are always fully documented. Another trick is to take a look at the query inside a similar report that may contain the same or a similar data type, and see how the developer accessed the view or even which one they went after.
Use the common EdgeSight parameters
When you upload a report into the EdgeSight environment you can make use of the standard report controls (to get the select a device box, or select a department or group etc) that are part of all the standard reports if you name your parameters the same. In the white paper Anatomy of an EdgeSight Report, I detail those parameter names and the corresponding controls they create. While this article was written for 4.5 reports and details that particular report structure, the control names are still the same. Again, you can load up one of the standard reports in the Report Builder or any XML editor and see how the developer accessed that control.
You can’t really break anything
Reports are only going to read data from the database, so uploading a report that doesn’t quite work correctly will only give you a big red error message when you try to upload it. It won’t break any of the existing reports or mess up the database in anyway. Don’t be afraid to start small and try something to see if it works, you can always delete the report from the EdgeSight Server and try again. Believe me, I’ve created hundreds of custom reports and still will sometimes get the big error message because I forgot to close an XML tag or wrote a query that doesn’t work.