Skip to content

Latest commit

 

History

History
145 lines (104 loc) · 6.07 KB

UPGRADING.asciidoc

File metadata and controls

145 lines (104 loc) · 6.07 KB

Upgrading

From Graylog 1.x to 2.0.x

Elasticsearch 2.x

The embedded Elasticsearch node being used by Graylog has been upgraded to Elasticsearch 2.x which includes some breaking changes. Graylog 2.x does not work with Elasticsearch 1.x anymore and cannot communicate with existing Elasticsearch 1.x clusters.

Please see Breaking changes in Elasticsearch 2.x for details.

The blog article Key points to be aware of when upgrading from Elasticsearch 1.x to 2.x also contains interesting information about the upgrade path from Elasticsearch 1.x to 2.x.

Graylog Index Template

Graylog applies a custom index template to ensure that the indexed messages adhere to a specific schema.

Unfortunately the index template being used by Graylog 1.x is incompatible with Elasticsearch 2.x and has to be removed prior to upgrading.

In order to delete the index template the following curl command has to be issued against on of the Elasticsearch nodes:

curl -X DELETE http://localhost:9200/_template/graylog-internal

Graylog will automatically create the new index template on the next startup.

Dots in field names

One of the most important breaking changes in Elasticsearch 2.x is that field names may not contain dots anymore.

Using the Elasticsearch Migration Plugin might help to highlight some potential pitfalls if an existing Elasticsearch 1.x cluster should be upgraded to Elasticsearch 2.x.

MongoDB

Graylog 2.x requires MongoDB 2.4 or newer. We recommend using MongoDB 3.x and the WiredTiger storage engine.

When upgrading from MongoDB 2.0 or 2.2 to a supported version, make sure to read the Release Notes for the particular version.

Log4j 2 migration

Graylog switched its logging backend from Log4j 1.2 to Log4j 2.

Please refer to the Log4j Migration Guide for information on how to update your existing logging configuration.

Removed configuration settings

Some settings, which have been deprecated in previous versions, have finally been removed from the Graylog configuration file.

Table 1. Removed configuration settings
Setting name Replacement

mongodb_host

mongodb_uri

mongodb_port

mongodb_uri

mongodb_database

mongodb_uri

mongodb_useauth

mongodb_uri

mongodb_user

mongodb_uri

mongodb_password

mongodb_uri

elasticsearch_node_name

elasticsearch_node_name_prefix

collector_expiration_threshold

(moved to collector plugin)

collector_inactive_threshold

(moved to collector plugin)

rotation_strategy

UI in web interface (System/Indices)

retention_strategy

UI in web interface (System/Indices)

elasticsearch_max_docs_per_index

UI in web interface (System/Indices)

elasticsearch_max_size_per_index

UI in web interface (System/Indices)

elasticsearch_max_time_per_index

UI in web interface (System/Indices)

elasticsearch_max_number_of_indices

UI in web interface (System/Indices)

Changed configuration defaults

For better consistency, the defaults of some configuration settings have been changed after the project has been renamed from Graylog2 to Graylog.

Table 2. Configuration defaults
Setting name Old default New default

elasticsearch_cluster_name

graylog2

graylog

elasticsearch_node_name

graylog2-server

graylog-server

elasticsearch_index_prefix

graylog2

graylog

mongodb_uri

mongodb://127.0.0.1/graylog2

mongodb://localhost/graylog

Changed prefixes for configuration override

In the past it was possible to override configuration settings in Graylog using environment variables or Java system properties with a specific prefix.

For better consistency, these prefixes have been changed after the project has been renamed from Graylog2 to Graylog.

Table 3. Configuration override prefixes
Override Old prefix New prefix Example

Environment variables

GRAYLOG2_

GRAYLOG_

GRAYLOG_IS_MASTER

System properties

graylog2.

graylog.

graylog.is_master

REST API Changes

The output ID key for the list of outputs in the /streams/* endpoints has been changed from _id to id.

{
  "id": "564f47c41ec8fe7d920ef561",
  "creator_user_id": "admin",
  "outputs": [
    {
      "id": "56d6f2cce45e0e52d1e4b9cb", (1)
      "title": "GELF Output",
      "type": "org.graylog2.outputs.GelfOutput",
      "creator_user_id": "admin",
      "created_at": "2016-03-02T14:03:56.686Z",
      "configuration": {
        "hostname": "127.0.0.1",
        "protocol": "TCP",
        "connect_timeout": 1000,
        "reconnect_delay": 500,
        "port": 12202,
        "tcp_no_delay": false,
        "tcp_keep_alive": false,
        "tls_trust_cert_chain": "",
        "tls_verification_enabled": false
      },
      "content_pack": null
    }
  ],
  "matching_type": "AND",
  "description": "All incoming messages",
  "created_at": "2015-11-20T16:18:12.416Z",
  "disabled": false,
  "rules": [],
  "alert_conditions": [],
  "title": "ALL",
  "content_pack": null
}
  1. Changed from _id to id