1.0.0-Beta5
Pre-release
Pre-release
Introduction
ServiceInsight provides debugging and analysis capabilities for your NServiceBus system.
I provides under-the-hood view of the your system's behavior, clearly displayed and visualized, immediately available and up-to-date.
ServiceInsight features are valuable in development, testing and production environments:
Prerequisites
- Microsoft .NET Framework 4.5
- ServiceControl
- ServiceInsight connects to and relies on ServiceControl' audit database for its information and functionality
- See ServiceControl release notes for guidance on installation and configuration.
- ServiceControl can be installed on the local machine or on a remote machine that is accessible (via HTTP) to ServiceInsight
Optional components
- ServiceMatrix
- ServiceMatrix enables you to generate a fully functional distributed application skeleton in a matter of minutes, dramatically reducing the learning curve, POC effort and time-to-market of distributed systems development with NServicebus.
- ServiceInsight integrates with ServiceMatrix during development and debugging, allowing you to quickly visualize the run-time behavior of your designed NServiceBus system, and quickly iterate from design to run-time views of your system.
- ServicePulse
- ServicePulse is a production monitoring tool that allows you to monitor and detect any issues with your NServiceBus endpoints and messages.
- ServiceInsight integrates with ServicePulse, allowing you to access detailed failure information and context visualizations
- See ServicePulse release notes for guidance on installation and configuration.
Installation
- Run the ServiceInsight installer
- By default, the installer will add desktop and programs shortcuts to ServiceInsight
Connecting to ServiceControl
- Following the installation, when first launching ServiceInsight, it will try to connect to a local ServiceControl instance (http://localhost:33333/api/)
- If there is no ServiceControl instance running on the local machine, you can use the ServiceInsight user interface to connect to any accessible ServiceControl URI, by clicking on the menu "Tools" > "Connect to ServiceControl" or clicking the "Connect" toolbat button
- The ServiceControl URI is comprised of the ServiceControl hostname and IP port. By default it is set to localhost with the default port 33333 (http://localhost:33333/api/). Both are configurable.
Troubleshooting:
- Unable to connect to ServiceControl URI
- See ServiceControl Release Notes troubleshooting section
- ServiceInsight connects to ServiceControl through standard HTTP calls
- You can view the connection and requests logs in the "Logs" tab (at the bottom of the ServiceInsight screen).
- The "Logs" window details every request made to ServiceControl, including its request parameters, headers and response headers (the request info detailed in the "Logs" window can be re-run through any HTTP / REST client application)
- Make sure the ServiceControl URI is accessible from the calling machine, using a standard HTTP / REST client
- Make sure that ServiceInsight is allowed (by firewall / security settings) to make HTTP requests to the ServiceControl URI
- ServiceInsight UI display is not responding
- This may be due to changes in layout engine from previous beta preview versions of ServiceInsight
- To resolve this issue, delete the layout settings file:
- Close ServiceInsight
- Navigate to
C:\Users{current-user}\AppData\Roaming\IsolatedStorage
- Inside the IsolatedStorage directory structure, locate the file
ShellLayout.settings
- Delete
ShellLayout.settings
- Start ServiceInsight (this will re-create
ShellLayout.settings
)
- Adding detailed Logging to ServiceInsight
- ServiceInsight uses Log4Net internally, and adding a Log4Net standard logging configuration file to the ServiceInsight installation directory will create a detailed log of all ServiceInsight activities (based on the Log4Net settings specified). The file name should be log4net.config and be beside the main executable.
- Sample Log4Net file:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<!--
Uncomment the commented out section below to enable logging to log files.
You might need to run the application in elevated mode to make the logging work.
-->
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="Logs\Particular.ServiceInsight.txt"/>
<appendToFile value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date - [%-5level] - %logger - %message%newline"/>
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="LogFileAppender" />
</root>
</log4net>