async function createIndices()

in monitoring-stack-cdk/resources/custom-resources/kibana-config/kibanaConfigurer.js [43:157]


async function createIndices(domainName) {
  const softphoneStreamStatsIndex = {
    method: 'PUT',
    headers: {
      host: domainName,
      'Content-Type': 'application/json;charset=UTF-8',
      Accept: 'application/json',
    },
    path: '_ingest/pipeline/stats_dailyindex',
    body: Buffer.from(JSON.stringify({
      description: 'daily date-time stream metrics index naming',
      processors: [
        {
          date_index_name: {
            field: 'doc.timestamp',
            index_name_prefix: 'softphonestreamstats-',
            date_rounding: 'd',
          },
        },
      ],
    })),
  };

  //force lambda update
  const softphoneReportStatsIndex = {
    method: 'PUT',
    headers: {
      host: domainName,
      'Content-Type': 'application/json;charset=UTF-8',
      Accept: 'application/json',
    },
    path: '_ingest/pipeline/reports_dailyindex',
    body: Buffer.from(JSON.stringify({
      description: 'daily date-time report index naming',
      processors: [
        {
          date_index_name: {
            field: 'doc.report.callEndTime',
            index_name_prefix: 'softphonecallreport-',
            date_rounding: 'd',
          },
        },
      ],
    })),
  };

  const apiMetricsIndex = {
    method: 'PUT',
    headers: {
      host: domainName,
      'Content-Type': 'application/json;charset=UTF-8',
      Accept: 'application/json',
    },
    path: '_ingest/pipeline/apimetrics_dailyindex',
    body: Buffer.from(JSON.stringify({
      description: 'daily date-time api metric index naming',
      processors: [
        {
          date_index_name: {
            field: 'doc.timestamp',
            index_name_prefix: 'apimetric-',
            date_rounding: 'd',
          },
        },
      ],
    })),
    }

  const softphoneStreamStatsIndexTemplate = {
    method: 'PUT',
    headers: {
      host: domainName,
      'Content-Type': 'application/json;charset=UTF-8',
      Accept: 'application/json',
    },
    path: '_template/streamstatstemplate',
    body: Buffer.from(JSON.stringify({
      "index_patterns": ["softphonestreamstats-*"],
      "template": {
        "settings": {
          "number_of_shards": 2
        }
      }
    }))
  }

  const apiMetricsIndexTemplate = {
    method: 'PUT',
    headers: {
      host: domainName,
      'Content-Type': 'application/json;charset=UTF-8',
      Accept: 'application/json',
    },
    path: '_template/apimetrictemplate',
    body: Buffer.from(JSON.stringify({
      "index_patterns": ["apimetric-*"],
      "template": {
        "settings": {
          "number_of_shards": 1
        }
      }
    }))
  }

  const indexConfigurations = [
    apiMetricsIndexTemplate,
    softphoneStreamStatsIndexTemplate,
    apiMetricsIndex,
    softphoneReportStatsIndex,
    softphoneStreamStatsIndex,
  ];

  /* complete requests in parallel */
  return Promise.all(indexConfigurations.map((curIndex) => sendRequest(curIndex, domainName)));
}