Elasticsearch configuration issue (sorry, another one...)

Infos:

  • Used Zammad version: Zammad version 5.1.x
  • Used Zammad installation type: package
  • Operating system: Debian 10
  • Elasticsearch version: 8.1.0, Build: default/deb/3700f7679f7d95e36da0b43762189bab189bc53a/2022-03-03T14:20:00.690422633Z, JVM: 17.0.2

Expected behavior:

Searches and reports availables

Actual behavior:

  • After installing Elasticsearch and Zammad following the Set up Elasticsearch guide
    - every search lead to There is no match for your search
    - and accessing report page I got error

It should be caused by an error i receive on
zammad run rake searchindex:rebuild

rake aborted!
Unable to process GET request to elasticsearch URL 'http://localhost:9200'. Check the response and payload for detailed information:
Response:
#<UserAgent::Result:0x000055f340823050 @success=false, @body=nil, @data=nil, @code=0, @content_type=nil, @error="#<EOFError: end of file reached>", @header=nil>
Payload:
null

BUT:

  • With systemctl status elasticsearch all seems fine
  • if I go to https://10.100.xx.xx:9200/ with browser I’ve been asked to enter elasticsearch usr/psw then I got this reply:
{
  "name" : "vm-prd-zammad",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "4i6Tp1h0SCKZc1zvkkJWyg",
  "version" : {
    "number" : "8.1.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "3700f7679f7d95e36da0b43762189bab189bc53a",
    "build_date" : "2022-03-03T14:20:00.690422633Z",
    "build_snapshot" : false,
    "lucene_version" : "9.0.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}
  • if i use curl:
# curl -XGET 'localhost:9200'
curl: (52) Empty reply from server

I lost myself. Is elasticsearch running and accessible by zammad? Is elastichsearch 8.1.0 ok?

My elasticsearch.yml is:

network.host: 127.0.0.1
http.port: 9200
network.bind_host: 0.0.0.0
# Enable security features
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
cluster.initial_master_nodes: ["vm-prd-zammad"]
# Allow HTTP API connections from localhost and local networks
# Connections are encrypted and require user authentication
http.host: [_local_, _site_]
# Allow other nodes to join the cluster from localhost and local networks
# Connections are encrypted and mutually authenticated
transport.host: [_local_, _site_]

I just found the culprit!
As I stated on top and in my questions I was using Elasticsearch 8.1.0, why? Because into zammad doc under Software Requirements i read:
Zammad/Elasticsearch version compatibility
For Zammad 5.0+ Elasticsearch 7.8+
I interpreted this in this way: if you are installing zammad 5.0 or greater version you have to use at least Elasticsearch 7.8 or greater
So I installed the last Elasticsearch release available: wrong !!
I removed Elesticsearch, installed Elasticsearch v7.17.1 (last released for v7), reinstalled zammad following the doc and now searches and reports are fine!

Sorry for the fuss. We did update the docs by now to reflect ES 8 not being supported better.