ELK(Elasticsearch,Logstash,Kibana) 搭建 同步 MySQL 及 用户权限安全设置

本文章用的elastic相关组件版本: 6.4.1
一, 准备
ElasticsearchLogstashKibanajdk 8 (主要根据logstash的版本)下载mysql-connector-java.jar找对应MySQL的版本具体每个插件的安装方式请查看官方文档, 很简单的, WIN下的都是绿色版, Linux的安装目录基本是在/usr/share/对应软件,配置文件目录在/etc/对应软件下面.
二, 配置
1, Logstash的配置
input的配置https://www.elastic.co/guide/…增量更新的主要几个参数
use_column_value => true //是否使用自定义标记列
tracking_column => “id” //指定的列
record_last_run => true //是否记录最后运行的指标
last_run_metadata_path => “[path]” //记录的指标存储路径, 当多个input的时候, 这个是必须要设置的, 否则多个input会共用一个
jdbc_paging_enabled => true //是否启用分页查询
jdbc_page_size => “[number]” //每次查询多少
statement => “SELECT * FROM db_name WHERE id > :sql_last_value” //记住这里的 :sql_last_value
多个input的时候, 需要这个配置 后面的output用用if else时候需要作为判断依据
type => “”
output配置mappingshttps://www.elastic.co/guide/…
template => “mappings配置的路径, 一般json格式”
template_name => “”
template_overwrite => true
output的判断语法
if EXPRESSION {
//…
} else if EXPRESSION {
//…
} else {
//…
}
2, 安全设置(用户认证相关设置)
修改Elasticsearch设置修改elasticsearch.yml, 添加两个配置项:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
在下面更新license的时候, 请将以上设置为false(也可以不设置为false, 影响可能不大)
X-PACK设置:不过在用这个命令之前, 是需要依赖x-pack模块的, Elastic 6.3.x后面的版本, 就内置了这个模块,这个模块的使用, 不是免费的, 是收费的, 免费和收费的区别, 网上有破解版, 我暂时用破解版做演示, 请大家还是使用正版吧. 破解版替换完原版文件后, 需要自己去官网申请一个basic授权的license文件, 这是一个json文件, 修改里面的type为platinum,expiry_date_in_millis为2855980923000, 然后再在Kibana的Management的License Management的地方上传修改后的License文件.
初始化用户及密码命令:elastic/bin/elastic-set-password这个命令只有两个参数 auto 和 interactive 一个是自动, 一个是交互, 交互的方式就是可以自己设置密码, 自动的我没用过, 这个命令会设置5个用户的密码:elastic,kibana,logstash_system,beats_system,apm_system_users,其中elastic这个用户的权限最大.
在完成以上步骤后, 记得重启Elasticsearch和Kibana, 在重启Kibana的时候, 会遇到一些warning和error,先不管error,有两个warning需要先解决, 后面的error自然就没有了. 这两个应该是关于xpack.reporting.encryptionKey和xpack.security.encryptionKey的.参考https://www.elastic.co/guide/… 和 https://www.elastic.co/guide/…
xpack.reporting.encryptionKey: “a_random_string”
xpack.security.encryptionKey: “something_at_least_32_characters”
再重启应该就没有error了, 这个时候就可以用之前设置密码的那几个账号登录了, 用elastic账号登录, 还可以设置其他几个账号的权限了.
三, 运行Logstash
logstash -f [指定配置文件的路径.conf]

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理