func retrieveKsmData()

in otelcollector/fluent-bit/src/telemetry.go [517:572]


func retrieveKsmData() []byte {
	caCert, err := ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/ca.crt")
	if err != nil {
		message := fmt.Sprintf("Error getting certificate - %v\n", err)
		Log(message)
		SendException(message)
	}
	caCertPool := x509.NewCertPool()
	caCertPool.AppendCertsFromPEM(caCert)

	client := &http.Client{
		Timeout: time.Duration(5) * time.Second,
		Transport: &http.Transport{
			TLSClientConfig: &tls.Config{
				RootCAs:            caCertPool,
				InsecureSkipVerify: true,
			},
		},
	}
	req, err := http.NewRequest("GET", "https://"+CommonProperties["nodeip"]+":10250/stats/summary", nil)
	if err != nil {
		message := fmt.Sprintf("Error creating the http request - %v\n", err)
		Log(message)
		SendException(message)
		return nil
	}
	// Get token data
	tokendata, err := ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/token")
	if err != nil {
		message := fmt.Sprintf("Error accessing the token data - %v\n", err)
		Log(message)
		SendException(message)
		return nil
	}
	// Create bearer token
	bearerToken := "Bearer" + " " + string(tokendata)
	req.Header.Add("Authorization", string(bearerToken))

	resp, err := client.Do(req)
	if err != nil {
		message := fmt.Sprintf("Error getting response from cadvisor- %v\n", err)
		Log(message)
		SendException(message)
		return nil
	}

	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		message := fmt.Sprintf("Error reading reponse body - %v\n", err)
		Log(message)
		SendException(message)
		return nil
	}
	return body
}