Core services JSON configuration file

The installation configuration JSON file (IMS_Core_Config.json) defines the attributes for core services.

The installation configuration JSON file for core services contains the following elements:

  • EnvironmentName. Environment where the services will be deployed (such as dev, test, or prod). Make sure that the IMS and Reading database is created with this environment name (ims_<EnvironmentName> and readings_<EnvironmentName>). For example:

    • ims_dev
    • readings_dev

    Note: The environment name should be in lower case. Make sure that the name does not change for any IMS upgrades.

  • TenantId. Tenant ID for IMS to be configured. Make sure that this ID does not change. For example:

    6c75c96e-56b8-4dbf-ba46-ed9b0440f45a

  • CustomerShortName. A short customer name (such as itron or xyz). This is required to configure IMS. Make sure that this name does not change. Always use lower case.

  • InstallationPath. Used by all services to extract the service binaries and run services from this path. For example:

    E:\\HostApps

    Note: The InstallationPath location should not be a network shared path.

  • AppInsightConnectionString. (Optional) The Microsoft Azure Application Insight connection string used to capture logs. If the connection string is available, assign it as the value for this setting. Otherwise, keep the default value, which is NA. For example:

    NA

  • ServiceAccountUserName. The domain user service account running the IMS services for this account. The user name should use the fully qualified domain name (FQDN) format (for example: IMSAdmin@itron.com or IMSAdmin@subitron.itron.local). This user should have full control access to InstallationPath.

    Note: If the FQDN is subitron.itron.local, then the user name should be UserName@subitron.itron.local. If the FQDN is itron.com, then the user name should be UserName@itron.com. These credentials are used to validate against Active Directory or domain authentication.

  • LoggingType. The logging level for capturing logs for the log file, helpful for troubleshooting. The logging type levels from low to high are as follows: Trace, Debug, Information, Warning, Error, and Fatal. For example:

    Information

  • MessageBrokerConfiguration. The setting to connect the Kafka messaging service. Use the following format: [IP]:[PORT] or [FQDN]:[PORT]. For example:

    10.161.33.09:9092

    or

    Kafka-Server.Itron.com:9092

    Tip: Kafka packages sometimes revert to the machine name even with an IP provided in the config file. To prevent this issue, edit the driver file and add both the IP and the machine name in case the Kafka server is not a domain-joined machine.

  • UserName. The user name to connect to a secure Kafka service. If Kafka is unsecured, this will be NA.

  • DBConnectionString. The setting to connect to the database. The following elements are related:

    • HostName. The database server host name.

    • UserName. The user name to connect to the database.

    • Port. The port on which the database server is running. The default is 5432 for PostgreSQL and 6432 for PgBouncer. Use port 6432.

    Note: The database should be created with names like ims_<EnvironmentName> and readings_<EnvironmentName>, which will be assigned to each service setting. Make sure that during database creation the database name reflects this.

  • CoreComponents. The following services comprise the IMS Core components:

    [
    "ManagementService",
    "LogProcessorService",
    "JobManagerService",
    "SOAPIngressTransport",
    "SOAPEgressTransport",
    "AMMEgressTransport",
    "JMSIngressTransport",
    "FileIngressTransport",
    "MonitoringService",
    "DMSDataPullService",
    "FileEgressTransport",
    "ReadingsMetadataAPI"
    ]

    Note: Remove from this list the services that will not be installed on the server. Make sure that this setting is exactly correct before running the installation to prevent duplicate service installations on multiple systems. Remove FileIngressTransport,FileIngressTransport if there will be no PBC-to-MDI or PBC-to-Location flows.

  • AMMEgressTransport_Settings. Used for AMM SOAP Egress Transport service settings. The following elements are related:

    • AMMEndPoint. The AMM web-service endpoint used to perform two-way command requests.

    • AMMUser.The AMM web-service endpoint username used for authentication. The proper roles must be assigned (see User roles and permissions).

  • SOAPIngressTransport_Setting. Used for SOAP Ingress Transport service settings. The following element is related:

    • CertThumbprint. The SSL certificate thumbprint (without spaces) used to host the monitoring service as a secured endpoint. For example:

      13fb7dcadd430df19213b7bbe460d55401606414

      Note: Set CertThumbprint as NA if you don't want to host the monitoring service as a secured endpoint. In this case, it will host as an unsecured endpoint (not recommended).

    • EnableTransportClientCertificate. This defines whether the client certificate thumbprint authorization is enabled or not (true or false). This provides an extra authorization check for incoming calls to the IMS SOAP Ingress transport service for two-way commands. The default value is false.

    • ClientCertThumprint. This enables the client certificate thumbprint to perform an authorization check for incoming calls to the IMS SOAP Ingress transport service for two-way commands. If the EnableTransportClientCertificate is set to true, then provide the proper client certificate thumbprint; otherwise, set as NA. For example:

      edcba0aef6034b59b0e60650b2f10ad6bfac0792

    • EnableUnsecure. Set to true to host the service in unsecure mode.

    • EnableBasicTransportOverUserName. Set to true to host the service with transport security over username.

    • BasicTransportUserName. The username for transport security over username (if EnableBasicTransportOverUserName is set to true).

  • SOAPEgressTransport_Setting. Used for SOAP Egress Transport service settings. The following elements are related:

    • CertThumbprint. The client certificate thumbprint which will be used to call a SOAP endpoint as transport security with client certificate. This certificate will come from the server certificate. This is from the IEE server where the Data Arrived and Exception Arrived endpoints are exposed. Set as NA for an unsecured call over certificate.

    • DataArrivedServiceUrl. Used for the Data Arrived endpoint. For example:

      • Unsecure: https://IEE-XYZ.ITRON.COM:8000/V1/DeviceCommDataImportService/Basic

      • SSLBasicAuth: https://IEE-XYZ.ITRON.COM:8000/V1/DeviceCommDataImportService/SSLBasicAuth

      • SSLClientCertificate: https://IEE-XYZ.ITRON.COM:8000/V1/DeviceCommDataImportService/SSLClientCertificate

    • ExceptionArrivedServiceUrl. Used for the Exception Arrived endpoint.

    • MaxRetryCount. The max retry count for SOAP endpoints in case of failure. Default value: 3.

    • SOAPUserName. Used to call SOAP endpoints over SSLBasicAuth. For example, if IEE exposes the data arrived and exception arrived endpoint as SSLBasicAuth, then it needs only the username and password to make the call without a client certificate. In this case, it should assign a username and password during installation. Set as NA for any setting for UserName and CertThumbprint based on the IEE exposed endpoint. The default value is NA.

    • EnableWCFChannelReuse. Enables or disables the reuse of the WCF channel per request. Set to true, the WCF channel will be reused for a certain amount of time while sending DataArrived or ExceptionArrived data to the WCF service.

    Note: The DeviceCom DataArrivedServiceUrl and ExceptionArrivedServiceUrl will be placed here as per the IEE exposed endpoint and security type . If supporting SSLBasicAuth, then CertThumbprint is not required (set as NA), but SOAPUserName and SOAPPwd must be provided. For SSLClientCertificate and CertThumbprint, you must provide here and SOAPUserName. SOAPPwd can be set as NA. For unsecure, set as NA for CertThumbprint, SOAPUserName, and SOAPPwd.

  • JMSIngressTransport_Settings. Used for the JMS Ingress Transport service setting. The following elements are related:

    • ServerUrl. The TIBCO or JMS server URL for consumer message from the queue.

    • UserName. The TIBCO or JMS server username for authentication. It should have admin privileges to create a bridge queue.

    • EnableDataFeed. Enables the Data Feed message to consume (from /queue/SSNExportQ). The JMS adapter will create a bridge queue on the SSNExportQ and then will consume from the bridge queue. The default value is true.

    • EnableDTA. Enables the DTA message to consume. This should not be enabled and should always be set to false.

    • EnableCommands. Enables the On-Demand Read message to consume(from /queue/SSNODRQ). The JMS adapter will create a bridge queue on the SSNODRQ and then will consume from the bridge queue. The default value is true.

    • EnableEvents. Enables the Data Feed message to consume (from /queue/SSNEventQ). The JMS adapter will create a bridge queue on the SSNEventQ and then will consume from the bridge queue. The default value is true.

    • DTAListenerQueue. The TIBCO queue where the DTA component will publish messages for IMS using the Data Arrived model (/queue/SSNDTA).

  • FileIngressTransport_Setting. Used for the File Ingress Transport service setting. The following element is related:

    • FileWatcherBasePath. Sets the file watcher directory base path. Make sure that the server and service account have access to this path with admin privileges. Set as NA if no File Ingress Transport service will be installed. This is required for PBC-to-MDI or PBC-to-Location (or AMM) flows.

  • MonitoringService_Setting. Used for Monitoring Service settings. The following elements are related:

    • IdentityUrl.: The Identity URL for the monitoring service, used by the Hot Reading Query API to connect for authorization. For example:

      https://ims-iden.itron.com:10800/

      This should be lower case only as the Identity URL is case sensitive.

    • CertificateThumbprint. The SSL certificate thumbprint (without spaces) used to host the monitoring service as a secured endpoint. Set as NA if you don't want to host the monitoring service as a secured endpoint. In this case, it will host as an unsecured endpoint (not recommended).

    • DMSDataPullService_Settings. Used for the DMS Data Pull Service.

      • DmsBaseAddress. DMS service base address.

      • DmsUser. DMS service username.

    • FileEgressTransport_Setting. Used for the File Egress Transport adapter.

      • FileDownloadBasePath. The path of the file to be downloaded for an external system to consume. For example, in a PBC-to-MDI flow, the MDI file will be downloaded for an OpenWay system to consume.

  • DMSDataPullService_Settings. Used for the DMS Data Pull Service. The following elements are related:

    • DmsBaseAddress. The DMS Service base address.

    • DmsUser. The DMS Service user name.