Loupe - Log - Monitor - Resolve
Loupe / Developer's Guide / For .NET Core / 6 / 8 / Agent Configuration / Developer's Guide - Agent Configuration Common Scenarios
In This Topic
    Developer's Guide - Agent Configuration Common Scenarios
    In This Topic

    The Loupe Agent has extensive configuration options to tune nearly all aspects of its behavior.  Wherever possible, sensible defaults have been chosen to minimize the amount of configuration that's necessary in normal operation.  That said, there are a few common configurations that occur in typical Loupe deployments.

    Items To Set Every Time

    Virtually every application should configure the following properties:

    Property Content
    Publisher.ProductName A common name for the product that multiple applications are a part of.  For example, "Microsoft Office"
    Publisher.ApplicationName The short name for a specific application within a product.  For Example, "Outlook"
    Publisher.ApplicationVersion The version number for this specific build of the application.  Loupe has several features that aggregate information by version number so updating this using semantic versioning or some other versioning scheme is important.
    Publisher.ApplicationType Optional.  Specify the type of application to hint to Loupe how to treat it when searching for multiple users and other behaviors.
    Server.UseGibraltarService If sending information to a Loupe server, specify this as true or false to indicate whether you are sending to Loupe Cloud-Hosted (true) or to a Loupe Self-Hosted (false) server.
    Server.CustomerName If using Loupe Cloud-Hosted this is your unique service name.
    Server.Server If using Loupe Self-Hosted this is the DNS name of your server.

    If you are using a Loupe Server you will need to configure the following additional properties:

    Property Content
    Server.UseGibraltarService If sending information to a Loupe server, specify this as true or false to indicate whether you are sending to Loupe Cloud-Hosted (true) or to a Loupe Self-Hosted (false) server.
    Server.CustomerName If using Loupe Cloud-Hosted this is your unique service name.
    Server.Server If using Loupe Self-Hosted this is the DNS name of your server.
     Send Data to Loupe Cloud-Hosted

    Typical .NET Core Console Application

    {
      "Loupe": {
        "Publisher": {
          "ProductName": "Loupe",
          "ApplicationName": "Agent Test",
          "ApplicationType": "console",
          "ApplicationVersion": "2.1.0.0",
          "ApplicationDescription": "Console test application for .NET Core"
        },
        "Server": {
          "UseGibraltarService": true,
          "CustomerName": "Your_Service_Name"
        }
      }
    }
    

    This configuration indicates session data should be sent to a Loupe Service account (hosted on our SaaS platform).  You'll need to enter the name you gave your Loupe Service when you set it up (this is not your email address or user name - it's the name of the subscription you created).  AutoSendSessions, sendAllApplications, and purgeSentSessions work together to say sessions data should be sent automatically in the background as the application runs for any application in the same product as the running application.  Once session data is confirmed by the server it will still be left locally.

    Typical ASP.NET Core Application

    {
      "Loupe": {
        "Publisher": {
          "ProductName": "Web",
          "ApplicationName": "Site",
          "ApplicationType": "AspNet",
          "ApplicationVersion": "2.1.0.0"
        },
        "Server": {
          "UseGibraltarService": true,
          "CustomerName": "Your_Service_Name",
          "SendAllApplications": true,
          "PurgeSentSessions": false
        },
        "NetworkViewer": {
          "AllowRemoteClients": true
        }
      }
    }
    

    This configuration indicates session data should be sent to a Loupe Service account (hosted on our SaaS platform).  You'll need to enter the name you gave your Loupe Service when you set it up (this is not your email address or user name - it's the name of the subscription you created).  AutoSendSessions, sendAllApplications, and purgeSentSessions work together to say sessions data should be sent automatically in the background as the application runs for any application in the same product as the running application.  Once session data is confirmed by the server it will still be left locally.

    Since this is a server application, Live Sessions is enabled for remote clients which will relay through the server.


     Send Data to A Loupe Self-Hosted Server

    Typical .NET Console Application

    {
      "Loupe": {
        "Publisher": {
          "ProductName": "Loupe",
          "ApplicationName": "Agent Test",
          "ApplicationType": "console",
          "ApplicationVersion": "2.1.0.0",
          "ApplicationDescription": "Console test application for .NET Core"
        },
        "Server": {
          "Server": "server.dns.name",
          "UseSsl": true,
          "SendAllApplications": true,
          "PurgeSentSessions": false
        }
      }
    }
    

    This configuration indicates session data should be sent to the server "server.dns.name" (you'd need to substitute the real DNS name of your server) using SSL.  AutoSendSessions, sendAllApplications, and purgeSentSessions work together to say sessions data should be sent automatically in the background as the application runs for any application in the same product as the running application.  Once session data is confirmed by the server it will still be left locally.

    ASP.NET Core Application

      "Loupe": {
        "Publisher": {
          "ProductName": "Web",
          "ApplicationName": "Site",
          "ApplicationType": "AspNet",
          "ApplicationVersion": "2.1.0.0"
        },
        "Server": {
          "Server": "server.dns.name",
          "UseSsl": true,
          "SendAllApplications": true,
          "PurgeSentSessions": false
        },
        "NetworkViewer": {
          "AllowRemoteClients": true
        }
      }
    }
    

    This configuration indicates session data should be sent to the server "server.dns.name" (you'd need to substitute the real DNS name of your server) using SSL.  AutoSendSessions, sendAllApplications, and purgeSentSessions work together to say sessions data should be sent automatically in the background as the application runs for any application in the same product as the running application.  Once session data is confirmed by the server it will still be left locally.

    Since this is a server application, Live Sessions is enabled for remote clients which will relay through the server.

    Sending to an Enterprise Edition Server

    {
      "Loupe": {
        "Publisher": {
          "ProductName": "Web",
          "ApplicationName": "Site",
          "ApplicationType": "AspNet",
          "ApplicationVersion": "2.1.0.0"
        },
        "Server": {
          "Server": "cluster.dns.name",
          "Repository": "uniqueRepositoryName"
          "UseSsl": true,
          "SendAllApplications": true,
          "PurgeSentSessions": false
        },
        "NetworkViewer": {
          "AllowRemoteClients": true
        }
      }
    }
    

    This configuration indicates session data should be sent to the repository "uniqueRepoistoryName" hosted on the cluster "cluster.dns.name" (you'd need to substitute the real DNS name of your cluster) using SSL.  AutoSendSessions, sendAllApplications, and purgeSentSessions work together to say sessions data should be sent automatically in the background as the application runs for any application in the same product as the running application.  Once session data is confirmed by the server it will still be left locally.

    Since this is a server application, Live Sessions is enabled for remote clients which will relay through the server.

     Manually Configure Application Metadata

    The Loupe Agent attempts to determine metadata by inspecting the running application - finding the product, application, version, and other information.  In some cases it can't determine it (such as in a web application) or you may want to override what it detects.

    Specifying the Product, Application and Version

    {
      "Loupe": {
        "Publisher": {
          "ProductName": "Microsoft Office",
          "ApplicationName": "Outlook",
          "ApplicationType": "Windows",
          "ApplicationVersion": "2.1.0.0"
        }
      }
    }
    

    Every application should specify these properties.  Product names should be used to group common executables together - like multiple tiers of a distributed application or different executables within the same product.

    Specifying an Environment and Promotion Level

    These values are useful for categorizing sessions on the server and within Loupe Desktop.  Environment is typically used to describe the compute environment or location where the application is being run.  Promotion Level is useful when you have strongly separated QA, Certification, Test, or Production areas.  These values can also be configured on the server if necessary.

    {
      "Loupe": {
        "Publisher": {
          "ProductName": "Web",
          "ApplicationName": "Site",
          "ApplicationType": "AspNet",
          "ApplicationVersion": "2.1.0.0",
          "EnvironmentName": "Azure",
          "PromotionLevelName" : "Production"
        }
      }
    }
    

    In this scenario the environment has been set to Azure and the promotion level to Production.  This can be done with or without specifying the product, application, and version.


    See Also