Uploaded image for project: 'Eagle (Retired)'
  1. Eagle (Retired)
  2. EAGLE-1046

Eagle supports policies import to a new site from a policy prototype

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • v0.6.0
    • None
    • None
    • None

    Description

      0. policy prototype entity

        String name
        PolicyDefinition definition
        List<String> alertPublishmentIds
      

      1. load a list of policies to new site "sandbox" from policy prototypes by POST /rest/policyProto/export/sandbox

            [     { "definition": {
                      "name": "JobRpcThroughput",
                      "description": "Policy for MAP_REDUCE_JOB_STREAM_SANDBOX_RPC_THROUGHPUT_OUT",
                      "inputStreams": [
                          "MAP_REDUCE_JOB_STREAM"
                      ],
                      "outputStreams": [
                          "MAP_REDUCE_JOB_STREAM_SANDBOX_RPC_THROUGHPUT_OUT"
                      ],
                      "siteId": null,
                      "definition": {
                          "type": "siddhi",
                          "value": "from MAP_REDUCE_JOB_STREAM[mapOpsPerSecond > 1000 or reduceOpsPerSecond > 1000 or avgOpsPerMapTask > 50 or avgOpsPerReduceTask > 50] select * insert into MAP_REDUCE_JOB_STREAM_RPC_THROUGHPUT_OUT;",
                          "handlerClass": null,
                          "properties": {},
                          "inputStreams": [],
                          "outputStreams": []
                      },
                      "stateDefinition": null,
                      "policyStatus": "DISABLED",
                      "alertDefinition": {
                          "templateType": "TEXT",
                          "subject": "$site job rpc",
                          "body": "$site job rpc throughput",
                          "severity": "WARNING",
                          "category": "JPM"
                      },
                      "alertDeduplications": [
                          {
                              "outputStreamId": "MAP_REDUCE_JOB_STREAM_SANDBOX_RPC_THROUGHPUT_OUT",
                              "dedupIntervalMin": "0",
                              "dedupFields": []
                          }
                      ],
                      "partitionSpec": [
                          {
                              "streamId": "MAP_REDUCE_JOB_STREAM_SANDBOX",
                              "type": "SHUFFLE",
                              "columns": [],
                              "sortSpec": null
                          }
                      ],
                      "dedicated": false,
                      "parallelismHint": 5,
                      "alertSeverity": "WARNING",
                      "alertCategory": "JPM"
                  },
                  "alertPublishmentIds": []
              }
              ]
      

      2. create a new policy prototype with an existing policy by {{ POST /rest/policyProto/import}}

       {   "definition": {
              "name": "JobRpcThroughput",
              "description": "Policy for MAP_REDUCE_JOB_STREAM_SANDBOX_RPC_THROUGHPUT_OUT",
              "inputStreams": [
                  "MAP_REDUCE_JOB_STREAM_SANDBOX"
              ],
              "outputStreams": [
                  "MAP_REDUCE_JOB_STREAM_SANDBOX_RPC_THROUGHPUT_OUT"
              ],
              "siteId": "sandbox",
              "definition": {
                  "type": "siddhi",
                  "value": "from MAP_REDUCE_JOB_STREAM_SANDBOX[mapOpsPerSecond > 1000 or reduceOpsPerSecond > 1000 or avgOpsPerMapTask > 50 or avgOpsPerReduceTask > 50] select * insert into MAP_REDUCE_JOB_STREAM_SANDBOX_RPC_THROUGHPUT_OUT;",
                  "handlerClass": null,
                  "properties": {},
                  "inputStreams": [],
                  "outputStreams": []
              },
              "stateDefinition": null,
              "policyStatus": "DISABLED",
              "alertDefinition": {
                  "templateType": "TEXT",
                  "subject": "$site job rpc",
                  "body": "$site job rpc throughput",
                  "severity": "WARNING",
                  "category": "JPM"
              },
              "alertDeduplications": [
                  {
                      "outputStreamId": "MAP_REDUCE_JOB_STREAM_SANDBOX_RPC_THROUGHPUT_OUT",
                      "dedupIntervalMin": "0",
                      "dedupFields": []
                  }
              ],
              "partitionSpec": [
                  {
                      "streamId": "MAP_REDUCE_JOB_STREAM_SANDBOX",
                      "type": "SHUFFLE",
                      "columns": [],
                      "sortSpec": null
                  }
              ],
              "dedicated": false,
              "parallelismHint": 5,
              "alertSeverity": "WARNING",
              "alertCategory": "JPM"
          },
          "alertPublishmentIds": []
       }
      

      3. update or create a policy prototype by by {{ POST /rest/policyProto}}

      {
              "policyProto": {
                  "name": "JobRpcThroughput",
                  "description": "Policy for MAP_REDUCE_JOB_STREAM_SANDBOX_RPC_THROUGHPUT_OUT",
                  "inputStreams": [
                      "MAP_REDUCE_JOB_STREAM"
                  ],
                  "outputStreams": [
                      "MAP_REDUCE_JOB_STREAM_SANDBOX_RPC_THROUGHPUT_OUT"
                  ],
                  "siteId": null,
                  "definition": {
                      "type": "siddhi",
                      "value": "from MAP_REDUCE_JOB_STREAM[mapOpsPerSecond > 1000 or reduceOpsPerSecond > 1000 or avgOpsPerMapTask > 50 or avgOpsPerReduceTask > 50] select * insert into MAP_REDUCE_JOB_STREAM_RPC_THROUGHPUT_OUT;",
                      "handlerClass": null,
                      "properties": {},
                      "inputStreams": [],
                      "outputStreams": []
                  },
                  "stateDefinition": null,
                  "policyStatus": "DISABLED",
                  "alertDefinition": {
                      "templateType": "TEXT",
                      "subject": "$site job rpc",
                      "body": "$site job rpc throughput",
                      "severity": "WARNING",
                      "category": "JPM"
                  },
                  "alertDeduplications": [
                      {
                          "outputStreamId": "MAP_REDUCE_JOB_STREAM_SANDBOX_RPC_THROUGHPUT_OUT",
                          "dedupIntervalMin": "0",
                          "dedupFields": []
                      }
                  ],
                  "partitionSpec": [
                      {
                          "streamId": "MAP_REDUCE_JOB_STREAM_SANDBOX",
                          "type": "SHUFFLE",
                          "columns": [],
                          "sortSpec": null
                      }
                  ],
                  "dedicated": false,
                  "parallelismHint": 5,
                  "alertSeverity": "WARNING",
                  "alertCategory": "JPM"
              },
              "alertPublishmentIds": []
          }
      

      4. get all policy prototypes by GET /rest/policyProto

      5. delete a policy prototype by {{ DELETE /rest/policyProto/{uuid} }}

      Attachments

        Issue Links

          Activity

            People

              smith3816 Jilin, Jiang
              qingwzhao Qingwen Zhao
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: