[EAGLE-1037] Add alertDeduplication configurations on Eagle UI

https://issues.apache.org/jira/browse/EAGLE-1037

Add alertDeduplication configurations on Eagle UI.

Here is the sample policy
```json
{
    "name": "capacityUsage",
    "description": "Policy for HADOOP_JMX_METRIC_STREAM_SANDBOX_CAPACITY_USAGE_OUT",
    "inputStreams": [
      "HADOOP_JMX_METRIC_STREAM_SANDBOX"
    ],
    "outputStreams": [
      "HADOOP_JMX_METRIC_STREAM_SANDBOX_CAPACITY_USAGE_OUT"
    ],
    "siteId": "sandbox",
    "definition": {
      "type": "siddhi",
      "value": "from HADOOP_JMX_METRIC_STREAM_SANDBOX[metric == \"hadoop.namenode.fsnamesystemstate.capacityusage\" and convert(value, \"long\") > 90]select site, host, component, metric, convert(value, \"long\") as value, timestamp insert into HADOOP_JMX_METRIC_STREAM_SANDBOX_CAPACITY_USAGE_OUT;",
      "handlerClass": null,
      "properties": {},
      "inputStreams": [],
      "outputStreams": []
    },
    "stateDefinition": null,
    "policyStatus": "ENABLED",
    "alertDefinition": {
      "templateType": "TEXT",
      "subject": "$site capacity exceeds 90%",
      "body": "$site capacity exceeds 90%",
      "severity": "WARNING",
      "category": "HDFS"
    },
    "alertDeduplications": [
      {
        "outputStreamId": "HADOOP_JMX_METRIC_STREAM_SANDBOX_CAPACITY_USAGE_OUT",
        "dedupIntervalMin": "1",
        "dedupFields": [
          "site",
          "component",
          "host",
          "metric"
        ]
      }
    ],
    "partitionSpec": [
      {
        "streamId": "HADOOP_JMX_METRIC_STREAM_SANDBOX",
        "type": "SHUFFLE",
        "columns": [],
        "sortSpec": null
      }
    ],
    "dedicated": false,
    "parallelismHint": 5,
    "alertSeverity": "WARNING",
    "alertCategory": "HDFS"
  }
```

Author: zombieJ <smith3816@gmail.com>

Closes #945 from zombieJ/EAGLE-1037.
2 files changed