EventSmith is the alarm notification system that processes any events generated by CM4D Scheduler. EventSmith uses two Windows services to process events from reports and send out event notifications from CM4D:
ATS CM4D EventSmith Mailer - Processes the email notifications via the SMTP mail server for CM4D Scheduler Event jobs. This service is dependent on the EventSmith Processor.
ATS CM4D EventSmith Processor - Processes the events generated by CM4D Scheduler.
The EventSmith services require the following:
SMTP Mail Server Configuration - A mail server is required to send the email notifications from EventSmith SMTP. You need to set the server information and the user login that will be used for authentication. Configure in either SiteManager (desktop app) or the CM4D Configuration plugin (web app).
CM4D Site database access - If the services are installed on the same machine as CM4D Server, database access is obtained via the Cm4d.4ds file. For installs on a separate system, a database connection string can be configured in the appsettings.json files for each service.
Install EventSmith Services
This guide contains the detailed steps to installing and configuring the EventSmith SMTP Services.
The EventSmith services are typically installed on the same machine as CM4D Server. As a separate installer, the EventSmith services can be installed on a different machine as needed, provided a database connection can be achieved.
Run the EventSmith Services Installer
Run the CM4D EventSmith Services install executable (as Administrator).
Click Next.
Accept the terms of the Licensing Agreement.
Click Next.
Features and Installation Folder
The default options provided installs the EventSmith Mailer and EventSmith Processor Windows Services to C:\Program Files\Applied Tech Systems\ATS CM4D EventSmithV2\. To change the installation folder, go to the Installation Folder tab and either enter a folder path or browse to a folder.
Click Next.
Finish the Install
Click Install to complete the installation.
Click Finish.
Configure SMTP Mail Server
A mail server is required to send the email notifications from EventSmith SMTP. You need to set the server information and the user login that will be used for authentication.
Site Manager > Settings Menu > EventSmith SMTP Settings
Enter the following information:
SMTP Host - The server address of the SMTP mail server.
Port - The port number used to connect to the SMTP mail server. It must match the SMTP port used on your mail server.
Enable SSL - Check this option if the mail server requires SSL.
Username - The username that will be used to log in to Authenticate on the mail server. For anonymous relay, leave this empty.
Password - The password for the Authentication user name. For anonymous relay, leave this empty. The password is encrypted in the database.
From Address - The email address from which the event notifications are sent. If this is left empty, EventSmith will attempt to obtain an address from the Site database based on the user running the service. If neither exist, the service will not start. If you are using Authentication, the from address should match the account used to log in to the SMTP server or it will likely fail to send any email.
Configure EventSmith Services
Services Log On User
The EventSmith services should be run by a specified user account.
Go to Administrative Tools > Services.
Right-click a service and select Properties.
Go to the Log On tab.
In the Log on as section, select This account.
Enter the User credentials for the user account that will run the CM4D service.
Click OK.
Repeat for each CM4D Service.
Once all CM4D services are configured, close Services.
If your Domain users are required to change their passwords periodically, you will also need to update the CM4D services Log On passwords manually. The Windows service logon passwords do not get updated automatically through the Windows change password operation.
CM4D Site database access
If the services are installed on the same machine as CM4D Server, database access is obtained automatically via the Cm4d.4ds file registered to the CM4D installation. This method allows your passwords to remain encrypted.
For services installed on a separate system, a database connection string is configured in the appsettings.json files for each service.
The database connection setting "ConnectionStrings" is the same for both services: "SiteDbConnection": "Server=(local)\\MSSQLSERVER01;Database=cm4dsite;User Id=cm4dservice;Password=xxxxx"
If your database connection includes an instance name, add a second backslash character between the server and instance name to conform with SQL Server syntax requirements.
Run EventSmith Services
Open Control Panel > Administrative Tools > Services.
Start the two EventSmith services - Mailer and Processing.
Install and Configure ServiceControl Manager (Optional)
NServiceBus (used by CM4D Results and EventSmith services) provides powerful error handling and monitoring tools:
ServiceControl - Collects data from endpoints (CM4D Services).
ServicePulse - A web-based application to inspect failed messages and resubmit them and to monitor the availability and performance of endpoints.
ServiceInsight - Supports auditing of message details but has a major performance impact.
At a minimum, it is strongly recommended to use ServiceControl and ServicePulse. You need to configure at least one instance of ServiceControl and Auditing and one Monitoringinstance for the transport method chosen during the installation of the Results service.
The downloads and installation instructions for the NServiceBus applications can be found on the Particular Software website.