ES7.3开启xpack认证插件

关闭服务

在进行下面实验前,请先关闭所有ElasticSearch、kibana、filebeat进程


elasticsearch-修改elasticsearch.yml配置

 

 

按以上表格对应的实例新增conf目录下elasticsearch.yml配置参数

  1. # 在所有实例上加上以下配置

  2. # 开启本地用户

  3. xpack.security.enabled: true

  4. # xpack的版本

  5. xpack.license.self_generated.type: basic


elasticsearch-开启服务

开启所有ES服务

  1. sudo -u elasticsearch ./bin/elasticsearch


elasticsearch-建立本地内置用户

本地内置elastic、apmsystem、kibana、logstashsystem、beatssystem、remotemonitoring_user用户

  1. # 在其中一台master节点操作

  2. # interactive 自定密码 auto自动生密码

  3. sudo -u elasticsearch ./bin/elasticsearch-setup-passwords interactive

  4. # 输入elastic密码

  5. # 输入apm_system密码

  6. # 输入kibana密码

  7. # 输入logstash_system密码

  8. # 输入beats_system密码

  9. # 输入remote_monitoring_user密码

 

 

测试内部用户

通过base64将elastic用户进行加密,格式为“elastic:elastic的密码“

  1. # 例如以下格式

  2. curl --user  elastic:elastic  "http://192.168.1.31:9200/_cat/nodes?v"

如果不通过Basic访问或base64加密错误会报以下错误

 

 


kibana-创建私钥库

在192.168.1.21创建私钥库

  1. cd /opt/kibana/

  2. # 创建密钥库

  3. sudo -u kibana ./bin/kibana-keystore create

  4. # 连接ES用户名,这里输入kibana

  5. sudo -u kibana ./bin/kibana-keystore add elasticsearch.username

  6. # 连接ES密码,这里输入刚刚设置kibana的密码

  7. sudo -u kibana ./bin/kibana-keystore add elasticsearch.password

在192.168.1.21确认私钥库

  1. sudo -u kibana ./bin/kibana-keystore list

 

 

启动服务

  1. sudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.yml


kibana-WEB界面确认用户

登入kibana

在浏览器输入192.168.1.21:5601,用户名:elastic 密码:之前输入elastic的密码

 

 

 

 


filebeat-在WEB界面创建角色及用户

创建自定义的filebeat角色

关于角色权限的说明请自行查阅附录链接

 

 

 

 

 

创建自定义的filebeat用户

 

 

 

 


filebeat-服务器上创建密钥库

在192.168.1.11创建filebeat密钥库

  1. cd /opt/filebeat/

  2. #创建密钥库

  3. ./filebeat keystore create

  4. #创建test-filebeat用户私钥

  5. ./filebeat keystore add test-filebeat

 

 

确认filebeat密钥库

  1. ./filebeat keystore list

 

 


filebeat-配置filebeat.yml

配置filebeat.yml

  1. # 文件输入

  2. filebeat.inputs:

  3. # 文件输入类型

  4. - type: log

  5. # 开启加载

  6. enabled: true

  7. # 文件位置

  8. paths:

  9. - /var/log/nginx/access.log

  10. # 自定义参数

  11. fields:

  12. type: nginx_access # 类型是nginx_access,和上面fields.type是一致的

  13.  

  14. # 输出至elasticsearch

  15. output.elasticsearch:

  16. # 连接ES集群的用户名

  17. username: test-filebeat

  18. # 连接ES集群的密码

  19. password: "${test-filebeat密码}"

  20. # elasticsearch集群

  21. hosts: ["http://192.168.1.31:9200",

  22. "http://192.168.1.32:9200",

  23. "http://192.168.1.33:9200"]

  24.  

  25. # 索引配置

  26. indices:

  27. # 索引名

  28. - index: "nginx_access_%{+yyy.MM}"

  29. # 当类型是nginx_access时使用此索引

  30. when.equals:

  31. fields.type: "nginx_access"

  32.  

  33. # 关闭自带模板

  34. setup.template.enabled: false

  35.  

  36. # 开启日志记录

  37. logging.to_files: true

  38. # 日志等级

  39. logging.level: info

  40. # 日志文件

  41. logging.files:

  42. # 日志位置

  43. path: /opt/logs/filebeat/

  44. # 日志名字

  45. name: filebeat

  46. # 日志轮转期限,必须要2~1024

  47. keepfiles: 7

  48. # 日志轮转权限

  49. permissions: 0600

启动filebeat

  1. /opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d "publish"


测试

写入一条数据

  1. curl -I "http://192.168.1.11"

在kibana中查看

 

posted @ 2021-07-21 11:37  Cetus-Y  阅读(561)  评论(0编辑  收藏  举报