1.官网下载ElasticSearch,解压即可。(下载地址:https://www.elastic.co/downloads/elasticsearch)
2.进入安装目录下bin目录中,使用命令 ./elasticsearch 启动,启动输出信息结尾出现started 关键字,表示启动成功,使用./elasticsearch -d 命令使服务后台启动,程序默认端口为9200。
4.当前服务只允许本机访问,想要外网访问,想要修改安装目录下config目录中的elasticsearch.yml文件,
在yml文件中加入 network.host: 0.0.0.0 ,表示所有IP都可以访问。
logstash 可以直接和数据库关联,并且自动根据数据库中的数据更新索引。
安装版本需要和elasticsearch的版本一致。
1.下载安装包,上传到自定义的安装目录即可。(下载地址:https://www.elastic.co/downloads/logstash)
2.进入安装目录的bin目录中,执行如下命令:
./logstash -e ‘input { stdin { } } output { stdout {} }’
3.连接mysql
停掉logstash。
下载mysql JDBC驱动jar包,(下载地址:https://www.mysql.com/products/connector/)将jar包放在logstash目录下,
在 bin目录中新建文件 logstash-mysql.conf 。
logstash-mysql.conf 文件内容
input { stdin { } jdbc { # 数据库 数据库名称为elk,表名为book_table jdbc_connection_string => "jdbc:mysql://localhost:3306/elk" # 用户名密码 jdbc_user => "root" jdbc_password => "root" # jar包的位置 jdbc_driver_library => "/usr/elastic/logstash-6.5.3/mysql-connector-java-8.0.13.jar" # mysql的Driver jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_paging_enabled => "true" jdbc_page_size => "50000" #statement_filepath => "config-mysql/book.sql" statement => "select * from book_table" schedule => "* * * * *" #索引的类型 type => "book" } } filter { json { source => "message" remove_field => ["message"] } } output { elasticsearch { hosts => "127.0.0.1:9200" # index名 index => "elk" # 需要关联的数据库中有有一个id字段,对应索引的id号 document_id => "%{id}" } stdout { codec => json_lines } }
再次启动logstash,进入bin目录,执行命令:
./logstash -f logstash-mysql.conf
数据库中数据就被读取出来了。