Procedure for Layout Tool Demo
Total Page:16
File Type:pdf, Size:1020Kb

Managing Your Reporting Server: Administering, Monitoring, and Debugging.
Terry Schwarz Information Builders Information Builders Summit 2016 User Conference June 13 – 17, 2016
Author: Terry Schwarz Company: Information Builders Presentation Title: Managing Your Reporting Server: Administering, Monitoring, and Debugging
Presentation Abstract: This lab is intended for WebFOCUS and DataMigrator Server Administrators with various levels of experience and covers Debugging and Server Monitoring topics. We review a few techniques that can be used to fix configuration problems, research performance of server procedures and reproduce agents’ crashes. As part of the lab we configure email notifications to alert server Administrators on error conditions, monitor server activity and review server logs and traces.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 1 of 47 4/5/2018 What we will cover:
Testing server components and resolution of bad Adapter configuration Research of performance problem. Debugging Using Session Log. Configuration Event routing and testing of Email notifications Data agents Statistics and Monitoring. Using Custom Monitor Pages Server Log and traces. Collection of Server Diagnostics.
Specific Exercises:
Exercise 1 - Verification of Server Services and Listeners
Exercise 2 - Procedure FOC1400 Error: Resolving Invalid Adapter Configuration
Exercise 3 - Procedure Performance Problems: Debug using Server Session Log.
Exercise 4 - Configure Event Routing and Email Notifications Exercise 4 Test - Test Configured Event Routing
Exercise 5 - Agent Debugging, Monitoring, Statistics
Exercise 6 – Server Access Control for Basic User Role
Exercise 7 - Server Log and Traces
Appendix A - Create Custom Monitor Page
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 2 of 47 4/5/2018 Let’s get started.
We will be using 82 WebFOCUS Reporting Server.
It should already be up and running as it was started as a service automatically.
Our first step is to start server Web Console (if it is not already on your screens).
On the Taskbar click icon Chrome browser and use “82 Serverlab Console” quick link to start Web Console.
Server Lab Login: srvadmin/srvadmin
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 3 of 47 4/5/2018 Exercise 1. Verification of Server Services and Listeners
Every time you install new server or make an upgrade you need to verify server status and test server components.
In this exercise we will go over server tools helping to verify server components status. In the lab we will test Procedures, Adapters connections, Metadata, Server Listeners and Services.
The same steps would be helpful when you work on a user problem resolution. You would need to check on data and metadata files and verify procedures. . To check and test Server’s Listeners and Services you need to follows these steps.
1. Login with userid “srvadmin”, password “srvadmin” 2. Click on Workspace on top menu
3. Right click on Special Services and Listeners and click Processes Verify all Listeners and Services are active
4. Right click on Java Services and click Agents. Verify that Status is Active. This is essential for some of the Server features such as Java-based Adapters, reports containing graphs,…etc.
If you would like to make sure graphs work you can test it from Java Services
5. Expand java services, you will see DEFAULT service. Right click on DEFAULT service and click Test Graph from the menu.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 4 of 47 4/5/2018 If you see any of your services show “failure to start” or “stopped” you should start from checking this service Statistics (use right click on the Service name to view statistics page) and then check the server log – edaprint.log for the cause of the problem.
Most common problem for a listener failing to start is the port taken by another process. Java Services fail if Java SDK is not in the path.
In the next exercise we will test procedure that happens to fail with FOC1400. To resolve the situation we will follow several steps and will see how to test metadata and adapter connections.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 5 of 47 4/5/2018 Exercise 2. Test Procedure - FOC1400 Error. Resolve Invalid Adapter Configuration.
6. On Web Console Click Applications to navigate to Applications page. 7. Expand application server_lab 8. Right Click on procedure employee_report and choose option Run. We see that it produce an error FOC1400. This error is accompanied by SQLCODE from DBMS. We should resolve this problem. In order to do that we need to check all synonyms used by procedure and Adapter connections for all synonyms.
9. Double Click on procedure employee_report to open in editor. Check what synonyms are used. We see the synonyms used are employee_education and employees_department. We need to test all synonyms to see which one is causing DBMS error.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 6 of 47 4/5/2018 10. To test synonym we use Sample data option available on synonym menu. Right click on employee_education master file and click Sample data on the menu. You see the same error.
Now we need to find out Adapter and Adapter connection for the failing synonym. This information can be found in Properties of this master file.
11. Right Click on synonym employee_education and choose option Properties Properties show Adapter type and Connection Name. In our case it is MS SQL Adapter and Connection name ServerLab
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 7 of 47 4/5/2018 12. Click Adapters on the top menu 13. Expand MS SQL Server folder in Configured. 14. Right Click on ServerLab and click Test. Test fails with the same Error Now let’s go to Adapter Connection Serverlab Properties to verify all attributes 15. Right Click on ServerLab and click Properties
On Properties page you see all connection attributes, environment variables and the system path where server is searching for DBMS Client software that is required for Adapter to work. Check all parameters for Adapter connection. Contact your DBMS Administrator if needed. 16. We see that the database name is “serverlabs”, but the SQL Server Management tool will show similar name of “serverlab” so likely a typo during setup and no one tested. Please change it to serverlab.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 8 of 47 4/5/2018 17. Click “Test” and see successful connection
18. Click “Configure” 19. Now get back to Applications. Let’s retest synonym employee_education. 20. Right click on employee_education to activate menu and click option “Sample Data” You now get the report. 21. Test report employee_report. Right Click on the report and click Run
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 9 of 47 4/5/2018 Exercise 3. Procedure Performance Problems: Debug using Server Session Log.
In the next example we will investigate user’s complain about performance. User runs procedure that takes long time to finish.
There are many potential areas which can affect performance - Front-end Browser, WebFOCUS Client, Web Servers, some Network components, Reporting Server and DBMS. When researching performance problems you should remove some of the components from the picture to concentrate on those that actually cause the delays. In this example we assume that the problem was isolated and the problematic component is Reporting Server. Reporting Server by itself is a complex environment – operating system running the server, DBMS and server itself. Using Server Web Console we will go thru the steps to find the problematic component.
In this example a user has complained about a report named revenue_report.
Step 1. Test Procedure.
The first steps are – verify the problem by running procedure from Web Console and check the status of the server agent servicing this request.
Note: Procedures may not reside on the Reporting Server and instead are within WebFOCUS Managed Reporting. In this case you can create a copy of the procedure on the Reporting Server for debugging purposes. This can be done with a right-click of the Application directory followed by New Procedure. In this lab we will assume the procedures are located on the Reporting Server already.
22. Go to the Application page which contains the Procedure 23. Expand application server_lab and Run revenue_report to confirm reported problem
24. While it’s running on the top menu click Workspace
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 10 of 47 4/5/2018 Step 2. Check Data Service status. Status “DBMS Call”
We now need to check status of the Data Agent servicing execution of this procedure.
The Data Services page shows that agent running procedure server_lab/revenue_report is in “DBMS call” state. This means that the server agent processing your request sent SQL query to the DBMS and is waiting for DBMS to process it and send back response (an answer set or an error message). Once server agent gets the control back from DBMS the “DBMS call” state changes to “in use” and finally to “idle”. We would check the time that was spent on DBMS processing.
Step 3. Compare “Response Time” and “DBMS Time” statistics.
Now we can refresh Agents page by clicking in refresh icon and wait for agent get to the idle state which means that the execution is ended and client disconnected from the server. Now we can compare agent time statistics.
Find for the agent running procedure “Response Time” and “DBMS Time” and compare. It shows that around 70% of all time was spent in DBMS. Response time and DBMS time can vary from one machine to another but the proportion should be similar
The next step would be to look at SQL statement generated by the agent and sent to DBMS.
Step 4. Use Session Log to get generated SQL statement
Server Session Log is a feature of Web Console that allows viewing all focus code sent to the server agent for execution, generated by agent SQL or MDX statements sent to DBMS and errors, warnings and messages returned by server agent during execution.
In our case we need to get SQL statement sent to MS SQL Server.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 11 of 47 4/5/2018 25. Open Session Log
Click “Session Log” icon on the top menu. If you position mouse over this icon it will display “Show Session Log” on the fly-over.
26. Session Log Window will open on the bottom of the Web Console page 27. Click “Refresh” icon in Session log window. You see the log of all your executions in the log window including the last one 28. Click “Expand” icon on the log window to see the full window. This is the full log of all commands running in your session including the execution of the last procedure. The log displays messages, errors and generated SQL Statements. You can scroll down to find your SQL statement or you can use filter to filter out focus code and see SQL statement only 29. Click “Filter”, move cursor down to line called “Focus” and click to uncheck. This will filter out focus syntax leaving only SQL and error information
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 12 of 47 4/5/2018 The SQL statement generated by procedure revenue_report is the join of 2 tables - sales and customers. Let’s read the messages. These are aggregation and optimization messages that returned by the SQL Server Adapter. The messages indicate that the request was not optimized, function POSIT was not passed to SQL. Let’s see if anything we can find out about this function in Adapters Optimization report that is available from Adapters page.
Step 5. Use SQL Optimization Report.
30 Click “Adapters” on the top menu and then “SQL Optimization Report”.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 13 of 47 4/5/2018 31 On the report we need to get information on POSIT function for SQL Server Adapter. To display the info choose Adapter Category – 1, Function Category – Legacy (scroll to the button of the list) and check “Show Function Description. Click “Show Report”
We get the SQL Optimization report that shows that POSIT function is not optimized for MS SQL Server Adapter. It also says “Use POSITION function”. Let’s check if POSITION function would be optimized.
Notice, that some of legacy old functions are not optimized. Function description says which ones to use to get them optimized. In Server release 81 we created a set of simplified functions that are matching to those in SQL and so they should be used in your procedures for maximum optimization.
32 Please close report
33 Choose Function Category “Character – Simplified” to get report on POSITION function. Click “Show Report”. We see that Function POSITION is optimized.
We will use now POSITION in the procedure instead of POSIT and see how it changes performance.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 14 of 47 4/5/2018 I have already made changes to our revenue_report procedure substituting POSIT() to POSITION() and saved it as revenue_report_opt that we see in server_lab application.
Step 6. Run procedure after using POSITION() function that is optimized in SQL.
34 Click on Applications on the top menu. 35 Expand server_lab application. 36 Right click on procedure revenue_report_opt and select Run. This procedure is the same as revenue_report but utilizing POSITION function instead of POSIT. 37 See report was returned in 2-3 secs. Check Time statistics on Data Agents page.
38 Click Workspace. View Response Time and DBMS Time. 39 View the SQL Statement generated by changed request on Session Log.
We see that function POSITION has been converted into WHERE clause as SQL function CHARINDEX(). Function POSITION has been optimized by the Adapter and it improved performance significantly from 17 secs to 3 secs. All time saving is from Adapter optimization.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 15 of 47 4/5/2018
If more improvement required, the next step in this process is to copy SQL statement from Session Log and execute it in the Native Database tool. It is important to use the exact SQL as executed by the Reporting Server for an accurate comparison.
When a procedure is optimized on the server and nothing can be done, you can try to work with your DBA to tune the Database, possibly adding keys and indexes to tables involved into the requests.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 16 of 47 4/5/2018 Step 7. Size of the Session Log.
Default Log size is 500 lines. If your procedure is complicated the session log might not contain SQL Statement you are looking for. In this case you can increase the log size.
25 Click Workspace on the top menu
26 Click Settings on the Ribbon and navigate to “Miscellaneous Settings. (You can close Session Log windows using “close” icon. You will not need it anymore).
27 On the right pane you can see the server parameter that regulates the session log size – seslog_max_lines. You can change it to bigger number and click “Save”. Server will be restarted and new number will be in effect. We will not do this during this lab.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 17 of 47 4/5/2018 Exercise 4 - Configure Event Routing and Email Notifications
Configuring Reporting server for email notification allows your server to send messages to designated staff via email automatically for different Reporting Server events and success/failure/completion conditions of DataMigrator flows. You can also trigger execution of a procedure that can for example, send you the list of server operators on duty or update your company monitoring system.
Step 1. Add Email Server information
For email notifications to work we need to add Email server information first
28 Login to Web Console and click on Workspace to activate menu 29 Click E-Mail SMTP Server to get to the Configuration screen
30 On this page you would need to add SMTP Server information – host, port and credentials (if you use a secured SMTP server), email sender and optionally server_admin_email. For our lab we already added all the info.
Step 2. Test Email Server Configuration
It is a good idea to send a test email to check your email configuration is valid.
31 Click Send Test E-mail. Pop –up box appear. 32 Enter a valid email address or use one you just entered in server_admin_email [email protected] - to receive the email and click Continue .
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 18 of 47 4/5/2018 33 Test is successful. This message proves that the email was successfully sent. You should verify email delivery.
Step 3. Verify Email Delivery
Verify test email by opening Windows Live Mail to confirm the email was received
34 On the taskbar click Windows Live Mail icon to open email
35 Verify Test message in Inbox (you may need a send/receive click)
Now that we configured SMTP Server and tested it we can add customized event notification that will trigger email and procedures.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 19 of 47 4/5/2018 Step 4. Configuring Event Routings
There are a few obvious event candidates you would want to be notified about. Among them agents and services crashes, reaching limit of pre-defined disk, memory and CPU limits maybe some procedure errors. We will test 2 of them.
In this lab we will configure email notification and execution of procedures triggered when the disk space limit is reached for a server agent.
36 After server restarted you are on Application page. Click on Workspace on top menu. 37 Click Event Routing on the ribbon
We are now on the Event Routing page and we see the list of all pre-defined events that can be customized. There are 3 types of events. Each type contains a preset list of available events that you can configure and be notified on.
Information – normal functions such as start/stop, listener enable/disable etc... Warning – limitations exceeded no agents available, etc... Errors – agent/ listener crashes, configuration errors, etc...
Next step is customizing one event that will trigger email notification and execution procedure.
.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 20 of 47 4/5/2018 38 Click on Customize New Event Routing 39 For Type leave Error 40 From the Filter pulldown select 60001 - Listener, special service or agent crashed to be notified about abnormal interruptions of server processes 41 For the EDAPRINT pulldown leave the default of Yes. 42 For Terminal leave default of Yes. 43 Enter [email protected] email into the Email field. 44 Click Add button to add the event.
Second event is custom event that would be based on error FOC205 – Table is not found. This event will trigger execution of procedure server_lab/alerts every time any user’s procedure returns FOC205 error. The procedure will run report to get the list of software engineers and send report via email to server administrator.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 21 of 47 4/5/2018
45 To add click on Customize New Event Routing
46 For Type leave Error In Filter field type FOC205 Email is empty Procedure field type server_lab/alerts
47 Click Add button to add the event
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 22 of 47 4/5/2018 Once the event has been added you will then be returned to the original Customize Event Routing screen that will list new events added. This is the main page for customizing new events and the page we go to confirm any event information.
At this point the new event has been added but not saved.
You can add as many events as need, but better to add all at once since a server restart is required.
48 Once all events confirmed click Save and Restart server.
Now we will test our event.
Exercise 4 Test - Test Configured Event Routing
We configured two events – Sending email notification on crash of agent or service and Running procedure server_lab/alerts on FOC205 error code.
Crash event will be emulated with internal command crash roughly!
The FOC205 TABLE NOT FOUND error is returned by referring to non-existing master file.
So how do we create event routing on error that is usually returned to a user?
Here are the steps. First we need to understand that event routings are based on messages written into server log - edaprint.log and FOC messages by default returned to the user running procedure. We need to change errors output destination to edaprint.log. This can be done via Server Core settings EMGSRV that we can set from Web Console.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 23 of 47 4/5/2018 Step 1. Setting EMGSRV to route FOC message to EDAPRINT.
49 Click Workspace. 50 Click FOCUS Sets and Info and then Core Engine Settings.
51 In SET Name type EMG% 52 Click Next 53 Click drop-down for EMGSRV and choose EDAPRINT/ON – Route to EDAPRINT and normal output
54 Click Save to save the changes. The setting will be stored in edasprof.prf
Step 2. Testing event routing
55 Click “Live Console” on the Ribbon to see all server activity. This feature is available on Chrome and Firefox browsers. The separate browser window opens.
56 Access Web Console Applications menu. 57 Expand server_lab folder
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 24 of 47 4/5/2018 58 Right click error205 procedure, choose Run
This procedure runs request to non-existing table and then crashes. The result is a message stating that the agent has been terminated
Live console shows FOC205 routed to edaprint.log followed by crash (takes a moment to display). Edaprint.log referrs to edaplog process execute event routings - email and procedure.
05/12/2015 17:23:55.590 I edaplog: executed procedure server_lab/alerts (... several lines not shown ...) 05/12/2015 17:23:56.610 I edaplog: email sent to [email protected]
Step 3. Verify email delivery and execution of procedure triggered by the event
59 Check the Inbox. It shows 2 email messages for this event has been received.
Email Notification - Error: (EDA60001) Agent (tscomid=5) crashed Report from procedure server_lab/alerts - EMERGENCY CONTACT LIST.
We have verified both event routings. Email sent on agent crash contains agent statistics with information about executed procedure that killed the agent - procedure name, command executed, userid, master file and etc…. Server ran procedure server_lab/alerts on FOC205 that sends email to server administrator with the list of engineers that should be notified.
The edaprint.log contains details for all agents’ activity as well server messages triggered events’ email and procedure execution.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 25 of 47 4/5/2018 Exercise 5 - Agent Debugging, Monitoring, Statistics
Best place to start server agents monitoring is Data Agents page. This page provides you with the status of all agents for all Data Services. You can get to agents statistics, check the last execute focus command, start/stop data agents
Step 1. Review Agent information
60 Click on Workspace to access agents monitoring 61 Review field information for crashed agent highlighted in red. This is result of procedure error205 execution we ran in the previous step.
Scroll to the right to see additional information about the agent such as Procedure name, Master file name and several time statistics such as Response Time, Server Time, DBMS Time and others. If you have a user complaining about a procedure crash you now have a good idea what procedure caused the crash and therefore you can reproduce it and research further.
You can now check agent statistics and use option “Save the last FOCUS Command” to save the code that crashed the agent. For many WebFOCUS administrators this is a large part of the task of troubleshooting and debugging.
Step 2. Review Agent statistics, Use Last Focus Command
Let’s review all option available for data agent.
62 Highlight the crashed agent, right click and see all options available – Statistics, Last Focus Command, Kill Agent options 63 Click on “Statistics”. View all data available- user, procedure name, master file, command, time statistics and others. 64 Click on “Save Last Focus Command”
You get the FOCUS code that was run opened in Edit Procedure screen. This code can then be used as a baseline for code review and performing isolation and debugging tasks when problems arise.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 26 of 47 4/5/2018 Along with the code are some default trace settings that can be adjusted if necessary to capture what is needed for further review by IBI support. All of this should enable the problem resolution to run faster than before.
If you need to monitor several activities at the same time you can create Custom Monitor Page. See Appendix A at the end of the lab
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 27 of 47 4/5/2018 Exercise 6 – Server Access Control for Basic User Role
Access Control page is used to change security providers on your server and change user’s access privileges.
65 Click on Access Control
Tree on the Left – Access Control Tree - shows Security Providers, Roles and Templates
Security Providers is to define new providers and activate them Roles is to configure access privileges to Role, Groups, Users Templates is to configure an automatic access privileges for groups in multi-tenants environment with similar privileges to tenants’ applications
Reporting server is installed with default security provider PTH and only one userid (by default srvadmin) has access to the server. When the server admin connects to server configures a new security provider, the server displays the following message with recommendations about securing the server behavior of unregistered users (Basic User Role by default).
We are not going to add or alter providers, but follow the recommendations for the existing provider (PTH).
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 28 of 47 4/5/2018 First step is to remove privileges to run Direct Pass-thru SQL requests and Operating system commands from procedures
Step 1. Change General Privileges
66 Right Click on Basic User Role, choose General Privileges
67 On General Privileges table click check boxes for
NODPT to Disable Direct Passthru SQL requests such as SQL DB2 Select * from SYSIBM.SYSTABLES NOSYS to Disable Operating System Commands such as ls /bin or dir C:\Windows
You’ll see (Not Saved) on the top of the page. It means that you need to save changed to make them in effect.
68 Click “Save” at the bottom of the page. You’ll see “Customized” was added to Basic User Role on the tree to show the privileges were changed from their default values.
Next step is to change File Access Privileges. Based on recommendations we should change privileges to all files outside of APPROOT to NONE and to APPROOT to Read, Write, Execute. This would be our next step
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 29 of 47 4/5/2018 Step 2. Change Directory/File Privileges
69 Right Click on Basic User and choose Directory/File Privileges
We see Privileges table that shows default privileges to all files and directories
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 30 of 47 4/5/2018 70 Click check boxes for Read, Write, Execute and List on the top line for (*) to remove all privileges from all files. It will be a step to remove privileges from files outside of APPROOT
After this change privileges to files under APPROOT was change to NONE as well as APPROOT inherits privileges from (*). Now we need to adjust privileges to APPROOT.
71 Click on Read, Execute, List check boxes for “apps” line that has remark “APPROOT”
We’ll do one more change – remove all privileges from ibisamp , application under APPROOT.
72 Right click on “apps” and select “Show All Directories/Files”
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 31 of 47 4/5/2018 We now see all applications with all their privileges. At this point all applications under APPROOT inherit privileges from APPROOT and so they are Read, Execute, List.
73 Click on “apps” and select “Show All Directories/Files” again to refresh information
74 Click on Read, Execute, List for “ibisamp” to remove all privileges. Now all changes are done. Click Save to save all changes.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 32 of 47 4/5/2018 After page is refreshed we see all our changes marked “Customized”. You can reset them to default is you right lick on those locations and choose “Reset to Default”
Step 3. Test Access Control Changes for Basic User
Connect to server as unregistered user and test privileges
75 Sign out from server admin id PTH\srvadmin 76 Log In with user pthuser, password pthuser. This is unregistered user and so will inherit privileges from Basic User Role.
Let’s see how the privileges we set work.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 33 of 47 4/5/2018 First we see that ibisamp is not shown on the Application tree. This is because privileges set to NONE.
Second we will test that user can’t execute Direct SQL requests
77 Expand application server_lab 78 Right click on test_nodpt procedure and select Run. This procedure executes SQL SQLMSS SELECT request
Result is error (FOC1570) DIRECT PASSTHRU DISABLED
More tests can be done to verify the configured environment. For example using FILEDEF for file outside if APPROOT that will also fail with violation.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 34 of 47 4/5/2018 Exercise 7 - Server Log and Traces
When you research and debug problem on the server your best source of information is the server log. It’s located in server configuration directory and called edaprint.log. Server records all server activities such as client connect, client disconnect, connections queuing, resuming from the queue, deactivating agents and many others in the log. It also stores all errors and warnings produced during all these activities. The server log can grow rather big and you may want to filter it to see specific events or view part of the log based on time interval. This is all available via edaprint.log filtering.
Step 1. EDAPRINT Filtering
79 Click on Workspace 80 Expand Logs and Traces folder 81 Right Click on Workspace Log and Click View 82 Double click edaprint.log. You can view the log. It shows the contents of edaprint.log, we use different colors to show Error and Warning messages (scroll to see our prior crash).
83 Right Click on Workspace Log and Click Filter
84 In the EDAPRINT Log Filter page use Select Filtering drop-down box to see 3 options : a) No Filtering ( default) b) Filter By Category c) Filter By Timestamp 85 Choose “Filter By Category”
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 35 of 47 4/5/2018 86 Once filter opens click “Any Error” and “Any Warning” 87 Click “Set Filter”
Now View the Filtered edaprint.log
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 36 of 47 4/5/2018 88 Right Click on Workspace Logs to activate menu 89 Click on View 90 Double click edaprint.log
You see only error and warning messages displayed in different colors that actually easy to see even without filtering. To remove filtering, repeat step 100 and clear filter.
Step 2. Enable traces
You can enable server traces when execution of a command or a procedure causing problem – wrong output, crash, performance problem. First, one would need to obtain stable reproduction steps and run first without traces to see you have repeatable invalid behavior. You can use Session log or Last Focus Command to get the problematic procedure. After you get the repro you are ready to run it with traces.
Traces can be enabled from Web Console and from command line on the machine where server is running. Traces are located in edatemp folder of EDACONF directory.
Traces can be viewed from Web Console on Workspace page and Application tree in addition to physical directory on the machine where the server in running.
91 Click on Applications on the top menu, expand application server_lab.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 37 of 47 4/5/2018 92 Click on top “C” icon and choose “Enable Traces”
When you need to run a specific repro, try to enable trace just before execution, so your trace files are as small as possible.
93 Right click on employee_education master file and click on Sample data 94 Disable trace by Click on top “C” icon and choose “Disable Traces”
Step3. View traces in Workspace.
95 Click on Workspace on the top menu 96 Expand Logs and Traces folder 97 Right Click on Traces and Click View
You see the list of trace files – listeners, agents, services. In our case we are looking for data agent trace which name start with ts*. In latest releases of the server in addition to trace file we also create agent input, agent output files, agent script file. ts0nnnn.trc trace file ts0nnnn.fex input file ts0nnnn.tro… output file ts0nnnn.t3i … agent tscom3 script
Step4. View traces and configuration files on Application tree
As of 7706/81 we added an option for internal server locations (edatemp, edaprfu, edaconf, etc.) on Web Console Application tree, but only available for server administrators.
98 Navigate to Application Tree. Click on Applications on the top menu
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 38 of 47 4/5/2018 99 Click Application Preferences on the ribbon
100 On Application Preferences page check “Show edahome, edaconf, edaprfu, edatemp….” 101 Click Update
Now on Application tree is refreshed and we see these additional folders
_approot – root location for all server applications _edaconf – server configuration directory _edahome – server installation directory _edaprfu – server profiles directory _scaroot – server stress tests directory edatemp_base – server edatemp directory with ts00* subfolders (edatemp for all data agents) foccache_base – foccache directory with foccache folders for all users
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 39 of 47 4/5/2018 102 Expand edatemp_base folder. This is server EDACONF/edatemp directory where you see edatemp for all active data agents – ts0000nn sub-folders. We also can see all trace files that were created during our last Sample data with Trace On. 103 Locate ts000005.fex. This is input focexec from that Sample Data execution. Let’s run it. Right click on ts000005 ( maybe different last digit, depending on agent tscomid that was servicing this request) and click Run
104 Check the result of that execution.
We see that Server Admin can use Web Console Application tree to review all files on the server and execute trace input files as procedure. This is a new way to reproduce users’
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 40 of 47 4/5/2018 problems. Find reproduction steps, enable trace, run reproduction, disable trace and use Web Console to run as procedure and debug.
105 Before we move to the next step, please click to Application Preferences page.
Uncheck “Show edahome, edaconf, edaprfu, edatemp….” Click Update
Step5. Collecting Diagnostics.
Every time you contact Information Builders Customer support with the server problem we require sending us diagnostics file that we call “savediag”. A savediag is an archive collection of server configuration files, server logs, traces if available, and optional server applications with reproduction files.
Let’s see how the savediag is created.
We just ran Sample data with traces and now we need to ship all diagnostics files created by this execution to IBI Customer Support. In addition to created trace files and logs we also need your configuration files, data files and metadata. You don’t have to find and collect all these files; we will do it for you when you run create “savediag”. It can be created from Web Console and from command line on the machine where server is running. Let’s see how it can be done from Web Console.
106 Click on top “C” icon and choose “Savediag – report a bug”
The Savediag page is shown on the right pane. Savediag utility allows you to select one of the three options currently available plus the ability to remove outdated, unneeded savediags . Savediag and post will generate and automatically post your savediag to the IBI ftp location and will also update the appropriate support case. Save Diagnostics allows you to manually collect diagnostic but will not post Post existing will post a previously collected diagnostic Delete to remove outdated unwanted diagnostic files.
107 Select “Save Diagnostics (savediag) on Diagnostics Options pull-down
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 41 of 47 4/5/2018 108 Keep default for “Savediag Directory” 109 Enter server_lab” into List of Applications 110 Click Submit
The resulting savediag is automatically archived (zip on Windows, tar on most others). This feature exists on all platforms. If you have open support case, you can do “and Post” option which will ftp the archive. Savediag can also be done on the operating system command line with “edastart –savediag” with the server in an up or down state. Ideally, a savediag for a problem reproduction is a solely a server start with traces, run reproduction and then savediag.
Questions?
Thank you for your attendance.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 42 of 47 4/5/2018 Appendix A. Create Custom Monitor Page
On many occasions you need to monitor several activities and so you have to switch from one monitoring page to another which can become inconvenient and time consuming. For instance, if you monitor submitted or scheduled jobs you may want to see Data Agents and Scheduled Agents page at the same time.
Custom Pages can help you to do that. You can choose from Data Services, Java Services, Special Services and Listeners, Cluster and Resource Management Monitor Pages. You can create and save this special object in your application directory and then use it every time you need monitoring. Refresh on this custom monitor page will refresh all pages. In the releases higher then 8002m you can also add execution of procedures into custom page.
Let’s look at the example.
1 Go to Applications page 2 Click New 3 Choose Custom Page and click
4 In the newly opened window click “Add Workspace” on the top 5 Expand Data Services 6 Expand WC-DEFAULT 7 Click Agents – first page is selected
Let’s add more pages
8 Expand Special Services and Listeners 9 Expand Scheduler 10 Hold Ctrl and click Scheduler Agents 11 Click OK on the active window to close it.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 43 of 47 4/5/2018 We added two workspace pages to custom page. Now we will add procedure
12 Click Add Procedure on the top 13 Click server_lab. Navigate to stats_demo.fex in the server_lab application. Click to select. 14 Click OK.
15 On the top of the right pane you can use Arrange Windows to make those windows arranged vertically, horizontally or cascade. We can keep it vertical as done by default. 16 Save new Custom page. click Save as icon on the top
17 Click server_lab. 18 Type monitor in the File Name field
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 44 of 47 4/5/2018 19 click OK
On application tree you see server_lab application expanded with new custom page – monitor
Step 6. Test Custom Monitor Page
In the next step we will submit stats_demo procedure and see how the custom monitor page helps us to see multiple statistical data.
20 on Application tree locate procedure stats_demo in application server_lab 21 right click to activate menu and choose Run Advanced , then Submit with Email
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 45 of 47 4/5/2018 22 Keep default options “Submit on remote agent” and “Do not wait for completion” 23 Click “Submit” at the bottom.
This will submit procedure on remote agent. This is submission via server Scheduler and it allows submitting at the certain time and send email on start, failure and/or completion.
You will see message that confirms submission by Scheduler:
(ICM18533) Request Submitted: server_lab/stats_demo (ICM18762) Job ID: 20150514102526_987fe0e4
Next we use our new custom monitor page monitor
24 Right click on monitor in server_lab application 25 click Open
We see all monitoring pages are updated and you can see report from execution of procedure stats_demo. All links that are usually available on each individual statistics or monitoring page are available in monitoring page as well.
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 46 of 47 4/5/2018 26 On the Scheduler Agents page right click on the procedure name stats_demo 27 Click View Log and view the log from execution of the procedure.
Other actions you can try here is view agents statistics on Data Services page, View Log, View Statistics on Scheduler Agents page,
Managing Your Reporting Server: Administering, Monitoring, and Debugging Copyright © 2016 Information Builders Page 47 of 47 4/5/2018