The Indeed Log Server component allows recording events from all Indeed Certificate Manager servers in a Unified Windows Event Log, Microsoft SQL Database, PostgreSQL or Syslog.
The component is can be installed on one of Indeed CM servers or on a separate workstation (in the domain or outside it). The system requirements for installing the component are the same as the Indeed CM server. |
Install the Indeed Log Server by running Indeed.LogServer-x64.msi installer (located in the Indeed.Log.Server directory).
Indeed Log Server works with one Read storage (<ReadTargetId>) and with multiple Write storages (<WriteTargets>). |
IIS role restart is required to apply changes in configuration files. |
Edit the configuration file clientApps.config (C:\inetpub\wwwroot\ls\clientApps.config) as follows:
In the Application section, add:
<Application Id="cm" SchemaId="cmSchema"> <ReadTargetId>cmEventLogTarget</ReadTargetId> <WriteTargets> <TargetId>cmEventLogTarget</TargetId> </WriteTargets> <AccessControl> <!--<CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" />--> </AccessControl> </Application> |
In the Targets section add a new element:
<Targets> <Target Id="cmEventLogTarget" Type="eventlog"/> </Targets> |
The database for storing Indeed Log Server data must be created manually, and is filling automatically.
In the Owner: field define the owner of the database being created.
Create a new account (say, servicesql) or use any internal SQL account or Active Directory account (e.g., service account to be used with Indeed CM: servicecm). After the database is created, this account would possess db_owner, public privileges and shall be used by the system to perform read/write operations from/to the database. |
Save the created database by clicking ОК.
Password - service account password
<Settings> <ConnectionString>Data Source=MSSQL\SQLEXPRESS;Database=LogServer;User Id=servicesql;Password=P@ssw0rd</ConnectionString> </Settings> |
Edit the configuration file clientApps.config (C:\inetpub\wwwroot\ls\clientApps.config) to working with cmMsSqlTarget.config as follows:
In the Application section, add:
<Application Id="cm" SchemaId="cmSchema"> <ReadTargetId>cmMsSqlTarget</ReadTargetId> <WriteTargets> <TargetId>cmMsSqlTarget</TargetId> </WriteTargets> <AccessControl> <!--<CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" />--> </AccessControl> </Application> |
In the Targets section add a new element:
<Targets> <Target Id="cmMsSqlTarget" Type="mssql"/> </Targets> |
The database for storing Indeed Log Server data must be created manually, and is filling automatically.
Enter the text of the request, specifying the account name in it:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO "service account without quotes"; |
By default PostgreSQL allows localhost connections only, so there is changes in configuration are required to grant access from other host:
Open the pg_hba.conf in PostgreSQL directory.
For Windows — For *nix — |
Add a line with the following format:
CONNECTIONTYPE DATABASE USER ADDRESS METHOD |
Where:
METHOD - User account authentication method (for example, "md5", "scram-sha-256" to use password-based authentication in a secure way).
host LogServer servicepg 192.200.1.0 md5 host ALL servicepg 10.0.0.0/8 md5 host ALL ALL 0.0.0.0/0 scram-sha-256 |
Password - Service account password.
<Settings> <ConnectionString>Host=SRV-POSTGRESQL;Port=5432;Database=LogServer;Username=servicepg;Password=P@ssw0rd</ConnectionString> </Settings> |
Edit the configuration file clientApps.config (C:\inetpub\wwwroot\ls\clientApps.config) to working with cmPgSqlTarget.config as follows:
In the Application section, add:
<Application Id="cm" SchemaId="cmSchema"> <ReadTargetId>cmPgSqlTarget</ReadTargetId> <WriteTargets> <TargetId>cmPgSqlTarget</TargetId> </WriteTargets> <AccessControl> <!-- <CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" /> --> </AccessControl> </Application> |
In the Targets section add a new element:
<Targets> <Target Id="cmPgSqlTarget" Type="pgsql"/> </Targets> |
Indeed Log Server supports only event writing to Syslog (<WriteTargets>) due to restrictions of Syslog protocol. Example below complements configuration from PostgreSQL case. |
Protocol - Connection type to the Syslog server: UDP, TCP, TCPoverTLS.
SyslogVersion - Optional, specify protocol of the Syslog: RFC3164, RFC5424.
<Settings HostName="SRV-SYSLOG" Port="514" Protocol="udp"/> |
In the Application section, add:
<Applications> <Application Id="cm" SchemaId="cmSchema"> <ReadTargetId>cmPgSqlTarget</ReadTargetId> <WriteTargets> <TargetId>cmPgSqlTarget</TargetId> <TargetId>cmSysLogTarget</TargetId> </WriteTargets> <AccessControl> <!-- <CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" /> --> </AccessControl> </Application> </Applications> |
In the Targets section add a new element:
<Targets> <Target Id="cmPgSqlTarget" Type="pgsql"/> <Target Id="cmSysLogTarget" Type="syslog"/> </Targets> |