centos7 利用elasticsearch、logstash、kibana、filebeat 搭建 日志收集框架(非常详细)

举报
小米粒-biubiubiu 发表于 2020/12/02 22:54:40 2020/12/02
【摘要】 一、前提准备 (1)下载 elasticsearch、logstash、kibana、filebeat 的压缩包,并将 四个压缩包上传到  /opt/elk 目录下  (2)修改系统参数、创建elk 用户(es 需要用 普通用户启动) 确保系统有足够资源启动ES 设置内核参数 vi /etc/sysctl.conf# 增加以下参数vm.max_map_...

一、前提准备

(1)下载 elasticsearch、logstash、kibana、filebeat 的压缩包,并将 四个压缩包上传到  /opt/elk 目录下

 (2)修改系统参数、创建elk 用户(es 需要用 普通用户启动)

确保系统有足够资源启动ES

设置内核参数


  
  1. vi /etc/sysctl.conf
  2. # 增加以下参数
  3. vm.max_map_count=655360

执行以下命令,确保生效配置生效:

sysctl -p
 

设置资源参数


  
  1. vi /etc/security/limits.conf
  2. # 修改
  3. * soft nofile 65536
  4. * hard nofile 131072
  5. * soft nproc 65536
  6. * hard nproc 131072

设置用户资源参数


  
  1. vi /etc/security/limits.d/20-nproc.conf
  2. # 设置elk用户参数
  3. elk soft nproc 65536

添加启动用户,设置权限


  
  1. useradd elk #创建用户elk
  2. groupadd elk #创建组elk
  3. useradd elk -g elk #将用户添加到组
  4. # 修改文件所有者
  5. chown -R elk:elk /opt/elk

 二、修改 es 的配置文件

 vim jvm.options 


  
  1. #修改jvm启动参数,默认es启动占用2G内存,根据情况设置适当的内存
  2. -Xms256m
  3. -Xmx256m

 vim elasticsearch.yml 


  
  1. # ---------------------------------- Cluster -----------------------------------
  2. cluster.name: es-server
  3. # ------------------------------------ Node ------------------------------------
  4. node.name: node-1
  5. node.attr.rack: r1
  6. # ----------------------------------- Paths ------------------------------------
  7. #path.data: /path/to/data
  8. #
  9. # Path to log files:
  10. #
  11. #path.logs: /path/to/logs
  12. # ---------------------------------- Network -----------------------------------
  13. network.host: 192.168.42.112
  14. http.port: 9200

三、修改kibana 的配置文件

    vim kibana.yml


  
  1. server.port: 5601
  2. server.host: "192.168.42.112"
  3. elasticsearch.url: "http://192.168.42.112:9200"
  4. kibana.index: ".kibana"

四、修改logstash的配置文件

 vim jvm.options 


  
  1. #修改jvm启动参数,默认es启动占用2G内存,根据情况设置适当的内存
  2. -Xms256m
  3. -Xmx256m

cd config

vim dev.conf


  
  1. input {
  2. beats {
  3. host =>"192.168.42.112"
  4. port => "5044"
  5. }
  6. }
  7. filter {
  8. grok {
  9. match => { "message" => "%{COMBINEDAPACHELOG}" }
  10. }
  11. date {
  12. match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
  13. target => ["datetime"]
  14. }
  15. geoip {
  16. source => "clientip"
  17. }
  18. }
  19. output {
  20. elasticsearch {
  21. hosts => "192.168.42.112:9200"
  22. index => "access_log"
  23. }
  24. stdout { codec => rubydebug }
  25. }

五、修改filebeat 的配置文件

vim filebeat.yml


  
  1. #=========================== Filebeat inputs =============================
  2. filebeat.inputs:
  3. # Each - is an input. Most options can be set at the input level, so
  4. # you can use different inputs for various configurations.
  5. # Below are the input specific configurations.
  6. - type: log
  7. # Change to true to enable this input configuration.
  8. enabled: true
  9. # Paths that should be crawled and fetched. Glob based paths.
  10. paths:
  11. - /opt/elk/apache-tomcat-9.0.13/logs/*.log
  12. #- c:\programdata\elasticsearch\logs\*
  13. #================================ Outputs =====================================
  14. # Configure what output to use when sending the data collected by the beat.
  15. #-------------------------- Elasticsearch output ------------------------------
  16. #output.elasticsearch:
  17. # Array of hosts to connect to.
  18. # hosts: ["localhost:9200"]
  19. # Optional protocol and basic auth credentials.
  20. #protocol: "https"
  21. #username: "elastic"
  22. #password: "changeme"
  23. #----------------------------- Logstash output --------------------------------
  24. output.logstash:
  25. # The Logstash hosts
  26. hosts: ["192.168.42.112:5044"]
  27. # Optional SSL. By default is off.
  28. # List of root certificates for HTTPS server verifications
  29. #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
  30. # Certificate for SSL client authentication
  31. #ssl.certificate: "/etc/pki/client/cert.pem"
  32. # Client Certificate Key
  33. #ssl.key: "/etc/pki/client/cert.key"

 六、依次 启动 es、kibana、filebeat、logstash

启动es

 su elk
./bin/elasticsearch -d

启动kibana 

 ./bin/kibana

启动 filebeat 

./filebeat -e -c filebeat.yml -d "publish"

 启动 logstash

测试你的配置文件 是否正确( 解析配置文件并报告任何错误。)

bin/logstash -f dev.conf --config.test_and_exit

启动命令(启用自动配置重新加载,这样就不必每次修改配置文件时都停止并重新启动Logstash )

bin/logstash -f dev.conf --config.reload.automatic

  七、在kibana中查看 收集到的 日志

 

文章来源: blog.csdn.net,作者:血煞风雨城2018,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_31905135/article/details/84138652

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。