{ "type": "kafka", "dataSchema": { "dataSource": "service_chaining_rule_hits", "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": "rule_id", "type": "long" }, { "name": "sff_profile_id", "type": "long" }, { "name": "sf_profile_id", "type": "long" } ] } } }, "metricsSpec" : [ { "type" : "longSum", "name" : "sent_pkts", "fieldName" : "sent_pkts" }, { "type" : "longSum", "name" : "sent_bytes", "fieldName" : "sent_bytes" }, { "type" : "longSum", "name" : "recv_pkts", "fieldName" : "recv_pkts" }, { "type" : "longSum", "name" : "recv_bytes", "fieldName" : "recv_bytes" } ], "granularitySpec": { "type": "uniform", "segmentGranularity": "DAY", "queryGranularity": {"type": "period", "period": "PT1S"}, "rollup": true }, "transformSpec" :{ "transforms":[ {"type": "expression", "name": "sent_pkts", "expression": "nvl(sent_pkts, 0)"}, {"type": "expression", "name": "sent_bytes", "expression": "nvl(sent_bytes, 0)"}, {"type": "expression", "name": "recv_pkts", "expression": "nvl(recv_pkts, 0)"}, {"type": "expression", "name": "recv_bytes", "expression": "nvl(recv_bytes, 0)"} ], "filter": { "type": "selector", "dimension": "name", "value": "service_chaining_rule_hits" } } }, "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\";" } } }