EKL相关(一)、安装环境

服务器环境是CentOS Linux release 7.7.1908 (Core),正常来说Centos7以上都可以的,前提是有java8的环境(保证java命令可用),如果不清楚可以百度哈

 

1、下载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

弄完了如下图:

2、elasticsearch配置启动

先看下java -version看下版本:java是不1.8的

然后进入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用户

    1. groupadd elsearch

    2. useradd elsearch -g elsearch -p elasticsearch

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

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

    2. chown -R elsearch:elsearch elasticsearch-6.4.3

  • 切换到elsearch用户再启动

    1. su elsearch

    2. cd elasticsearch-6.4.3/bin

    3. sh elasticsearch &

启动会发现一堆错误如下:

当然实际上一个是max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

还有一个是:max number of threads [3818] for user [es] is too low, increase to at least [4096]

你需要加点东西(回到root中修改):

1、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

  每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量

ulimit -Hn
ulimit -Sn

  修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效

*               soft    nofile          65536
*               hard    nofile          65536

 

2、max number of threads [3818] for user [es] is too low, increase to at least [4096]

  问题同上,最大线程个数太低。修改配置文件/etc/security/limits.conf(和问题1是一个文件),增加配置

*               soft    nproc           4096
*               hard    nproc           4096

  可通过命令查看

ulimit -Hu
ulimit -Su

修改后的文件:

 

 

3、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

  修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144

记得切换下root用户,或者你新开一个窗口就可以生效了,服务器不用重启的!

然后再进bin下sh elasticsearch &

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

3、安装kibana

3.1下载 kibana(版本最好和elastic一致)

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.3-linux-x86_64.tar.gz

3.2 解压

tar -zxvf kibana-6.8.4-linux-x86_64.tar.gz

3.3 修改kibana.yml

vi config/kibana.yml 

#端口
server.port: 5601
#服务Ip
server.host: "192.168.1.40"
#服务名
server.name: "kibana"
#ES地址
elasticsearch.hosts: ["http://192.168.1.40:9200"]

3.4 启动

自己写一个start.sh加上下面,路径根据你实际情况来

nohup ./bin/kibana >nohup.out 2>&1 &

3.5 截图

4、安装logstach

老样子:wget https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.tar.gz

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)

获取 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.6.0/logs &

启动logstash

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

 

到这里,基本已经成功了!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Docker中安装Elasticsearch、Kibana和Logstash(EKL)堆栈,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Docker和Docker Compose。您可以根据您的操作系统找到适合您的安装方法。 2. 创建一个新的目录来存放您的EKL配置文件和数据。例如,您可以创建一个名为`ekl`的目录。 3. 在`ekl`目录中创建一个名为`docker-compose.yml`的文件,并使用以下内容填充它: ```yaml version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.15.0 container_name: elasticsearch environment: - discovery.type=single-node ports: - 9200:9200 volumes: - esdata:/usr/share/elasticsearch/data kibana: image: docker.elastic.co/kibana/kibana:7.15.0 container_name: kibana ports: - 5601:5601 environment: - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 logstash: image: docker.elastic.co/logstash/logstash:7.15.0 container_name: logstash volumes: - ./logstash/config/:/usr/share/logstash/pipeline/ ports: - 5044:5044 volumes: esdata: ``` 4. 在`ekl`目录中创建一个名为`logstash`的子目录,并在其中创建一个名为`config`的子目录。 5. 在`config`目录中创建一个名为`logstash.conf`的文件,并使用以下内容填充它: ``` input { beats { port => 5044 } } output { elasticsearch { hosts => "elasticsearch:9200" index => "logs-%{+YYYY.MM.dd}" } } ``` 6. 确保您在`ekl`目录中打开一个终端或命令提示符窗口,并运行以下命令来启动EKL堆栈: ``` docker-compose up ``` 这将下载所需的Docker镜像并启动Elasticsearch、Kibana和Logstash容器。 7. 在浏览器中访问`http://localhost:5601`以打开Kibana控制台。您可以使用Kibana来管理和可视化您的日志数据。 请注意,以上步骤提供了一个基本的配置,并且默认情况下没有进行任何安全性配置。在生产环境中,您应该根据需要进行进一步的配置和安全性硬化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风清扬逍遥子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值