golang eshook 自定义elastic client 使用https连接es

前情提要

因为es从http升级到https了,所以需要修改golang程序里的log钩子,在新建elastic client时设置为https

官方给出的方法见:https://github.com/olivere/elastic/issues/738

elastic包使用的是默认的httpclient 需要传入自定义的httpclient

主要是设置http.client的 Transport 字段

代码实现

func newEsHook(cc cfg) *esHook {// httpstr := &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true},}client := &http.Client{Transport: tr} // 自定义transport//es, err := elastic.NewClient(elastic.SetHttpClient(client), // 设置上面自己的clientelastic.SetURL(cc.EsAddrs...),elastic.SetBasicAuth(cc.EsUser, cc.EsPassword),elastic.SetSniff(false),elastic.SetHealthcheckInterval(15*time.Second),elastic.SetErrorLog(log.New(os.Stderr, "ES:", log.LstdFlags)),)if err != nil {log.Println("failed to create Elastic V6 Client: ", err)}return &esHook{client: es, cmd: strings.Join(os.Args, " ")}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部