- 6 minutes to read

Prerequisites for the Nodinite WCF Diagnostics Tracing Feature

This page describes the prerequisites for installing, configuring and running the Nodinite WCF Diagnostics Tracing Feature.

The Logging solutions involves 2 parts:

  1. WCF Diagnostics (involves changes on server with WCF Applications)
  2. Pickup Log Events Service Logging Agent (must be installed and have access to folders)
graph LR subgraph "WCF Enabled Application" roWCFApplication(fa:fa-globe WCF Application)--> roWCFTracing(fa:fa-bolt WCF Diagnostic Tracing
Configuration file
Nodinite DLL files ) roFolder(fa:fa-folder Folder) roWCFTracing --> roFolder end subgraph "Nodinite Server" roPS(fa:fa-truck-pickup Pickup Service) roFolder --> | SMB | roPS end

Log Events and Payload

You must have at least one existing IIS/WCF based solution that you must eventually configure to emit JSON formatted Log Events to a file folder for pickup by the Nodinite Pickup Log Events Service Logging Agent.

Verified Topic
Software Requirements
What Windows User Rights does the WCF Diagnostics Tracing Feature require?
What firewall settings does the Nodinite WCF Diagnostics Tracing Feature require?

Software Requirements

You need the following components:

  1. Your WCF Application
  2. Windows Server
  3. .NET Framework
  4. Pickup Service

Supported Versions

The Nodinite WCF Diagnostics Tracing Feature can be used on the following list of Windows Server/ IIS versions

  • Windows Server 2008 R2 (IIS 7.5)
  • Windows Server 2012 (IIS 8.0)
  • Windows Server 2012 R2 (IIS 8.5)
  • Windows Server 2016 R2 (IIS 10)

All Windows Server editions are supported:

  • Enterprise
  • Standard
  • Developer (which is Enterprise)
  • Trial (which is Enterprise)

.NET Framework

  • .NET Framework 4.5 or later

Pickup Service

The Pickup Log Events Service Logging Agent must be installed and configured to pickup the log files from configured WCF Solutions. The Windows Service may be installed on any other Windows Server, as long as the emitted log files can be consumed (logged).

See Prerequisites for Pickup Service for additional details

Log API

The LogAPI must be installed and accessible from the Pickup Log Events Service Logging Agent.

See Prerequisites for Log API for additional details

What Windows User Rights does the WCF Diagnostics Tracing Feature require?

The AppPool On the Windows Server hosting the WCF Application runs with some Windows Identity. The WCF Diagnostics Logging feature requires the AppPool account to have the right to write files to configured destination folder (local or remote).

You must also have the rights to change .config files on the server hosting your WCF Applications.

We at Nodinite strongly recommends that you log to a local folder or a highly available file share to avoid any problems within your WCF Application. Local access is more likely to be available and performs faster writes which means less overhead within your solution

What firewall settings does the Nodinite WCF Diagnostics Tracing Feature require?

The WCF Diagnostics Tracing Feature writes trace files to a destination folder; the Pickup Service reads that folder and posts the Log Events to the Log API. Firewall requirements depend on where the folder and the Pickup Service are. The diagram shows every host involved, with the folder on a remote file share; each arrow starts at the side that opens the connection.

graph LR subgraph "Target: WCF Server (IIS)" roWCFApplication(fa:fa-globe WCF Application with Nodinite tracing) end subgraph "File Server (SMB)" roFolder(fa:fa-folder Trace file folder) end subgraph "Nodinite Agent Server" roPS(fa:fa-truck-pickup Pickup Service) end subgraph "Nodinite Core Services Server" roMonitoringService(fa:fa-watch-fitness Monitoring Service) roLogAPI(fa:fa-cloud-arrow-down Log API) end subgraph "Domain Controller" roDC(fa:fa-building Active Directory) end subgraph "DNS Server" roDNS(fa:fa-signs-post DNS) end roWCFApplication --> |"445"| roFolder roPS --> |"445"| roFolder roPS --> |"Log API site port"| roLogAPI roMonitoringService -.-> |"Agent site port (v7)"| roPS roWCFApplication -.-> |"88, 389, 636"| roDC roPS -.-> |"88, 389, 636"| roDC roWCFApplication --> |"53"| roDNS roPS --> |"53"| roDNS

Network diagram: the WCF Application writes trace files to the share, the Pickup Service reads them and posts Log Events to the Log API. Dashed arrows are optional hops.

Note

No firewall changes are required between the WCF Application and the folder when it writes trace files to a local folder on the WCF Server. When the Pickup Service runs on the Core Services Server (the typical installation), you need no firewall rule between the Pickup Service and the Log API or the Monitoring Service.

Tip

Local Folder Recommended: Nodinite strongly recommends logging to a local folder or a highly available file share to avoid problems within your WCF Application. Local access is more likely to be available and performs faster writes, reducing overhead.

Between the WCF Server and the file share

Required only when the WCF Application writes trace files to a remote SMB share. The IIS AppPool account needs Write permissions on the destination folder.

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Target (WCF Server) File Server TCP 445 Direct-hosted SMB (SMB 2/3) Recommended
Outbound Target (WCF Server) File Server TCP/UDP 135-139 Microsoft file sharing (NetBIOS) Legacy SMB 1.0/CIFS only; consider disabling SMB 1.0
Inbound File Server Target (WCF Server) TCP/UDP 135-139, 445 Response traffic Automatically allowed by stateful firewall inspection

Between the Pickup Service and the file share

Required when the Pickup Service runs on another server than the folder (the file share, or the WCF Server's local folder shared over SMB).

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server File Server TCP 445 Read and delete trace files over SMB 2/3 Recommended
Outbound Agent Server File Server TCP/UDP 135-139 Microsoft file sharing (NetBIOS) Legacy SMB 1.0/CIFS only
Inbound File Server Agent Server TCP/UDP 135-139, 445 Response traffic Automatically allowed by stateful firewall inspection

Between the Pickup Service and the Log API

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server Core Services Server TCP (HTTPS/HTTP) Log API site port Post Log Events to the Log API v7. The Log API is its own IIS web site; port set per environment in the Nodinite Portal (Servers step)

Note

From Nodinite v7, the Monitoring Service also connects to the Pickup Service for Remote Configuration, and the Pickup Service may bypass the Log API and write to SQL Server. See the Pickup Service firewall requirements for those hops.

Between the servers and the Domain Controller

Required when the AppPool identity or the Pickup Service account is a domain account (or gMSA) that accesses the SMB share.

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Target (WCF Server), Agent Server Domain Controller TCP/UDP 88 Kerberos authentication Required for domain authentication
Outbound Target (WCF Server), Agent Server Domain Controller TCP/UDP 389 LDAP Standard LDAP queries
Outbound Target (WCF Server), Agent Server Domain Controller TCP 636 LDAPS (Secure LDAP) Required for LDAPS authentication

Between the servers and DNS

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Target (WCF Server) DNS Server TCP/UDP 53 Name resolution Resolve the File Server and the Domain Controller. A local hosts file can replace DNS
Outbound Agent Server DNS Server TCP/UDP 53 Name resolution Resolve the File Server, the Domain Controller, and the Core Services Server

Important

Stateful Firewalls: Most Windows Firewall implementations are stateful, so response traffic for established outbound connections is allowed automatically. The inbound response rules above are for reference and troubleshooting.


Frequently asked questions

Additional solutions to common problems and the FAQ for the Nodinite WCF Diagnostics Tracing Feature exist in the Troubleshooting user guide.

Next Steps

Complete these steps to enable WCF Diagnostics Tracing with business intelligence:

  1. Install WCF Diagnostics Feature - Download and install the feature
  2. Configuration - Configure DefaultMessageType and MessageTypeFromBody properties
  3. Message Types - Define business transaction types (Critical first step)
  4. Search Field Expressions - Configure extraction of business data