Installation guide¶
Table of contents
Prerequisites¶
Artifacts¶
KissLog.Backend-{version}-win-x64.zip
KissLog.Frontend-{version}-win-x64.zip
Artifacts can be downloaded from https://github.com/KissLog-net/KissLog-server.
Services¶
IIS Web server with ASP.NET Core Runtime 6 installed
MongoDB Community Server (version >= 6.0.x)
Installation¶
MongoDB¶
For instructions installing MongoDB server, please check the official tutorial.
MS-SQL / MySql¶
We will not cover the installation guide for these services. There is a high possibility that the existing server already has a running instance of MySQL or MS-SQL server.
IIS web applications¶
On the machine hosting the IIS server, install ASP.NET Core Runtime 6.
Create two IIS applications:
KissLog.Backend
KissLog.Frontend
Update the Application Pool settings for both of the applications to the following:
KissLog.Frontend |
KissLog.Backend |
---|---|
![]() |
![]() |
Copy into each IIS application folder the corresponding deploy package
KissLog.Frontend |
KissLog.Backend |
---|---|
C:\inetpub\wwwroot\KissLog.Frontend ![]() |
C:\inetpub\wwwroot\KissLog.Backend ![]() |
Note
Hotizontal scaling is not currently supported by KissLog server.
Both KissLog.Backend and KissLog.Frontend applications must each be deployed to a single instace.
Configuration¶
On the first deployment you need to update the required configuration options.
The configuration file for each application (KissLog.Frontend and KissLog.Backend) is located under Configuration\KissLog.json
.
KissLog.Backend¶
Replace the following mandatory properties with corresponding values:
Property |
Value |
---|---|
KissLogBackendUrl |
|
KissLogFrontendUrl |
|
Database.Provider |
MongoDb |
Database.MongoDb.ConnectionString |
mongodb://localhost:27017 |
Files.Provider |
MongoDb |
KissLog.Frontend¶
Replace the following mandatory properties with corresponding values:
Property |
Value |
---|---|
KissLogBackendUrl |
|
KissLogFrontendUrl |
|
Database.Provider |
SqlServer |
Database.ConnectionString |
Data Source=192.168.16.11;Initial Catalog=KissLog_Frontend;UID={_username_};PWD={_password_}; |
Initial startup¶
After the configuration files have been updated, you can run the applications.
The initial startup will bootstrap all the necessary components including MongoDB and SQL databases.
Startup logs (including errors) will be generated under logs
folder:
C:\inetpub\wwwroot\KissLog.Backend\logs
C:\inetpub\wwwroot\KissLog.Frontend\logs
Startup steps¶
Make a single request to KissLog.Backend root URL (“http://kisslog-backend.your_domain.com”)
If everything went successful, you will see the KissLog.Backend home page.
Make a single request to the KissLog.Frontend root URL (“http://kisslog-frontend.your_domain.com”).
If the startup process went successful, you will see the home page.
Post deployment¶
Your KissLog server is running and ready to process the logs. You can update your dotnet applications to start sending the logs to the newly created KissLog.Backend IIS application.
Make sure you update the configuration values, respectively the “OrganizationId”, “ApplicationId” and “ApiUrl”.
KissLogConfiguration.Listeners
.Add(new RequestLogsApiListener(new Application(Configuration["KissLog.OrganizationId"], Configuration["KissLog.ApplicationId"]))
{
ApiUrl = "http://kisslog-frontend.your_domain.com"
});

Troubleshooting¶
Startup logs (including errors) will be available under \logs
folder. Here should be the first place to check.
C:\inetpub\wwwroot\KissLog.Backend\logs
C:\inetpub\wwwroot\KissLog.Frontend\logs
Quick checklist¶
Make sure you deploy and run KissLog.Backend first
If there are any confiuguration errors, you should see them under the
\logs
folder.KissLog.Backend will try to connect to MongoDB. If the MongoDB server is not reachable, you should see an error:
C:\inetpub\wwwroot\KissLog.Backend\Logs\06-02-2023.log¶KissLog.Backend startup failed DatabaseName: KissLogBackend Exception: A timeout occured after 30000ms selecting a server using CompositeServerSelector{ Selectors = MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 } }. Client view of cluster state is { ClusterId : "1", ConnectionMode : "Automatic", Type : "Unknown", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "Unspecified/localhost3:27017" }", EndPoint: "Unspecified/localhost:27017", ReasonChanged: "Heartbeat", State: "Disconnected", ServerVersion: , TopologyVersion: , Type: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException: An exception occurred while opening a connection to the server. ---> System.Net.Sockets.SocketException (11001): No such host is known.
- KissLog.Frontend will try to connect to MS-SQL / MySql server.On the first run, KissLog.Frontend will also create the database (if not already exists).Any database errors, such as connection errors or database permissions, will be saved under the
\Logs
folder.Important:If the SQL user does not have permissions to create the database, you will have to create it manually.The database generation script will be generated underKissLog.Frontend\logs\{Provider}-database.sql.txt
. - KissLog applications (KissLog.Frontend and KissLog.Backend) connect to each other using HTTP requests.Make sure there is no firewall blocking the connection.
- If the application fails to start and there are no log messages, enable IIS logs:Update
web.config
, set<aspNetCore stdoutLogEnabled="true" />
, then restart the application.C:\inetpub\wwwroot\KissLog.Backend\web.config¶<?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\KissLog.Backend.AspNetCore.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" /> </system.webServer> </location> </configuration> <!--ProjectGuid: 4EC40754-6618-4D7D-B45E-C7FE1D6B8EF6-->
Important:Create an emptylogs
folder if one does not already exist. If no logs are generated (including no IIS logs), double check that you have ASP.NET Core Runtime 6 installed.
Need help?¶
Open a GitHub issue or send an email to catalingavan@gmail.com.