zoukankan      html  css  js  c++  java
  • 部署Logstash--Elastic Stack之六

    1.Logstash是一个开源的服务器端数据处理管道,可以同时从多个源获取数据。面对海量的日志量,rsyslog和sed,awk等日志收集,处理工具已经显的力不从心。logstash是一个整合型的框架,可以用以日志的收集,存储,索引构建(一般这个功能被ES取代)。

    工作机制:

     logstash 的服务器端从redis/kafka/rabbitmq等(broker)消息队列获取数据。一条数据一条数据的清洗。清洗完成后发送给elasticsearch集群。再在kibana上显示。对于logstash而言,他的所有功能都是基于插件来完成的。input,filter,output等等都是这样。

    2.在192.168.1.223上安装logstash
    #yum install -y  logstash
    
    3.安装完之后,先不要启动服务,先配置logstash收集syslog日志:
    #vim /etc/logstash/conf.d/syslog.conf  # 加入如下内容
    input {  # 定义日志源
      syslog {
        type => "system-syslog"  # 定义类型
        port => 10514    # 定义监听端口
      }
    }
    output {  # 定义日志输出
      stdout {
        codec => rubydebug  # 将日志输出到当前的终端上显示
      }
    }
    
    
    #/usr/share/logstash/bin/logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit
    Config Validation Result: OK  #代表配置文件没有问题
    命令说明:
    --path.settings 用于指定logstash的配置文件所在的目录
    -f 指定需要被检测的配置文件的路径
    --config.test_and_exit 指定检测完之后就退出,不然就会直接启动了
    
    #配置logstash服务器的ip以及配置的监听端口:
     # vim /etc/rsyslog.conf
    *.* @@192.168.1.223:10514
    

    #重启rsyslog,让配置生效:
    #systemctl restart rsyslog
    
    #指定配置文件,启动logstash:
    #/usr/share/logstash/bin/logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf
    
    4.测试将信息输出到当前终端 
    我们在配置文件中定义的是将信息输出到当前终端,终端中以JSON的格式打印了收集到的日志,测试成功。
    

    #配置logstash
    #cp -apr logstash.yml  logstash.yml.bak
    #vi /etc/logstash/logstash.yml
    http.host: "192.168.1.223"
    

    5.以上只是测试的配置,这一步我们需要重新改一下配置文件,让收集的日志信息输出到es服务器中,而不是当前终端:
    # 更改为如下内容
    #vim /etc/logstash/conf.d/syslog.conf 
    input {
      syslog {
        type => "system-syslog"
        port => 10514
      }
    }
    output {
      elasticsearch {
        hosts => ["192.168.1.224:9200"]  # 定义es服务器的ip
        index => "system-syslog-%{+YYYY.MM}" # 定义索引
      }
    }
    
    #同样的需要检测配置文件有没有错:
    #/usr/share/logstash/bin/logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit
    
    6.启动logstash服务,并检查进程以及监听端口:
    #systemctl restart logstash
    #netstat -lntp |grep 9600
    #netstat -lntp |grep 10514
    
    7.重启服务之后,发现没有监听端口,查看logstash的日志和messages的日志,需要设置一下权限
    #chown -R logstash  /home/logstash/
    #chown -R logstash /var/log/logstash/
    #systemctl restart logstash
    

    8.完成了logstash服务器的搭建之后,执行以下命令可以获取索引信息:
    #curl '192.168.1.223:9200/_cat/indices?v'
    

    如上,可以看到,在logstash配置文件中定义的system-syslog索引成功获取到了,证明配置没问题,logstash与es通信正常。

    9.获取指定索引详细信息:
    #curl -XGET '192.168.1.224:9200/system-syslog-2019.12?pretty'
    
    #如果日后需要删除索引的话,使用以下命令可以删除指定索引:
    #curl -XDELETE '192.168.1.224:9200/system-syslog-2019.12' 

    10.es与logstash能够正常通信后就可以去配置kibana了,

    浏览器访问192.168.1.224:5601,到kibana页面上配置索引:

     

    配置成功后点击 “Discover” :


    参考链接:

    https://blog.51cto.com/zero01/2082794

    https://www.cnblogs.com/cjsblog/p/9459781.html

    https://www.cnblogs.com/fzxiaomange/tag/efk/

  • 相关阅读:
    《陶哲轩实分析》习题10.4.3
    陶哲轩实分析定理10.1.3:导数运算的积法则和商法则
    《数学分析新讲》_张筑生,12.5节:隐函数定理(1)
    《数学分析新讲》_张筑生,12.5节:隐函数定理(1)
    《陶哲轩实分析》定理10.1.15:导数的链法则
    我的博客园的CSS和html设置
    陶哲轩实分析定理10.1.3:导数运算的积法则和商法则
    关于Eclipse中一个错误排查总结
    RMI, Dynamic Proxies, and the Evolution of Deployment
    Java垃圾回收机制浅析
  • 原文地址:https://www.cnblogs.com/llwxhn/p/12942956.html
Copyright © 2011-2022 走看看