Important:
Make sure to edit the configuration files under the $K2_HOME/config directory and not under the template directory. Configuration files should be edited on all Fabric nodes so it will become effective on the cluster level.
Configuration File |
Description |
|
Fabric's main configuration file holding different sections of parameters where each section has its own parameters. Default Fabric values are set for commented parameters. |
iifConfig.ini |
The IIDFinder mechanism's main configuration file. |
List of Fabric node identifiers for the Affinity mechanism. Supports several Fabric clusters on one Cassandra cluster. |
|
logback.xml, logback-iid_finder.xml, and logback-init_finder.xml |
Fabric logs configuration files. |
jvm.options |
Sets the flags used by Fabric to startup the JVM (Java Virtual Machine). For example: To use the machine's local timezone, uncomment the -DFABRIC_LOCAL_TIMEZONE parameter and set it to true to use the local time-zone of the Fabric server. |
jmxremote.access and jmxremote.password |
Remote JMX API access to monitoring. |
modules |
List of internal Fabric modules. Each module depends on the previous modules in the file. You can comment some internal Fabric modules and restart the Fabric node to avoid starting the commented modules and have a lightweight start on Fabric. For example: comment the jobs module to avoid running jobs on the Fabric node. The following modules can be commented:
|
Fabric's main configuration file which holds different sections of parameters where each section has its own parameters and default Fabric values for commented parameters.
Category |
Section Names |
Main Parameters |
Cassandra / System DB Connection |
|
Configurations for creating a connection to the Cassandra cluster:
|
Fabric Settings |
|
|
PubSub |
|
|
|
|
|
|
|
|
Parsers |
|
|
IIDFinder |
|
|
Cassandra Loader configuration |
|
|
Cassandra loader session configuration |
|
|
CommonDB Reference Tables |
|
|
LUI Storage |
|
|
Fabric Security Hardening |
|
|
|
|
|
Consistency Level |
|
|
|
|
Fabric is a multi-node, multi Datacenter (DC) system which interacts and exchanges data with target and source systems and exposes APIs. This may present a challenge when dealing with time zones.
By default, Fabric is configured to use the Coordinated Universal Time (UTC) zone, regardless of the time zone of the host server. UTC is roughly equivalent to GMT time but does not observe Day Light Saving.
When getting data from source systems and storing it in Fabric, the best practice is to normalize all timestamps (populated in Fabric) to UTC and store any additional time zone information in separate fields.
When exposing or exporting data to upstream systems that require a different time presentation, the conversion should be done during the data movement (not stored in Fabric) and planned per consumer. This behavior makes it easier to process logs and analyze data interchange of cross time zones datacenters, nodes and external systems.
Fabric does allow changing this default behavior and changing the process time zone from UTC to the server's local time:
To change how data is saved to Fabric, open the config.ini file in the config folder and change the DATETIME_FORMAT_LOCAL_TIMEZONE parameter as follows:
DATETIME_FORMAT_LOCAL_TIMEZONE=true
This affects the conversion of Date objects to a table field entry in the Fabric database and formats them according to the Wall Time of the local time zone.
Note that you must restart Fabric after making these updates.
Since these entries affect different stages of data intake and exposure, it is important to test the Date format after changing them to make sure the required format is achieved against all sources and data types. Changes will not affect data already in the database.
This file lists Fabric node identifiers for the Affinity mechanism. The following identifiers can be set in the node.id file:
uuid, if this parameter is not defined, Fabric automatically generates a value for the uuid during startup.
logical_id, used to define an Affinity for the Fabric jobs mechanism. The logical_id contains only letters and numbers. Several nodes can share the same logical_id. In addition, several logical IDs can be set for one node. The number of threads allocated to each logical_id can also be defined by concatenating it to the logical_id name separated with a colon sign. For example, the logical_id for a given node has the following values: A:2, B:3, and C:6. If there are 10 threads in the pool for this node, then the job using logical_id C as an Affinity will get 6 out of the 10 threads.
A Recommended Pool Size capability has been added to the affinity function to rebalance jobs and get the ability to dynamically split (in runtime) jobs executions between nodes. 2 new parameters can be defined:
logical_id:2 4 or logical_id:2-4
whereby 2 is the recommended number and 4 the maximum number of nodes to be allocated to jobs.cluster_id, cluster identifier. The cluster_id is set to support a configuration of several Fabric clusters on one Cassandra cluster. The cluster_id is concatenated to each keyspace name. For example- if the cluster_id is set to “fabric1”, then Fabric concatenates “_fabric1” to each keyspace.
New Parameter added - iidfinder_job:1 to configure the number of cloud jobs per node. The defaulat value is 1.
Could be set to 0 if IidFinder is not used at all, or on some nodes, but not all of them.
Fabric adds a notification to the k2fabric.log if the updates are loaded automatically to Fabric. If the changes require a restart of the Fabric node, Fabric adds a warning to the log file.
Examples:
Fabric must be restarted to apply the updates.
When updating the iifConfig.ini, do the following:
The interface enables a user with suitable permissions to access the Admin page. This is done in order to change values in the config.ini file, for the specific node, and to save these changes (overrides) in the system DB.
Some sections of config.ini are not shown in the configuration table UI.
Some parameters of the config.ini that are supposed to be unhidden - are hidden in the configuration table. To mitigate this issue, if there is a parameter that needs to be used and is not shown in the table, tick on the hidden filter, which will enable you to see it.
Important:
Make sure to edit the configuration files under the $K2_HOME/config directory and not under the template directory. Configuration files should be edited on all Fabric nodes so it will become effective on the cluster level.
Configuration File |
Description |
|
Fabric's main configuration file holding different sections of parameters where each section has its own parameters. Default Fabric values are set for commented parameters. |
iifConfig.ini |
The IIDFinder mechanism's main configuration file. |
List of Fabric node identifiers for the Affinity mechanism. Supports several Fabric clusters on one Cassandra cluster. |
|
logback.xml, logback-iid_finder.xml, and logback-init_finder.xml |
Fabric logs configuration files. |
jvm.options |
Sets the flags used by Fabric to startup the JVM (Java Virtual Machine). For example: To use the machine's local timezone, uncomment the -DFABRIC_LOCAL_TIMEZONE parameter and set it to true to use the local time-zone of the Fabric server. |
jmxremote.access and jmxremote.password |
Remote JMX API access to monitoring. |
modules |
List of internal Fabric modules. Each module depends on the previous modules in the file. You can comment some internal Fabric modules and restart the Fabric node to avoid starting the commented modules and have a lightweight start on Fabric. For example: comment the jobs module to avoid running jobs on the Fabric node. The following modules can be commented:
|
Fabric's main configuration file which holds different sections of parameters where each section has its own parameters and default Fabric values for commented parameters.
Category |
Section Names |
Main Parameters |
Cassandra / System DB Connection |
|
Configurations for creating a connection to the Cassandra cluster:
|
Fabric Settings |
|
|
PubSub |
|
|
|
|
|
|
|
|
Parsers |
|
|
IIDFinder |
|
|
Cassandra Loader configuration |
|
|
Cassandra loader session configuration |
|
|
CommonDB Reference Tables |
|
|
LUI Storage |
|
|
Fabric Security Hardening |
|
|
|
|
|
Consistency Level |
|
|
|
|
Fabric is a multi-node, multi Datacenter (DC) system which interacts and exchanges data with target and source systems and exposes APIs. This may present a challenge when dealing with time zones.
By default, Fabric is configured to use the Coordinated Universal Time (UTC) zone, regardless of the time zone of the host server. UTC is roughly equivalent to GMT time but does not observe Day Light Saving.
When getting data from source systems and storing it in Fabric, the best practice is to normalize all timestamps (populated in Fabric) to UTC and store any additional time zone information in separate fields.
When exposing or exporting data to upstream systems that require a different time presentation, the conversion should be done during the data movement (not stored in Fabric) and planned per consumer. This behavior makes it easier to process logs and analyze data interchange of cross time zones datacenters, nodes and external systems.
Fabric does allow changing this default behavior and changing the process time zone from UTC to the server's local time:
To change how data is saved to Fabric, open the config.ini file in the config folder and change the DATETIME_FORMAT_LOCAL_TIMEZONE parameter as follows:
DATETIME_FORMAT_LOCAL_TIMEZONE=true
This affects the conversion of Date objects to a table field entry in the Fabric database and formats them according to the Wall Time of the local time zone.
Note that you must restart Fabric after making these updates.
Since these entries affect different stages of data intake and exposure, it is important to test the Date format after changing them to make sure the required format is achieved against all sources and data types. Changes will not affect data already in the database.
This file lists Fabric node identifiers for the Affinity mechanism. The following identifiers can be set in the node.id file:
uuid, if this parameter is not defined, Fabric automatically generates a value for the uuid during startup.
logical_id, used to define an Affinity for the Fabric jobs mechanism. The logical_id contains only letters and numbers. Several nodes can share the same logical_id. In addition, several logical IDs can be set for one node. The number of threads allocated to each logical_id can also be defined by concatenating it to the logical_id name separated with a colon sign. For example, the logical_id for a given node has the following values: A:2, B:3, and C:6. If there are 10 threads in the pool for this node, then the job using logical_id C as an Affinity will get 6 out of the 10 threads.
A Recommended Pool Size capability has been added to the affinity function to rebalance jobs and get the ability to dynamically split (in runtime) jobs executions between nodes. 2 new parameters can be defined:
logical_id:2 4 or logical_id:2-4
whereby 2 is the recommended number and 4 the maximum number of nodes to be allocated to jobs.cluster_id, cluster identifier. The cluster_id is set to support a configuration of several Fabric clusters on one Cassandra cluster. The cluster_id is concatenated to each keyspace name. For example- if the cluster_id is set to “fabric1”, then Fabric concatenates “_fabric1” to each keyspace.
New Parameter added - iidfinder_job:1 to configure the number of cloud jobs per node. The defaulat value is 1.
Could be set to 0 if IidFinder is not used at all, or on some nodes, but not all of them.
Fabric adds a notification to the k2fabric.log if the updates are loaded automatically to Fabric. If the changes require a restart of the Fabric node, Fabric adds a warning to the log file.
Examples:
Fabric must be restarted to apply the updates.
When updating the iifConfig.ini, do the following:
The interface enables a user with suitable permissions to access the Admin page. This is done in order to change values in the config.ini file, for the specific node, and to save these changes (overrides) in the system DB.
Some sections of config.ini are not shown in the configuration table UI.
Some parameters of the config.ini that are supposed to be unhidden - are hidden in the configuration table. To mitigate this issue, if there is a parameter that needs to be used and is not shown in the table, tick on the hidden filter, which will enable you to see it.