1.服务器
使用阿里云服务器(方便),抢占式实例(便宜),4核16G,系统选择centos7.4/64位(好用)。购买地址:
https://ecs-buy.aliyun.com/ <https://ecs-buy.aliyun.com/>
我们只是测试学习使用,把端口权限全开就行(不然外网访问不了),安全组配置那里添加如下:
2.下载ELK的包:
下载地址:https://www.elastic.co/downloads <https://www.elastic.co/downloads>
下载最新版的、linux服务器能使用的。
右键复制链接地址,wget就可以下载,如:wget
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz
<https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz>
下载完,解压,如: tar -zxvf elasticsearch-6.4.3.tar.gz
<https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz>
有的需要使用unzip解压,需要使用: yum install unzip 下载安装unzip工具
弄完了如下图:
3.elasticsearch配置启动
先安装jdk1.8,在centos7.4里面,直接yum install tomcat就行,会自动安装好tomcat和jdk1.8,完了java
-version看下版本:
解压后进入config目录:cd elasticsearch-6.4.2/config,vim elasticsearch.yml
修改配置文件,在最下面加入如下几行:
network.host: 0.0.0.0 http.port: 9200 http.cors.enabled: true
http.cors.allow-origin: "*"
注意,root用户是不能直接启动elasticsearch的,需要新建用户,然后切换用户去启动elasticsearch,如下:
*
创建elsearch用户组及elsearch用户
*
groupadd elsearch
*
useradd elsearch -g elsearch -p elasticsearch
*
更改elasticsearch-6.4.2文件夹及内部文件的所属用户及组为elsearch:elsearch
*
cd切换到elasticsearch-6.4.2的父路径下
*
chown -R elsearch:elsearch elasticsearch-6.4.2
*
切换到elsearch用户再启动
*
su elsearch
*
cd elasticsearch-6.4.2/bin
*
sh elasticsearch &
至此,elasticsearch配置启动完毕,可以在浏览器输入url: 服务器外网ip:9200 查看是否成功启动:
4.kibana配置启动
按照上面的操作,可以先切回root用户了:su root 需要输入root密码
然后cd kibana-6.4.2-linux-x86_64/config/ 进入kibana的配置文件夹,
vim kibana.yml 编辑配置文件,在最后面加上如下配置就行:
server.port: 5601 server.host: "0.0.0.0" elasticsearch.url:
"http://localhost:9200" kibana.index: ".kibana"
cd命令进入bin目录,
sh kibana & 启动kibana
启动完毕,可以浏览器输入url: 服务器外网ip:5601 查看是否成功启动:
5.logstash配置启动
现在可以配置logstash了
cd logstash-6.4.2/bin/进入bin目录
新建文件 vim logstash1.conf ,写入内容(监听tomcat的日志):
input { file { path => "/usr/share/tomcat/logs/*.log" start_position =>
beginning } } filter { } output { elasticsearch { hosts => "localhost:9200" } }
启动logstash:sh logstash -f logstash1.conf &
如果提示--path.data的问题,则需要指定path.data的路径,随便找个路径就行,
我的是这样启动:sh logstash -f logstash1.conf
--path.data=/home/elk/logstash-6.4.2/logs &
完了可以看到kibana上面有logstash推送过去的日志了
logstash配置mysql数据同步到elasticsearch:我参考的(
https://blog.csdn.net/hatlonely/article/details/79945539
<https://blog.csdn.net/hatlonely/article/details/79945539>)
获取 jdbc mysql 驱动:
wget
https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.46.zip
unzip mysql-connector-java-5.1.46.zip
可以把解压后的mysql-connector-java-5.1.46-bin.jar复制到bin目录,方便启动
在bin目录新建配置文件 vim mysql-logstash.cnf ,写入:
input { jdbc { jdbc_driver_library => "mysql-connector-java-5.1.46-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_connection_string =>
"jdbc:mysql://ip:3306/db_name" jdbc_user => "jdbc_user" jdbc_password =>
"jdbc_password" schedule => "* * * * *" statement => "SELECT * FROM table WHERE
时间字段 >= :sql_last_value" use_column_value => true tracking_column_type =>
"timestamp" tracking_column => "时间字段" last_run_metadata_path =>
"syncpoint_table" } } output { elasticsearch { hosts => "localhost:9200" index
=> "索引名称" document_id => "%{主键字段}" } }
需要先把logstash停了,在重启
netstat -ntlp 命令查看端口为9600的进程,
然后kill 线程id,我的是 kill 25437
使用命令 sh logstash -f mysql-logstash.cnf
--path.data=/home/elk/logstash-6.4.2/logs &
启动logstash
完了在kibana可以看到同步过去的数据,我的是这样的:
至此,elk基本集成完毕!如果还有什么问题,都可以百度到解决方法的。
另外附上两个教程:
elasticsearch集成head插件查看es的数据:
https://blog.csdn.net/mjlfto/article/details/79772848
<https://blog.csdn.net/mjlfto/article/details/79772848>
kibana基础教程:https://www.elastic.co/guide/cn/kibana/current/introduction.html
<https://www.elastic.co/guide/cn/kibana/current/introduction.html>
热门工具 换一换