Elastic Search Upgrade from Kibana 5.6 to 6.4.2


1.Backup the EBS volumes of es-data

2.Make sure the number of nodes running, we need to have exact nodes on migrating server as wellxpack.ml.enabled: false

3.Build elastic search 6.4.2 with proper elasticsearch.yml - xpack.ml.enabled: false [refer eGov-infraops/dockerfiles repo]

4.Deploy the es-data first and deploy es-master followed by es-client.

5.Deploy Kibana once the elasticserach cluster is up and running

6.Kibana5.6 uses the index .kibana for its dashboard, visualizations's etc.. but kibana6.x uses the index .kibana-6.

We need to run the below curl scripts to reindex .kibana to .kibana-6

7. Give some time for the kibana and elastic search to run completely.

8.You should set server.basePath along with server.rewriteBasePath. Starting in 7.0, Kibana will expect that all requests start with server.basePath rather than expecting you to rewrite the requests in your reverse proxy.



curl -X PUT "es-client.es-cluster:9200/.kibana/_settings" -H 'Content-Type: application/json' -d'

{

  "index.blocks.write": true

}

'


curl -X PUT "es-client.es-cluster:9200/.kibana-6" -H 'Content-Type: application/json' -d'

{

  "settings" : {

    "number_of_shards" : 1,

    "index.mapper.dynamic": false

  },

  "mappings" : {

    "doc": {

      "properties": {

        "type": {

          "type": "keyword"

        },

        "updated_at": {

          "type": "date"

        },

        "config": {

          "properties": {

            "buildNum": {

              "type": "keyword"

            }

          }

        },

        "index-pattern": {

          "properties": {

            "fieldFormatMap": {

              "type": "text"

            },

            "fields": {

              "type": "text"

            },

            "intervalName": {

              "type": "keyword"

            },

            "notExpandable": {

              "type": "boolean"

            },

            "sourceFilters": {

              "type": "text"

            },

            "timeFieldName": {

              "type": "keyword"

            },

            "title": {

              "type": "text"

            }

          }

        },

        "visualization": {

          "properties": {

            "description": {

              "type": "text"

            },

            "kibanaSavedObjectMeta": {

              "properties": {

                "searchSourceJSON": {

                  "type": "text"

                }

              }

            },

            "savedSearchId": {

              "type": "keyword"

            },

            "title": {

              "type": "text"

            },

            "uiStateJSON": {

              "type": "text"

            },

            "version": {

              "type": "integer"

            },

            "visState": {

              "type": "text"

            }

          }

        },

        "search": {

          "properties": {

            "columns": {

              "type": "keyword"

            },

            "description": {

              "type": "text"

            },

            "hits": {

              "type": "integer"

            },

            "kibanaSavedObjectMeta": {

              "properties": {

                "searchSourceJSON": {

                  "type": "text"

                }

              }

            },

            "sort": {

              "type": "keyword"

            },

            "title": {

              "type": "text"

            },

            "version": {

              "type": "integer"

            }

          }

        },

        "dashboard": {

          "properties": {

            "description": {

              "type": "text"

            },

            "hits": {

              "type": "integer"

            },

            "kibanaSavedObjectMeta": {

              "properties": {

                "searchSourceJSON": {

                  "type": "text"

                }

              }

            },

            "optionsJSON": {

              "type": "text"

            },

            "panelsJSON": {

              "type": "text"

            },

            "refreshInterval": {

              "properties": {

                "display": {

                  "type": "keyword"

                },

                "pause": {

                  "type": "boolean"

                },

                "section": {

                  "type": "integer"

                },

                "value": {

                  "type": "integer"

                }

              }

            },

            "timeFrom": {

              "type": "keyword"

            },

            "timeRestore": {

              "type": "boolean"

            },

            "timeTo": {

              "type": "keyword"

            },

            "title": {

              "type": "text"

            },

            "uiStateJSON": {

              "type": "text"

            },

            "version": {

              "type": "integer"

            }

          }

        },

        "url": {

          "properties": {

            "accessCount": {

              "type": "long"

            },

            "accessDate": {

              "type": "date"

            },

            "createDate": {

              "type": "date"

            },

            "url": {

              "type": "text",

              "fields": {

                "keyword": {

                  "type": "keyword",

                  "ignore_above": 2048

                }

              }

            }

          }

        },

        "server": {

          "properties": {

            "uuid": {

              "type": "keyword"

            }

          }

        },

        "timelion-sheet": {

          "properties": {

            "description": {

              "type": "text"

            },

            "hits": {

              "type": "integer"

            },

            "kibanaSavedObjectMeta": {

              "properties": {

                "searchSourceJSON": {

                  "type": "text"

                }

              }

            },

            "timelion_chart_height": {

              "type": "integer"

            },

            "timelion_columns": {

              "type": "integer"

            },

            "timelion_interval": {

              "type": "keyword"

            },

            "timelion_other_interval": {

              "type": "keyword"

            },

            "timelion_rows": {

              "type": "integer"

            },

            "timelion_sheet": {

              "type": "text"

            },

            "title": {

              "type": "text"

            },

            "version": {

              "type": "integer"

            }

          }

        },

        "graph-workspace": {

          "properties": {

            "description": {

              "type": "text"

            },

            "kibanaSavedObjectMeta": {

              "properties": {

                "searchSourceJSON": {

                  "type": "text"

                }

              }

            },

            "numLinks": {

              "type": "integer"

            },

            "numVertices": {

              "type": "integer"

            },

            "title": {

              "type": "text"

            },

            "version": {

              "type": "integer"

            },

            "wsState": {

              "type": "text"

            }

          }

        }

      }

    }

  }

}

'


curl -X POST "es-client.es-cluster:9200/_reindex" -H 'Content-Type: application/json' -d'

{

  "source": {

    "index": ".kibana"

  },

  "dest": {

    "index": ".kibana-6"

  },

  "script": {

    "inline": "ctx._source = [ ctx._type : ctx._source ]; ctx._source.type = ctx._type; ctx._id = ctx._type + \":\" + ctx._id; ctx._type = \"doc\"; ",

    "lang": "painless"

  }

}

'


curl -X POST "es-client.es-cluster:9200/_aliases" -H 'Content-Type: application/json' -d'

{

  "actions" : [

    { "add":  { "index": ".kibana-6", "alias": ".kibana" } },

    { "remove_index": { "index": ".kibana" } }

  ]

}

'