Original source code: http://sourceforge.net/projects/opengts/ Our Current Custom installation is running at: http://track.migps.net General Requirement: Developer must deliver to us t…Full description
A standard Reporting Suite delivery package The components of a Reporting Suite • KPI & Report definitions The actual content of the package which also has the highest Intellectual property value to Nokia Siemens Network • Query Engine A multi-pass engine for efficient extraction of data based on report definitions • Adaptation Support Technology specific (e.g. RAN, BSS …) configuration of the engine enabling support for different object topologies and DB layout The NetAct components used by a RS • NetAct Reporting API In current deliveries this is the Perl based ODR, but porting to the Java based WebScripting is ongoing • Netact Database The RC or GR Oracle DB storing the PM data
NetAct Reporting Suite KPI & Report definitions (XML files)
Query engine
Adaptation support NetAct Reporting API NetAct Database
Reporting Suites supporting different NW technologies The Reporting Suites supports a range of different NW technologies Each technology has a package with own adaptation support and KPI & reports
3G RAN R 3G
AN
3G 3G RAN RAN
NSS S NS
NSS NSS
MGW W MG
MGW MGW
Note The query engine is the same for all NW technologies. Only the adaptation support and content (i.e. KPIs and reports) are changed.
Customizing Reporting Suites The RS offers 2 interfaces for customization The Reporting Interface • Used for customizing the KPI and report definitions • Typically done by changing or extending standard reports • Open for customers to use as well as NSN in customization projects The Adaptation Interface • Used for customizing the adaptation support for reporting on new NW technologies (e.g. MVI) or adding new object levels to already supported technologies • Not available for customer use – only for Nokia internal use • This interface is still under development Customizations should be done as additions to the standard KPI and report definitions Maintenance of customized solutions are of course the responsibility of customisation team or customer
NetAct Reporting Suite KPI & Report definitions (XML files) Reporting Interface Query engine Adaptation Interface Adaptation support NetAct Reporting API NetAct Database
Engine Design Principles The core task of the reporting engine is to transform the raw counters into KPIs that enables efficient analysis of the network performance and capacity utilization To do this the engine needs definitions of the KPIs and reports. When defining KPIs and reports there are a number of principles that should be taken into considerations • Key priorities for the engine and the KPI definition format – Generic KPI definitions Reports are needed on many different object and time aggregation levels Open possibilities for advanced UI operations such as drill down and KPI analysis
– Focus on reuse KPIs are typically required in different contexts, which typically means that a KPI will appear in multiple reports To ensure correctness and maintainability it is important that a KPI is defined only once.
– Focus on documentation The KPI definition and the related documentation should be kept in close proximity to ensure consistency
Reporting Interface The Reporting Interface’ is used to create reports and KPIs There are two types of reports • A self-contained report consists of a single xml file that can be executed by the engine without any further dependencies. This means that both counter aggregations and KPI formulas are specified in a single file.
• A reference reports on the other side contains references to KPIs that again contains references to counters. This means that KPIs and counter aggregation definitions can be used in multiple reports and still having all definitions made only once. This generally makes report definition a lot easier and simplifies maintenance as definitions are made only once and then reused as needed.
A Self Contained Report – Self-contained reports are used in previous RS (perl based), which can be imported to new RS with some modifications – Difficult to maintain as we need to update KPI in every files
Physical Overview All customized content and configuration should be put in the custom directory. All directories marked with italics are read-only. All files outside the custom directory will be overwritten on upgrades
Notes on Engine execution The formulas for both the Aggregation Step and KPI Step is written in Oracle Sql syntax, which adds a lot of expressive power to the definitions. • Aggregation definition examples sum(prxtot_denom_4)decode(nvl(sum(prxtot_denom_4),0),0,-112, log(10,(sum(prxtot_denom_4*0.001*power(10,(112+ave_prxtot_class_4/10)))/sum(prxtot_denom_4))/0.001))
Outer joins When the results of the Aggregation Step is being combined one the measurements has to be selected as driver. In most cases the driver can be selected freely between the measurements being used.
obj ho_succ ho_fail bts1 30 5 bts1 14 3 bts2 25 3 Result of Aggregation
Outer joins
In order to ensure the correct output, the Query Engine builds SQL that employees outer joins between the measurement tables. A “normal” join finds values in two tables that are in relation is equality (=). It only returns rows that are present in both tables for the compared columns. A row whose column-value is not found in the other table’s joined columns is not returned at all. As it is required to return the fullest possible result set, outer join is used. In an outer join you define a master table. When the outer join is made all the columns in the master will be returned even if they do not have a value in the other table.
Prepare KPI and its formula to implement List all counters/measurement involved in the formulas (optional) add new counters to the counter file if non exists Create kpi file for each of the KPIs • Create a new KPI, minimum the following has to be filled – Formula, title, formula, unit, tables, kpi_alias, kpi_format • Check that null values are possible divide-by-zero cases are dealt with 5. Create report file • Add the KPI name to the column_order section 6. Upload and run test 7. later add to ui_conf
Key Terms Adaptation support • is all the data that we have to create to support a particular adaptation, eg E/// RAN or Nokia NSS Templates • is a part of an xml document that contains an partial SQL statement with placeholders • Create adaptation support generally involves creating a set of templates. Report Level • The object level of the final report • The report level is a hierarchy string, eg PLMN/RNC/WBTS/WCEL Measurement base level • The object that is being measured • The object level of the raw data • The report level is a hierarchy string, eg PLMN/RNC/WBTS/WCEL • meas_level is a property of the measurement and it never changes – E.g. service level measurement is done on WCEL level, i.e.. PLMN/RNC/WBTS/WCEL and this will always be the measurement level no matter if using raw or aggregated data.
KPI definitions An example of a KPI definition (hsdpaw.CQI_DIST_CL_5_1)Number of reported CQI values matching to "Reported CQI distribution - class 5" (numbers of CQI value 5).sum(CQI_DIST_CL_5_1)[#]NOKRWW_PS_HSDPAW_{OBJ_AGG}_{TIME_AGG}float:0all
Create a new KPI All KPI files are placed under the kpis folder in the /custom/”adaptation”/kpis folder. e.g. /custom/training/kpis/ A KPI file consists of :
• temp table references • KPI definitions. The temp table reference is created with the tag . That has one attribute: src. The attribute src is used to identify the referenced table, e.g. src="custom/sbm/counters/kcc.xml“. It is possible to add new counter aggregations to the referenced temp table, in a basic inheritance approach. Name clashes will result in an error. …
Create a new KPI Every KPI added to a KPI file is created within the KPI tag. The KPI tag has a attribute name. The attribute name is the id of a KPI. Nokia defined KPIs uses an official Nokia naming convention, e.g. ava_45. Max length of this attribute is 30 characters, it is recommended to use lower case only, and spaces are not allowed.
Create a new KPI The tag is defined within the tag. Inside the tag all the help information about the KPI is stored. Four sub tags can be defined inside the : title, use, formula, unit, and tables Title either the same as kpi_alias or a longer and more descriptive title If this fields is left empty, then kpi_alias will be used as replacement. Use Description or explanation. This is the main field for documenting the KPI … RRC setup success rate … …
Create a new KPI The kpi_alias is a short descriptive name of the KPI. The kpi_alias is the descriptive header used in the report output. It should be kept under 40 characters. Spaces between words are encouraged as it improves the visual appearance of the final report. nvl(decode( ( kcc.RRC_CONN_STP_ATT ),0, null, 100*( kcc.RRC_CONN_ACC_COMP ) / ( kcc.RRC_CONN_STP_ATT )),null)RRC Setup Success Rate …
Create a new KPI The tag must follow the webscript conventions, e.g. float:2 and float:0. nvl(decode( ( kcc.RRC_CONN_STP_ATT ),0, null, 100*( kcc.RRC_CONN_ACC_COMP ) / ( kcc.RRC_CONN_STP_ATT )),null)float:2 … …
Create a new KPI With the defined within the tag we can color the background red, green, yellow or orange in the MS Excel export of the table output. It is a markup according to Webscript Framework. … ]]> …
Create a new KPI cont. The tag is defined within the tag and is used for documentation in web pages. It is free format and does not have to adhere to the SQL syntax. For formatted output is allowed to use html formatting option, but the text and tags should be enclosed in a CDATA section. If you want to preserve the indentation it is possible to use the
Create a new KPI cont. The unit of the KPI defined in the tag should be in brackets, e.g. [%], [nbr], [dBm], [sec]. The tag defines the measurements used by this KPI. … RRC setup success rate sum(RRC_CONN_STP_ATT) / sum(RRC_CONN_ACC_COMP) ]]>%nokrww_ps_kcc_mnc1_raw …
Create a new report New report files are put in the ”report” subdirectory of the adaptation. e.g.. custom/training/reports Every report xml-file has a root tag called . The tag defines the title of the report. This will be displayed in the user interface. Recommendation is that it should be kept below 40 characters.
Create a new report The tag is optional. The information given within this tag is a longer descriptive text about the report. Information entered here will be displayed in the online help. CDATA is used to get HTML formatting of the output. The tag is also optional and it is a shorter descriptive text that also can be given to the report. The report description will be displayed at the top of the report output table when a report has been executed. It is therefore recommended that this text is kept short and informative. Example reportThis a example report. … …
Create a new report The next step is to make a reference entry in the report XML to existing KPI’s in the KPI library. The existing KPI libraries is divided into different adaptations. The library is found under the folder custom/”adaptation”/kpis, e.g. ”custom/training/kpis/” Existing KPI’s are referenced with the tag. … …
The KPI library file used in this example is …/sbm_kcc.xml. Multiple KPI’s may be defined within a file. The hashmark symbol (#) identifies the KPI to use. Good behavior is to only keep one KPI definition per KPI file and the filename the same as the KPI id.
Create a new report The tag specifies the order in which the KPIs will be displayed on the web page. For each KPI-reference in the report, an element with the name (@name) of the KPI is used as element name. KPIs can be grouped under different headers in the result output. If the user wants to use grouping it should be defined here. If several KPIs are part of the same group attribute the group must be defined for each KPI that belongs to the group.
Create a new report By looking within the tag in a KPI definition one can see that the temp-table(s) aliases that is used for the counters included. For this example the KPI uses a counter RRC_CONN_STP_ATT that is defined in temp table with the alias ”kcc”. The alias “kcc” was defined as a master in the tag.
Create a new report The example of a complete report that uses one KPI reference again. RSRAN RAS05. 1 ED 4.2.2RSRAN031 - Traffic on AAL5Traffic on AAL5]]>Traffic on AAL5Traffic on AAL5true
Installation customized report into NetAct Properties Files Update and Activating Configuration Changes To enhance performance the configuration data is generally cached in memory. The validity of the configuration data in memory is checked in two cases When a new session is created in the web UI When the user switches to a new ui_conf file • This typically happens when the user select a new Reporting Suite entry in the menu. The cached data is deemed valid if the time stamp of the files engine.properties and custom.properties are unchanged. If there are any change to the time stamps all configuration data will be reloaded. To make sure that the cached configuration data is used the time stamp of custom.properties should be updated. So if you are updating a template file on tier 3 then the procedure is Copy the file template to the correct location on tier 3 (and thus overwriting the existing file) Run the command touch custom.properties in the custom/conf directory The templates will then be loaded next time anyone opens the UI.