ES7.3开启xpack认证插件
关闭服务
在进行下面实验前,请先关闭所有ElasticSearch、kibana、filebeat进程
elasticsearch-修改elasticsearch.yml配置

按以上表格对应的实例新增conf目录下elasticsearch.yml配置参数
-
# 在所有实例上加上以下配置 -
# 开启本地用户 -
xpack.security.enabled: true -
# xpack的版本 -
xpack.license.self_generated.type: basic
elasticsearch-开启服务
开启所有ES服务
-
sudo -u elasticsearch ./bin/elasticsearch
elasticsearch-建立本地内置用户
本地内置elastic、apmsystem、kibana、logstashsystem、beatssystem、remotemonitoring_user用户
-
# 在其中一台master节点操作 -
# interactive 自定密码 auto自动生密码 -
sudo -u elasticsearch ./bin/elasticsearch-setup-passwords interactive -
# 输入elastic密码 -
# 输入apm_system密码 -
# 输入kibana密码 -
# 输入logstash_system密码 -
# 输入beats_system密码 -
# 输入remote_monitoring_user密码

测试内部用户
通过base64将elastic用户进行加密,格式为“elastic:elastic的密码“
-
# 例如以下格式 -
curl --user elastic:elastic "http://192.168.1.31:9200/_cat/nodes?v"
如果不通过Basic访问或base64加密错误会报以下错误

kibana-创建私钥库
在192.168.1.21创建私钥库
-
cd /opt/kibana/ -
# 创建密钥库 -
sudo -u kibana ./bin/kibana-keystore create -
# 连接ES用户名,这里输入kibana -
sudo -u kibana ./bin/kibana-keystore add elasticsearch.username -
# 连接ES密码,这里输入刚刚设置kibana的密码 -
sudo -u kibana ./bin/kibana-keystore add elasticsearch.password
在192.168.1.21确认私钥库
-
sudo -u kibana ./bin/kibana-keystore list

启动服务
-
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密钥库
-
cd /opt/filebeat/ -
#创建密钥库 -
./filebeat keystore create -
#创建test-filebeat用户私钥 -
./filebeat keystore add test-filebeat

确认filebeat密钥库
-
./filebeat keystore list

filebeat-配置filebeat.yml
配置filebeat.yml
-
# 文件输入 -
filebeat.inputs: -
# 文件输入类型 -
- type: log -
# 开启加载 -
enabled: true -
# 文件位置 -
paths: -
- /var/log/nginx/access.log -
# 自定义参数 -
fields: -
type: nginx_access # 类型是nginx_access,和上面fields.type是一致的 -
-
# 输出至elasticsearch -
output.elasticsearch: -
# 连接ES集群的用户名 -
username: test-filebeat -
# 连接ES集群的密码 -
password: "${test-filebeat密码}" -
# elasticsearch集群 -
hosts: ["http://192.168.1.31:9200", -
"http://192.168.1.32:9200", -
"http://192.168.1.33:9200"] -
-
# 索引配置 -
indices: -
# 索引名 -
- index: "nginx_access_%{+yyy.MM}" -
# 当类型是nginx_access时使用此索引 -
when.equals: -
fields.type: "nginx_access" -
-
# 关闭自带模板 -
setup.template.enabled: false -
-
# 开启日志记录 -
logging.to_files: true -
# 日志等级 -
logging.level: info -
# 日志文件 -
logging.files: -
# 日志位置 -
path: /opt/logs/filebeat/ -
# 日志名字 -
name: filebeat -
# 日志轮转期限,必须要2~1024 -
keepfiles: 7 -
# 日志轮转权限 -
permissions: 0600
启动filebeat
-
/opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d "publish"
测试
写入一条数据
-
curl -I "http://192.168.1.11"
在kibana中查看


浙公网安备 33010602011771号