To add on, when i was finally able to create the connector. Upon entering the configuration page, i was unable to create and attach an index for it.
I also enabled Kibana's DEBUG logs, to compare the logs between my LIVE environment and UAT environment. Hope the follow logs will be able to help us identify the root cause.
LIVE:
2024-05-28T14:50:22.292+08:00][DEBUG][http.server.response] POST /internal/enterprise_search/connectors 200 18618ms - 1.6KB
[2024-05-28T14:50:22.401+08:00][DEBUG][execution_context] {"type":"application","name":"enterpriseSearchContent","url":"/app/enterprise_search/content"}
[2024-05-28T14:50:22.402+08:00][DEBUG][execution_context] {"type":"application","name":"enterpriseSearchContent","url":"/app/enterprise_search/content"}
[2024-05-28T14:50:22.405+08:00][DEBUG][elasticsearch.query.data] 200 - 786.0B
GET /.kibana_security_session/_doc/xmXiIjAciHQBEu0iifn83%2B%2BEIl4I%2FGLR8OQqBp9b5ls%3D
[2024-05-28T14:50:22.405+08:00][DEBUG][elasticsearch.query.data] 200 - 786.0B
GET /.kibana_security_session/_doc/xmXiIjAciHQBEu0iifn83%2B%2BEIl4I%2FGLR8OQqBp9b5ls%3D
[2024-05-28T14:50:22.414+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate user request to /internal/enterprise_search/connectors/xfz1vY8BtY0-R4gmEQ6P.
[2024-05-28T14:50:22.414+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate via state.
[2024-05-28T14:50:22.415+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate user request to /internal/enterprise_search/stats.
[2024-05-28T14:50:22.415+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate via state.
[2024-05-28T14:50:22.416+08:00][DEBUG][elasticsearch.query.data] 200 - 355.0B
GET /_security/_authenticate
[redacted]
[2024-05-28T14:50:22.416+08:00][DEBUG][plugins.security.basic.basic] Request has been authenticated via state.
[2024-05-28T14:50:22.416+08:00][DEBUG][plugins.security.session.QqBp9b5ls=] Successfully extended existing session.
[2024-05-28T14:50:22.418+08:00][DEBUG][elasticsearch.query.data] 200 - 355.0B
GET /_security/_authenticate
[redacted]
[2024-05-28T14:50:22.418+08:00][DEBUG][plugins.security.basic.basic] Request has been authenticated via state.
[2024-05-28T14:50:22.418+08:00][DEBUG][plugins.security.session.QqBp9b5ls=] Successfully extended existing session.
[2024-05-28T14:50:22.426+08:00][DEBUG][elasticsearch.query.data] 200 - 1.6KB
GET /_connector/xfz1vY8BtY0-R4gmEQ6P
[2024-05-28T14:50:22.428+08:00][DEBUG][http.server.response] GET /internal/enterprise_search/connectors/xfz1vY8BtY0-R4gmEQ6P 200 27ms - 1.7KB
[2024-05-28T14:50:22.582+08:00][DEBUG][elasticsearch.query.data] 200 - 992.0B
GET /_nodes?filter_path=nodes.*.version%2Cnodes.*.http.publish_address%2Cnodes.*.ip
[2024-05-28T14:50:22.696+08:00][DEBUG][execution_context] {"type":"application","name":"enterpriseSearchContent","url":"/app/enterprise_search/content"}
[2024-05-28T14:50:22.699+08:00][DEBUG][elasticsearch.query.data] 200 - 786.0B
GET /.kibana_security_session/_doc/xmXiIjAciHQBEu0iifn83%2B%2BEIl4I%2FGLR8OQqBp9b5ls%3D
[2024-05-28T14:50:22.708+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate user request to /internal/enterprise_search/indices/testing-connector/exists.
[2024-05-28T14:50:22.708+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate via state.
[2024-05-28T14:50:22.709+08:00][DEBUG][elasticsearch.query.data] 200 - 355.0B
GET /_security/_authenticate
[redacted]
[2024-05-28T14:50:22.709+08:00][DEBUG][plugins.security.basic.basic] Request has been authenticated via state.
[2024-05-28T14:50:22.709+08:00][DEBUG][plugins.security.session.QqBp9b5ls=] Successfully extended existing session.
[2024-05-28T14:50:22.713+08:00][DEBUG][elasticsearch.query.data] 404 - 437.0B
HEAD /testing-connector
[2024-05-28T14:50:22.715+08:00][DEBUG][http.server.response] GET /internal/enterprise_search/indices/testing-connector/exists 200 19ms - 16.0B
[2024-05-28T14:50:23.112+08:00][DEBUG][elasticsearch.query.data] 200 - 628.0B
POST /.kibana_8.13.3/_update/enterprise_search_telemetry%3Aenterprise_search_telemetry?refresh=wait_for&require_alias=true
{"script":{"source":"\n for (int i = 0; i < params.counterFieldNames.length; i++) {\n def counterFieldName = params.counterFieldNames[i];\n def count = params.counts[i];\n\n if (ctx._source[params.type][counterFieldName] == null) {\n ctx._source[params.type][counterFieldName] = count;\n }\n else {\n ctx._source[params.type][counterFieldName] += count;\n }\n }\n ctx._source.updated_at = params.time;\n ","lang":"painless","params":{"counts":[1],"counterFieldNames":["ui_viewed.configuration"],"time":"2024-05-28T06:50:22.419Z","type":"enterprise_search_telemetry"}},"upsert":{"enterprise_search_telemetry":{"ui_viewed.configuration":1},"type":"enterprise_search_telemetry","managed":false,"coreMigrationVersion":"8.8.0","updated_at":"2024-05-28T06:50:22.419Z"},"_source":true}
[2024-05-28T14:50:23.113+08:00][DEBUG][http.server.response] PUT /internal/enterprise_search/stats 200 711ms - 16.0B
[2024-05-28T14:50:23.486+08:00][DEBUG][execution_context] {"type":"application","name":"enterpriseSearchContent","url":"/app/enterprise_search/content"}
[2024-05-28T14:50:23.490+08:00][DEBUG][elasticsearch.query.data] 200 - 786.0B
UAT:
[2024-05-28T15:04:27.147+08:00][DEBUG][execution_context] {"type":"application","name":"enterpriseSearchContent","url":"/app/enterprise_search/content/connectors/WbL6b48BqJ7h7YFefMkW/configuration"}
[2024-05-28T15:04:27.151+08:00][DEBUG][elasticsearch.query.data] 200 - 784.0B
GET /.kibana_security_session/_doc/Ip6vperVyPJXe8F1tjWaCstCR%2FH%2F5JxMzXGzG3SxYPk%3D
[2024-05-28T15:04:27.151+08:00][DEBUG][elasticsearch.query.data] 200 - 784.0B
GET /.kibana_security_session/_doc/Ip6vperVyPJXe8F1tjWaCstCR%2FH%2F5JxMzXGzG3SxYPk%3D
[2024-05-28T15:04:27.161+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate user request to /internal/security/me.
[2024-05-28T15:04:27.162+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate via state.
[2024-05-28T15:04:27.163+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate user request to /internal/enterprise_search/connectors/WbL6b48BqJ7h7YFefMkW.
[2024-05-28T15:04:27.163+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate via state.
[2024-05-28T15:04:27.164+08:00][DEBUG][elasticsearch.query.data] 200 - 784.0B
GET /.kibana_security_session/_doc/Ip6vperVyPJXe8F1tjWaCstCR%2FH%2F5JxMzXGzG3SxYPk%3D
[2024-05-28T15:04:27.164+08:00][DEBUG][elasticsearch.query.data] 200 - 784.0B
GET /.kibana_security_session/_doc/Ip6vperVyPJXe8F1tjWaCstCR%2FH%2F5JxMzXGzG3SxYPk%3D
[2024-05-28T15:04:27.165+08:00][DEBUG][elasticsearch.query.data] 200 - 356.0B
GET /_security/_authenticate
[redacted]
[2024-05-28T15:04:27.165+08:00][DEBUG][plugins.security.basic.basic] Request has been authenticated via state.
[2024-05-28T15:04:27.167+08:00][DEBUG][elasticsearch.query.data] 200 - 356.0B
GET /_security/_authenticate
[redacted]
[2024-05-28T15:04:27.168+08:00][DEBUG][plugins.security.basic.basic] Request has been authenticated via state.
[2024-05-28T15:04:27.168+08:00][DEBUG][plugins.security.session.GzG3SxYPk=] Successfully extended existing session.
[2024-05-28T15:04:27.170+08:00][DEBUG][http.server.response] GET /internal/security/me 200 28ms - 505.0B
[2024-05-28T15:04:27.172+08:00][DEBUG][elasticsearch.query.data] 200 - 7.7KB
GET /_connector/WbL6b48BqJ7h7YFefMkW
[2024-05-28T15:04:27.175+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate user request to /internal/enterprise_search/stats.
[2024-05-28T15:04:27.175+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate via state.
[2024-05-28T15:04:27.179+08:00][DEBUG][elasticsearch.query.data] 200 - 356.0B
GET /_security/_authenticate
[redacted]
[2024-05-28T15:04:27.180+08:00][DEBUG][plugins.security.basic.basic] Request has been authenticated via state.
[2024-05-28T15:04:27.181+08:00][DEBUG][plugins.security.session.GzG3SxYPk=] Successfully extended existing session.
[2024-05-28T15:04:27.184+08:00][DEBUG][http.server.response] GET /internal/enterprise_search/connectors/WbL6b48BqJ7h7YFefMkW 200 40ms - 7.6KB
[2024-05-28T15:04:27.185+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate user request to /internal/enterprise_search/api_keys.
[2024-05-28T15:04:27.185+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate via state.
[2024-05-28T15:04:27.206+08:00][DEBUG][elasticsearch.query.data] 200 - 356.0B
GET /_security/_authenticate
[redacted]
[2024-05-28T15:04:27.207+08:00][DEBUG][plugins.security.basic.basic] Request has been authenticated via state.
[2024-05-28T15:04:27.207+08:00][DEBUG][plugins.security.session.GzG3SxYPk=] Successfully extended existing session.
[2024-05-28T15:04:27.211+08:00][DEBUG][elasticsearch.query.data] 200 - 2.6KB
GET /_security/api_key?username=wongjinghan%40sea.com
[redacted]
[2024-05-28T15:04:27.213+08:00][DEBUG][http.server.response] GET /internal/enterprise_search/api_keys 200 66ms - 2.1KB
[2024-05-28T15:04:27.328+08:00][DEBUG][execution_context] {"type":"application","name":"enterpriseSearchContent","url":"/app/enterprise_search/content/connectors/WbL6b48BqJ7h7YFefMkW/configuration"}
[2024-05-28T15:04:27.331+08:00][DEBUG][elasticsearch.query.data] 200 - 784.0B
GET /.kibana_security_session/_doc/Ip6vperVyPJXe8F1tjWaCstCR%2FH%2F5JxMzXGzG3SxYPk%3D
[2024-05-28T15:04:27.342+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate user request to /internal/enterprise_search/indices/testing-connector.
[2024-05-28T15:04:27.342+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate via state.
[2024-05-28T15:04:27.344+08:00][DEBUG][elasticsearch.query.data] 200 - 356.0B
GET /_security/_authenticate
[redacted]
[2024-05-28T15:04:27.344+08:00][DEBUG][plugins.security.basic.basic] Request has been authenticated via state.
[2024-05-28T15:04:27.344+08:00][DEBUG][plugins.security.session.GzG3SxYPk=] Successfully extended existing session.
[2024-05-28T15:04:27.349+08:00][DEBUG][elasticsearch.query.data] 200
GET /testing-connector
[2024-05-28T15:04:27.352+08:00][DEBUG][elasticsearch.query.data] 200
GET /testing-connector/_stats
[2024-05-28T15:04:27.354+08:00][DEBUG][elasticsearch.query.data] 200 - 76.0B
GET /testing-connector/_count
[2024-05-28T15:04:27.356+08:00][DEBUG][elasticsearch.query.data] 200 - 7.7KB
GET /_connector?index_name=testing-connector
[2024-05-28T15:04:27.358+08:00][DEBUG][elasticsearch.query.data] 200
POST /.elastic-connectors-sync-jobs/_search
{"query":{"bool":{"filter":[{"term":{"connector.id":"WbL6b48BqJ7h7YFefMkW"}},{"dis_max":{"queries":[{"term":{"status":"in_progress"}},{"term":{"status":"pending"}}]}}]}}}
[2024-05-28T15:04:27.360+08:00][DEBUG][http.server.response] GET /internal/enterprise_search/indices/testing-connector 200 31ms - 7.9KB
[2024-05-28T15:04:27.377+08:00][DEBUG][elasticsearch.query.data] 200 - 934.0B
POST /.kibana_8.13.0/_update/enterprise_search_telemetry%3Aenterprise_search_telemetry?refresh=wait_for&require_alias=true
{"script":{"source":"\n for (int i = 0; i < params.counterFieldNames.length; i++) {\n def counterFieldName = params.counterFieldNames[i];\n def count = params.counts[i];\n\n if (ctx._source[params.type][counterFieldName] == null) {\n ctx._source[params.type][counterFieldName] = count;\n }\n else {\n ctx._source[params.type][counterFieldName] += count;\n }\n }\n ctx._source.updated_at = params.time;\n ","lang":"painless","params":{"counts":[1],"counterFieldNames":["ui_viewed.configuration"],"time":"2024-05-28T07:04:27.183Z","type":"enterprise_search_telemetry"}},"upsert":{"enterprise_search_telemetry":{"ui_viewed.configuration":1},"type":"enterprise_search_telemetry","managed":false,"coreMigrationVersion":"8.8.0","updated_at":"2024-05-28T07:04:27.183Z"},"_source":true}
[2024-05-28T15:04:27.379+08:00][DEBUG][http.server.response] PUT /internal/enterprise_search/stats 200 233ms - 16.0B
[2024-05-28T15:04:28.300+08:00][DEBUG][execution_context] {"type":"application","name":"enterpriseSearchContent","url":"/app/enterprise_search/content/connectors/WbL6b48BqJ7h7YFefMkW/configuration"}
The main difference i noticed was that in LIVE, it sent a request to "/internal/enterprise_search/indices/testing-connector/exists" and eventually reached a 404 output and proceeds to HEAD the non-existent index:
[2024-05-28T14:50:22.708+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate user request to /internal/enterprise_search/indices/testing-connector/exists.
[2024-05-28T14:50:22.708+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate via state.
[2024-05-28T14:50:22.709+08:00][DEBUG][elasticsearch.query.data] 200 - 355.0B
GET /_security/_authenticate
[redacted]
[2024-05-28T14:50:22.709+08:00][DEBUG][plugins.security.basic.basic] Request has been authenticated via state.
[2024-05-28T14:50:22.709+08:00][DEBUG][plugins.security.session.QqBp9b5ls=] Successfully extended existing session.
[2024-05-28T14:50:22.713+08:00][DEBUG][elasticsearch.query.data] 404 - 437.0B
HEAD /itcenter-user-full
Whereas in UAT, it sends a request to "/internal/enterprise_search/indices/testing-connector" without the /exists, and proceeds to get the index information:
[2024-05-28T15:04:27.342+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate user request to /internal/enterprise_search/indices/conn-itcenter.user-full.
[2024-05-28T15:04:27.342+08:00][DEBUG][plugins.security.basic.basic] Trying to authenticate via state.
[2024-05-28T15:04:27.344+08:00][DEBUG][elasticsearch.query.data] 200 - 356.0B
GET /_security/_authenticate
[redacted]
[2024-05-28T15:04:27.344+08:00][DEBUG][plugins.security.basic.basic] Request has been authenticated via state.
[2024-05-28T15:04:27.344+08:00][DEBUG][plugins.security.session.GzG3SxYPk=] Successfully extended existing session.
[2024-05-28T15:04:27.349+08:00][DEBUG][elasticsearch.query.data] 200
GET /conn-itcenter.user-full
[2024-05-28T15:04:27.352+08:00][DEBUG][elasticsearch.query.data] 200
GET /conn-itcenter.user-full/_stats
[2024-05-28T15:04:27.354+08:00][DEBUG][elasticsearch.query.data] 200 - 76.0B
GET /conn-itcenter.user-full/_count
[2024-05-28T15:04:27.356+08:00][DEBUG][elasticsearch.query.data] 200 - 7.7KB
GET /_connector?index_name=conn-itcenter.user-full
[2024-05-28T15:04:27.358+08:00][DEBUG][elasticsearch.query.data] 200
POST /.elastic-connectors-sync-jobs/_search
{"query":{"bool":{"filter":[{"term":{"connector.id":"WbL6b48BqJ7h7YFefMkW"}},{"dis_max":{"queries":[{"term":{"status":"in_progress"}},{"term":{"status":"pending"}}]}}]}}}