标准访问elasticsearch的方式
kibana
正常情况下,使用kibana访问elasticsearch是最佳的选择,界面化操作加上界面化的显示,能将elasticsearch管理的井井有条,所以有kibana的话直接选kibana
curl
刚才说了正常情况,如果某些非正常情况,包含但不限于系统使用客户的共用集群,权限控制,在这些情况下,可能无法访问kibana,这个时候只能使用curl来进行访问了,标准的语句如下:
curl -XGET 172.16.43.102:9200/_cat/aliases?v
这个是获取elasticsearch集群所有别名的语句,执行完毕出结果
开启x-pack后访问elasticsearch的方式
开启x-pack后最显著的特点就是访问集群有权限管理了,登录的时候需要用户名和密码,此时访问方式也发生了写变化
kibana
开启x-pack后,kibana的访问方式参考这篇文章来处理Kibana适配,很轻松就搞定了
curl
对于curl的访问,其实就是在命令语句上加上用户名的密码的校验,知道原理后,赶紧去网上搜搜吧,一搜基本上都是一个答案就是:
curl –user elastic:passwd -XPUT ‘172.16.43.164:9200/_cat/aliases?v’
但是我执行了无数次,结果都不通过,不知道是版本不对造成的还是写的人压根就没测 ,然后大家一顿抄,或者配置的问题,报的错误如下:
curl: (6) Could not resolve host: xn--user-z86a; 未知的错误
curl: (6) Could not resolve host: elastic; 未知的错误
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication token for REST request [/_cat/aliases?v]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication token for REST request [/_cat/aliases?v]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}
看到这里我直接怀疑人生了,抄都抄不对,于是自己各种试,最后终于执行成功,语句如下:
curl -u 'elastic:xxxx' -XGET '172.16.43.164:9200/_cat/aliases?v'
curl --user 'elastic:xxxx' -XGET '172.16.43.164:9200/_cat/aliases?v'
上面两种方式都亲测可以,如果大家执行通用的方法不好用的话,可以试试上面的方法。