EFK教程(5)

基于ES内置及自定义用户实现kibana和filebeat的认证

作者:“发颠的小狼”,欢迎转载


目录

▪ 用途

▪ 关闭服务

▪ elasticsearch-修改elasticsearch.yml配置

▪ elasticsearch-开启服务

▪ elasticsearch-建立本地内置用户

▪ kibana-创建私钥库

▪ kibana-WEB界面确认用户

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

▪ filebeat-服务器上创建密钥库

▪ filebeat-配置filebeat.yml

▪ 测试

▪ 附录


用途

前情提要:

▷ 在第一篇《EFK教程 - 快速入门指南》中,阐述了EFK的安装部署,其中ES的架构为三节点,即master、ingest、data角色同时部署在三台服务器上。

▷ 在第二篇《EFK教程 - ElasticSearch高性能高可用架构》中,阐述了EFK的data/ingest/master角色的用途及分别部署三节点,在实现性能最大化的同时保障高可用。

▷ 在第三篇《EFK教程(3) - ElasticSearch冷热数据分离》中,阐述了ES多实例部署,将不同热度的数据存在不同的磁盘上,实现了数据冷热分离、资源合理分配。

▷ 在第四篇《EFK教程(4) - ElasticSearch集群TLS加密通讯》中,阐述了ES集群创建CA、CERT证书,实现ElasticSearch集群之间数据通过TLS进行双向加密交互。

本文:

▷ ES集群开启内置用户和自定义用户

▷ kibana通过ES内置kibana用户连接ES集群

▷ filebeat通过ES自定义test-filebeat用户连接ES集群


关闭服务

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


elasticsearch-修改elasticsearch.yml配置

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

1# 在所有实例上加上以下配置 2# 开启本地用户 3xpack.security.enabled: true 4# xpack的版本 5xpack.license.self_generated.type: basic

elasticsearch-开启服务

开启所有ES服务

sudo -u elasticsearch ./bin/elasticsearch

elasticsearch-建立本地内置用户

本地内置elastic、apm_system、kibana、logstash_system、beats_system、remote_monitoring_user用户

1# 在其中一台master节点操作 2# interactive 自定密码 auto自动生密码 3sudo -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# 例如以下格式 2curl -H "Authorization: Basic ZWxhc3RpYzplbGFzdGkxMjM0NTY3OA==" "http://192.168.1.31:9200/_cat/nodes?v"

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


kibana-创建私钥库

在192.168.1.21创建私钥库

1cd /opt/kibana/ 2# 创建密钥库 3sudo -u kibana ./bin/kibana-keystore create 4# 连接ES用户名,这里输入kibana 5sudo -u kibana ./bin/kibana-keystore add elasticsearch.username 6# 连接ES密码,这里输入刚刚设置kibana的密码 7sudo -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密钥库

1cd /opt/filebeat/ 2#创建密钥库 3./filebeat keystore create 4#创建test-filebeat用户私钥 5./filebeat keystore add test-filebeat

确认filebeat密钥库

./filebeat keystore list


filebeat-配置filebeat.yml

配置filebeat.yml

1# 文件输入 2filebeat.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 15output.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# 关闭自带模板 34setup.template.enabled: false 35 36# 开启日志记录 37logging.to_files: true 38# 日志等级 39logging.level: info 40# 日志文件 41logging.files: 42 # 日志位置 43 path: /opt/logs/filebeat/ 44 # 日志名字 45 name: filebeat 46 # 日志轮转期限,必须要2~1024 47 keepfiles: 7 48 # 日志轮转权限 49 permissions: 0600

启动filebeat

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

测试

写入一条数据

curl -I "http://192.168.1.11"

在kibana中查看


附录

kibana角色权限相关文档链接

https://www.elastic.co/guide/en/elasticsearch/reference/7.3/security-privileges.html#privileges-list-cluster
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

EFK教程(3)

!(https://fzxiaomange.com/img/efk/multiinstancecover.png)基于ElasticSearch多实例架构,实现资源合理分配、冷热数据分离作者:“发颠的小狼”,欢迎转载与投稿目录▪用途▪架构▪192.168.1.51elasticsear

EFK教程(4)

!(https://fzxiaomange.com/img/efk/tlscover.png)基于TLS实现ElasticSearch集群加密通讯作者:“发颠的小狼”,欢迎转载目录▪用途▪ES节点信息▪Step1.关闭服务▪Step2.创建CA证书▪Step3.创建CE

KVM调整cpu和内存

一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid