{ "type": "kafka", "dataSchema": { "dataSource": "service_function_status", "parser": { "type": "string", "parseSpec": { "format": "json", "timestampSpec": { "column": "timestamp_ms", "format": "millis" }, "dimensionsSpec": { "dimensions": [ "device_id", "device_group", "data_center", { "name": "vsys_id", "type": "long" }, { "name": "sf_profile_id", "type": "long" } ] } } }, "metricsSpec" : [ { "type" : "longMax", "name" : "sf_latency_us", "fieldName" : "sf_latency_us" }, { "type" : "longMax", "name" : "sf_status", "fieldName" : "sf_status" } ], "granularitySpec": { "type": "uniform", "segmentGranularity": "DAY", "queryGranularity": {"type": "period", "period": "PT1S"}, "rollup": true }, "transformSpec" :{ "transforms":[ {"type": "expression", "name": "sf_latency_us", "expression": "nvl(sf_latency_us, 0)"}, {"type": "expression", "name": "sf_status", "expression": "nvl(sf_status, 0)"} ], "filter": { "type": "selector", "dimension": "name", "value": "service_function_status" } } }, "tuningConfig": { "type": "kafka", "maxRowsPerSegment": 5000000, "resetOffsetAutomatically": true, "reportParseExceptions": false }, "ioConfig": { "topic": "POLICY-RULE-METRIC", "taskCount": 1, "replicas": 1, "taskDuration": "PT1H", "completionTimeout": "PT30M", "consumerProperties": { "bootstrap.servers": "kafkabootstrap", "sasl.mechanism": "PLAIN", "security.protocol": "SASL_PLAINTEXT", "sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";" } } }