Upgrade

Upgrade #

Here are instructions for the version upgrade of the INFINI Console.

From 0.2 to 0.3 #

Update template .infini #

PUT _template/.infini
{
    "order": 0,
    "index_patterns": [
      ".infini_*"
    ],
    "settings": {
      "index": {
        "max_result_window": "10000000",
        "mapping": {
          "total_fields": {
            "limit": "20000"
          }
        },
        "analysis": {
          "analyzer": {
            "suggest_text_search": {
              "filter": [
                "word_delimiter"
              ],
              "tokenizer": "classic"
            }
          }
        },
        "number_of_shards": "1"
      }
    },
    "mappings": {
      "dynamic_templates": [
        {
          "strings": {
            "mapping": {
              "ignore_above": 256,
              "type": "keyword"
            },
            "match_mapping_type": "string"
          }
        }
      ]
    },
    "aliases": {}
}

Close index .infini_cluster #

POST .infini_cluster/_close

Update index settings of .infini_cluster #

PUT .infini_cluster/_settings
{
     "analysis": {
          "analyzer": {
            "suggest_text_search": {
              "filter": [
                "word_delimiter"
              ],
              "tokenizer": "classic"
            }
          }
        }
}

Update index mappings of .infini_cluster #

PUT .infini_cluster/_mapping
{
      "dynamic_templates": [
        {
          "strings": {
            "match_mapping_type": "string",
            "mapping": {
              "ignore_above": 256,
              "type": "keyword"
            }
          }
        }
      ],
      "properties": {
        "basic_auth": {
          "properties": {
            "password": {
              "type": "keyword"
            },
            "username": {
              "type": "keyword"
            }
          }
        },
        "created": {
          "type": "date"
        },
        "description": {
          "type": "text"
        },
        "discovery": {
          "properties": {
            "refresh": {
              "type": "object"
            }
          }
        },
        "enabled": {
          "type": "boolean"
        },
        "endpoint": {
          "type": "keyword"
        },
        "endpoints": {
          "type": "keyword"
        },
        "host": {
          "type": "keyword",
          "copy_to": [
            "search_text"
          ]
        },
        "hosts": {
          "type": "keyword"
        },
        "labels": {
          "properties": {
            "health_status": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "location": {
          "properties": {
            "dc": {
              "type": "keyword"
            },
            "provider": {
              "type": "keyword"
            },
            "rack": {
              "type": "keyword"
            },
            "region": {
              "type": "keyword"
            }
          }
        },
        "monitored": {
          "type": "boolean"
        },
        "name": {
          "type": "keyword",
          "fields": {
            "text": {
              "type": "text"
            }
          }
        },
        "order": {
          "type": "integer"
        },
        "owner": {
          "properties": {
            "department": {
              "type": "keyword",
              "copy_to": [
                "search_text"
              ]
            },
            "id": {
              "type": "keyword"
            },
            "name": {
              "type": "keyword",
              "copy_to": [
                "search_text"
              ]
            }
          }
        },
        "project": {
          "type": "keyword",
          "copy_to": [
            "search_text"
          ]
        },
        "schema": {
          "type": "keyword"
        },
        "search_text": {
          "type": "text",
          "analyzer": "suggest_text_search",
          "index_prefixes": {
            "min_chars": 2,
            "max_chars": 5
          },
          "index_phrases": true
        },
        "tags": {
          "type": "keyword",
          "copy_to": [
            "search_text"
          ]
        },
        "traffic_control": {
          "properties": {
            "max_bytes_per_node": {
              "type": "keyword"
            },
            "max_connection_per_node": {
              "type": "keyword"
            },
            "max_qps_per_node": {
              "type": "keyword"
            },
            "max_wait_time_in_ms": {
              "type": "keyword"
            }
          }
        },
        "updated": {
          "type": "date"
        },
        "version": {
          "type": "keyword",
          "copy_to": [
            "search_text"
          ]
        }
      }
}

Open index .infini_cluster #

POST .infini_cluster/_open

Update console.yml #

The v0.3 version adds a pipeline configuration to the v0.2 version:

- name: metadata_ingest
    auto_start: true
    keep_running: true
    processor:
      - metadata:
          bulk_size_in_mb: 10
          bulk_max_docs_count: 5000
          fetch_max_messages: 1000
          elasticsearch: "default"
          queues:
            type: metadata
            category: elasticsearch
          when:
            cluster_available: [ "default" ]
- name: activity_ingest
    auto_start: true
    keep_running: true
    processor:
      - activity:
          bulk_size_in_mb: 10
          bulk_max_docs_count: 5000
          fetch_max_messages: 1000
          elasticsearch: "default"
          queues:
            category: elasticsearch
            activity: true
          consumer:
            group: activity
          when:
            cluster_available: [ "default" ]
  1. stop console
  2. add the above configuration under the pipeline module in the console.yml configuration file
  3. start console

Configure ILM for index .infini_alert-history #

The alert module has been added in v0.3. The alert module stores a large amount of index data for execution records, so you need to configure ILM as follows:

PUT _template/.infini_alert-history-rollover
{
    "order" : 100000,
    "index_patterns" : [
      ".infini_alert-history*"
    ],
    "settings" : {
      "index" : {
        "format" : "7",
        "lifecycle" : {
          "name" : "infini_metrics-30days-retention",
          "rollover_alias" : ".infini_alert-history"
        },
        "codec" : "best_compression",
        "number_of_shards" : "1",
        "translog.durability":"async"
      }
    },
    "mappings" : {
      "dynamic_templates" : [
        {
          "strings" : {
            "mapping" : {
              "ignore_above" : 256,
              "type" : "keyword"
            },
            "match_mapping_type" : "string"
          }
        }
      ]
    },
    "aliases" : { }
  }
  
DELETE .infini_alert-history

DELETE .infini_alert-history-00001
PUT .infini_alert-history-00001
{
  "settings": {
    "index.lifecycle.rollover_alias":".infini_alert-history"
    , "refresh_interval": "5s"
  },
  "aliases":{
    ".infini_alert-history":{
      "is_write_index":true
    }
  },
  "mappings": {
    "properties" : {
        "condition" : {
          "properties" : {
            "items" : {
              "properties" : {
                "expression" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                },
                "minimum_period_match" : {
                  "type" : "long"
                },
                "operator" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                },
                "severity" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                },
                "values" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            },
            "operator" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "condition_result" : {
          "type" : "object",
          "enabled" : false
        },
        "context" : {
          "type" : "keyword",
          "copy_to" : [
            "search_text"
          ]
        },
        "created" : {
          "type" : "date"
        },
        "expression" : {
          "type" : "keyword",
          "copy_to" : [
            "search_text"
          ]
        },
        "id" : {
          "type" : "keyword"
        },
        "is_escalated" : {
          "type" : "boolean"
        },
        "is_notified" : {
          "type" : "boolean"
        },
        "message" : {
          "type" : "keyword",
          "ignore_above" : 256
        },
        "objects" : {
          "type" : "keyword",
          "copy_to" : [
            "search_text"
          ]
        },
        "resource_id" : {
          "type" : "keyword"
        },
        "resource_name" : {
          "type" : "keyword"
        },
        "rule_id" : {
          "type" : "keyword"
        },
        "rule_name" : {
          "type" : "keyword"
        },
        "search_text" : {
          "type" : "text",
          "analyzer" : "suggest_text_search",
          "index_prefixes" : {
            "min_chars" : 2,
            "max_chars" : 5
          },
          "index_phrases" : true
        },
        "severity" : {
          "type" : "keyword"
        },
        "state" : {
          "type" : "keyword",
          "ignore_above" : 256
        },
        "title" : {
          "type" : "keyword"
        },
        "updated" : {
          "type" : "date"
        }
      }
    }
}

Upgrade FAQs #

Fault Description: #

Duplicate index data

Duplicate index data

Solution: #

  • stop console
  • delete index .infini_index
  • start console

Fault Description: #

Duplicate node data

Duplicate node data

Solution: #

  • stop console
  • delete index .infini_node
  • start console

Fault Description: #

The data node has monitoring data, Non-data nodes (master, client, etc.) have no monitoring data, as shown in the following figure:

No monitoring data for non-data nodes

Solution: #

Please upgrade the INFINI Console to the latest version.

Fault Description: #

The page appears blank and JS reports an error.

Solution: #

Please upgrade the INFINI Console to the latest version. Also provide the specific error information to us.

Feedback #

If you have any other questions or suggestions, please submit them to us through the feedback on the right or here, to help us improving the products, thank you for your support!