ELK搭建教程(全过程)

1.服务器

使用阿里云服务器(方便),抢占式实例(便宜),4核16G,系统选择centos7.4/64位(好用)。购买地址:https://ecs-buy.aliyun.com/

我们只是测试学习使用,把端口权限全开就行(不然外网访问不了),安全组配置那里添加如下:

ELK搭建教程(全过程)

ELK搭建教程(全过程)

2.下载ELK的包:

下载地址:https://www.elastic.co/downloads

下载最新版的、linux服务器能使用的。

右键复制链接地址,wget就可以下载,如:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz

下载完,解压,如:  tar -zxvf elasticsearch-6.4.3.tar.gz

有的需要使用unzip解压,需要使用: yum install unzip  下载安装unzip工具

弄完了如下图:

ELK搭建教程(全过程)

3.elasticsearch配置启动

先安装jdk1.8,在centos7.4里面,直接yum install tomcat就行,会自动安装好tomcat和jdk1.8,完了java -version看下版本:

ELK搭建教程(全过程)

解压后进入config目录:cd elasticsearch-6.4.2/config,vim elasticsearch.yml 修改配置文件,在最下面加入如下几行:

  1.  

    network.host: 0.0.0.0

  2.  

    http.port: 9200

  3.  

    http.cors.enabled: true

  4.  

    http.cors.allow-origin: "*"

注意,root用户是不能直接启动elasticsearch的,需要新建用户,然后切换用户去启动elasticsearch,如下:

  • 创建elsearch用户组及elsearch用户

  1. groupadd elsearch

  2. useradd elsearch -g elsearch -p elasticsearch

更改elasticsearch-6.4.2文件夹及内部文件的所属用户及组为elsearch:elsearch

  1. cd切换到elasticsearch-6.4.2的父路径下

  2. chown -R elsearch:elsearch elasticsearch-6.4.2

切换到elsearch用户再启动

  1. su elsearch

  2. cd elasticsearch-6.4.2/bin

  3. sh elasticsearch &

至此,elasticsearch配置启动完毕,可以在浏览器输入url:   服务器外网ip:9200 查看是否成功启动:

ELK搭建教程(全过程)

4.kibana配置启动

按照上面的操作,可以先切回root用户了:su root     需要输入root密码

然后cd kibana-6.4.2-linux-x86_64/config/  进入kibana的配置文件夹,

 vim kibana.yml  编辑配置文件,在最后面加上如下配置就行:

  1.  

     

  2.  

    server.port: 5601

  3.  

    server.host: "0.0.0.0"

  4.  

    elasticsearch.url: "http://localhost:9200"

  5.  

    kibana.index: ".kibana"

cd命令进入bin目录,

sh kibana &   启动kibana

启动完毕,可以浏览器输入url:   服务器外网ip:5601 查看是否成功启动:

ELK搭建教程(全过程)

5.logstash配置启动

现在可以配置logstash了

cd logstash-6.4.2/bin/进入bin目录

新建文件 vim logstash1.conf ,写入内容(监听tomcat的日志):

  1.  

    input {

  2.  

    file {

  3.  

    path => "/usr/share/tomcat/logs/*.log"

  4.  

    start_position => beginning

  5.  

    }

  6.  

    }

  7.  

    filter {

  8.  

     

  9.  

    }

  10.  

    output {

  11.  

    elasticsearch {

  12.  

    hosts => "localhost:9200"

  13.  

    }

  14.  

     

  15.  

    }

  16.  

     

启动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)

获取 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 ,写入:

  1.  

     

  2.  

    input {

  3.  

    jdbc {

  4.  

    jdbc_driver_library => "mysql-connector-java-5.1.46-bin.jar"

  5.  

    jdbc_driver_class => "com.mysql.jdbc.Driver"

  6.  

    jdbc_connection_string => "jdbc:mysql://ip:3306/db_name"

  7.  

    jdbc_user => "jdbc_user"

  8.  

    jdbc_password => "jdbc_password"

  9.  

    schedule => "* * * * *"

  10.  

    statement => "SELECT * FROM table WHERE 时间字段 >= :sql_last_value"

  11.  

    use_column_value => true

  12.  

    tracking_column_type => "timestamp"

  13.  

    tracking_column => "时间字段"

  14.  

    last_run_metadata_path => "syncpoint_table"

  15.  

    }

  16.  

    }

  17.  

     

  18.  

     

  19.  

    output {

  20.  

    elasticsearch {

  21.  

    hosts => "localhost:9200"

  22.  

    index => "索引名称"

  23.  

    document_id => "%{主键字段}"

  24.  

    }

  25.  

    }

  26.  

     

需要先把logstash停了,在重启

netstat -ntlp  命令查看端口为9600的进程,

然后kill 线程id,我的是 kill 25437

ELK搭建教程(全过程)

 

使用命令 sh logstash -f mysql-logstash.cnf  --path.data=/home/elk/logstash-6.4.2/logs &

启动logstash

完了在kibana可以看到同步过去的数据,我的是这样的: 

ELK搭建教程(全过程)

 

至此,elk基本集成完毕!如果还有什么问题,都可以百度到解决方法的。

另外附上两个教程:

elasticsearch集成head插件查看es的数据:https://blog.csdn.net/mjlfto/article/details/79772848

kibana基础教程:https://www.elastic.co/guide/cn/kibana/current/introduction.html

 

https://blog.csdn.net/tanqian351/article/details/83827583?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control

上一篇:ELK的输入插件的使用


下一篇:ELK性能优化实战分析:java如何强制类型转换