【问题标题】:Not able to insert index into ElasticSearch DB container on AKS无法将索引插入 AKS 上的 ElasticSearch DB 容器
【发布时间】:2020-07-16 00:41:11
【问题描述】:

我已将 Elasticsearch 和 Kibana 作为容器安装在 AKS 中。以下是服务的外观:

通过点击外部 IP 地址,我可以看到这两个服务都已启动并正在运行。但问题是我不确定 Kibana 是否能够连接到 Elasticsearch。我该如何检查?因为当我点击以下网址时没有得到成功的响应时:

我正在使用以下代码从我的 Azure LogAnalytics 工作区获取日志并插入 ElasticSearch DB:

private static void UploadLogToElasticSearchDB(Microsoft.Azure.OperationalInsights.Models.Table dt)
        {
            ElasticClient client = null;
            var uri = new Uri("http://13.87.227.42:9200/");
            var settings = new ConnectionSettings(uri);
            client = new ElasticClient(settings);
            settings.DefaultIndex("k8scontainercpu");

            for(int i = 0; i < dt.Rows.Count; i++)
            {
                var dtRowJSON = JsonConvert.SerializeObject(dt.Rows[i]);
                client.IndexAsync<string>(dtRowJSON, null);
            }
        }

这个程序无限运行并且没有插入任何记录,它也没有给出任何错误,我在程序的输出窗口中没有看到任何异常。如何在AKS的elasticsearch DB中插入索引?

【问题讨论】:

    标签: elasticsearch azure-aks elasticsearch-aggregation


    【解决方案1】:

    如果您能够使用外部 IP 和端口进行连接,则该服务工作正常。集群外的内部服务名将无法访问。

    您可以打开 kibana 外部 url 并检查 kibana 是否能够连接到弹性搜索。如果 kibana 无法连接到弹性搜索,它将在 kibana 的健康状态中可见。但是,如果您能够在外部连接到弹性搜索,那么 kibana 应该能够轻松地与之连接。

    关于创建索引,你也可以使用 kibana 创建索引。请参阅link,了解如何使用 kibana 创建索引。 ES也有api创建索引link

    为了解决哪些文档没有插入到 ES 中,我建议使用 Index 函数(这是一个同步函数)并跟踪调用的响应,以便您可以识别调用中发生的情况。你可以从link了解它

    【讨论】:

      猜你喜欢
      • 2011-12-30
      • 2019-03-18
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多