Как проверить работоспособность elasticksearch с разными показателями в одном вызове API? - PullRequest
0 голосов
/ 09 января 2020

Мне нужно прочитать следующие метрики elasticksearch

  1. Версия
  2. Время обновления
  3. Нет. of Jobs
  4. Общее состояние здоровья
  5. Нет. узлов
  6. Диск Доступен в%
  7. Размер кучи JVM
  8. Нет. Индексы
  9. Первичные осколки
  10. Реплика осколков

в ASP. Net MVC приложении. Мой вопрос: - Можно ли прочитать все вышеперечисленные показатели одним вызовом API вasticsearch?

Я написал следующий метод

private static string CheckESHealth()
    {
        string esurl = "http://localhost:9200/_cluster/health";
        HttpClient httpClient = new HttpClient();
        string strReturnVal = string.Empty;
        try
        {
            var response = httpClient.GetAsync(new Uri(esurl)).Result;
            if (response.IsSuccessStatusCode)
            {
                var esdata = response.Content.ReadAsStringAsync().Result;

                if (!string.IsNullOrEmpty(esdata))
                {
                    JObject jobject = JObject.Parse(esdata);
        //as a example i have taken only status.. but i need all paramters mention above
                    strReturnVal = jobject["status"].ToString();
                }
            }
            else
            {
                strReturnVal = "Errored : Received status code : " + response.StatusCode;
            }
        }
        catch (Exception ex)
        {
            strReturnVal = "Errored : " + ex.Message;
        }

        return strReturnVal;
    }

в приведенном выше примере, который я использую: - GET _cluster / health команда, которая дает следующий результат

введите описание изображения здесь

но я пытаюсь прочитать все вышеприведенные метрики в одном вызове API

1 Ответ

0 голосов
/ 04 февраля 2020

Я не нашел способа прочитать упомянутые выше метрики в одном запросе. поэтому я использовал следующие запросы для получения метрик.

  1. http://localhost: 9200 / _cat / health? h = кластер, статус, node.total, осколки, pri, relo & format = json
  2. http://localhost: 9200 / _cat / node? H = версия, время работы, heap.percent & format = json
  3. http://localhost: 9200 / _cat / selection? H = disk.percent & format = json
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...