| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing software |
| # distributed under the License is distributed on an "AS IS" BASIS |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| { |
| config { |
| envContextConfig { |
| "env" : "storm" |
| "mode" : "local" |
| "topologyName" : "dsl-based-topology" |
| "parallelismConfig" : { |
| "kafkaMsgConsumer" : 1 |
| } |
| } |
| alertExecutorConfigs { |
| defaultAlertExecutor { |
| "parallelism" : 1 |
| "partitioner" : "org.apache.eagle.policy.DefaultPolicyPartitioner" |
| "needValidation" : "true" |
| } |
| } |
| eagleProps { |
| "site" : "sandbox" |
| "dataSource": "HADOOP" |
| "dataJoinPollIntervalSec" : 30 |
| "mailHost" : "some.mail.server" |
| "mailSmtpPort":"25" |
| "mailDebug" : "true" |
| "eagleService": { |
| "host": "localhost" |
| "port": 38080 |
| "username": "admin" |
| "password": "secret" |
| } |
| } |
| dynamicConfigSource { |
| "enabled" : true |
| "initDelayMillis" : 0 |
| "delayMillis" : 30000 |
| } |
| } |
| |
| schema { |
| // JmxStreamOne { |
| // attributes { |
| // metric: string |
| // value: double |
| // timestamp: long |
| // } |
| // alertExecutorId = [defaultAlertExecutor,anotherAlertExecutor] |
| // } |
| JmxStreamOne { |
| metric: string |
| value: double |
| timestamp: long |
| } |
| } |
| |
| dataflow { |
| KafkaSource.JmxStreamOne { |
| parallism = 1000 |
| topic = "metric_event_1" |
| zkConnection = "localhost:2181" |
| zkConnectionTimeoutMS = 15000 |
| consumerGroupId = "Consumer" |
| fetchSize = 1048586 |
| transactionZKServers = "localhost" |
| transactionZKPort = 2181 |
| transactionZKRoot = "/consumers" |
| transactionStateUpdateMS = 2000 |
| deserializerClass = "org.apache.eagle.datastream.storm.JsonMessageDeserializer" |
| } |
| |
| KafkaSource.JmxStreamTwo { |
| parallism = 1000 |
| topic = "metric_event_2" |
| zkConnection = "localhost:2181" |
| zkConnectionTimeoutMS = 15000 |
| consumerGroupId = "Consumer" |
| fetchSize = 1048586 |
| transactionZKServers = "localhost" |
| transactionZKPort = 2181 |
| transactionZKRoot = "/consumers" |
| transactionStateUpdateMS = 2000 |
| deserializerClass = "org.apache.eagle.datastream.storm.JsonMessageDeserializer" |
| } |
| |
| KafkaSource.JmxStreamThree{ |
| parallism = 1000 |
| topic = "metric_event_3" |
| zkConnection = "localhost:2181" |
| zkConnectionTimeoutMS = 15000 |
| consumerGroupId = "Consumer" |
| fetchSize = 1048586 |
| transactionZKServers = "localhost" |
| transactionZKPort = 2181 |
| transactionZKRoot = "/consumers" |
| transactionStateUpdateMS = 2000 |
| deserializerClass = "org.apache.eagle.datastream.storm.JsonMessageDeserializer" |
| } |
| |
| Console.printer { |
| format = "%s" |
| } |
| |
| KafkaSink.metricStore { |
| topic = "metric_event_persist" |
| } |
| |
| // KafkaSink.alertStore { |
| // "topic" = "alert_persist" |
| // "bootstrap.servers" = "localhost:6667" |
| // } |
| |
| Alert.alert { |
| inputs = [JmxStreamOne,JmxStreamTwo,JmxStreamThree] |
| |
| upStreamNames = [JmxStreamOne,JmxStreamTwo,JmxStreamThree] |
| alertExecutorId = defaultAlertExecutor |
| } |
| |
| // Aggregator.aggreator { |
| // upStreamNames = [] |
| // analyzerId = "" |
| // cepQl = "" |
| // strategy = "" |
| // } |
| |
| JmxStreamOne|JmxStreamTwo|JmxStreamThree -> alert { |
| grouping = shuffle |
| } |
| |
| JmxStreamOne|JmxStreamTwo|JmxStreamThree -> metricStore { |
| grouping = shuffle |
| } |
| |
| JmxStreamOne|JmxStreamTwo|JmxStreamThree -> printer { |
| grouping = shuffle |
| } |
| } |
| } |