zoukankan      html  css  js  c++  java
  • elk 介绍与logstash插件

    一,ELK介绍

    1.什么是ELK
    ELK是三个软件组成的
    E:elasticsearch		#java程序  存储,查询日志
    L:logstash			#java程序  收集,过滤日志
    K:kibana			#java程序  展示,数据页面化
    
    F:filebeat			#go语言  收集,过滤日志
    
    2.ELK的作用
    1.收集:收集所有服务器的日志
    2.传输:把日志稳定的传输到ES或者消息队列
    3.存储:ES能有效的存储数据
    4.分析:通过web页面和作图进行分析
    5.监控:监控集群架构
    
    3.ELK优点
    1.处理数据方式很灵活
    2.配置简单
    3.查询数据性能高
    4.集群扩展方便
    5.页面直观,好看
    
    4.为什么使用ELK
    1.web日志收集
    2.业务日志收集
    3.系统日志收集
    4.分析以上日志
    
    #在公司,统计分析数据
    1.用户访问量统计
    2.访问量前十的IP
    3.站点访问次数最多的URL
    4.查询一上午以上三个值   8:10-12:30
    5.查询一下午以上三个值   13:30-17:30
    6.对比一下以上数据
    7.对比本周每一天的数据
    
    #如果有ELK以上信息很容易查询
    

    一 、logstash介绍

    1.搭建logstash
    1)安装java环境
    [root@web01 ~]# yum localinstall -y jdk-8u181-linux-x64.rpm
    
    2)时间同步
    [root@web01 ~]# ntpdate time1.aliyun.com
    
    3)安装logstash
    [root@web01 ~]# rz
    [root@web01 ~]# yum localinstall -y logstash-6.6.0.rpm
    
    4)授权
    [root@web01 ~]# ll /usr/share/logstash/
    [root@web01 ~]# chown -R logstash.logstash /usr/share/logstash/
    
    #启动文件
    [root@web01 ~]# ll /usr/share/logstash/bin/logstash
    -rwxr-xr-x 1 logstash logstash 2354 Jan 24  2019 /usr/share/logstash/bin/logstash
    
    2.logstash插件
    INPUT:使Logstash能够读取特定的事件源。
    OUTPUT:将事件数据发送到特定的目的地,OUTPUT是事件流水线中的最后阶段。
    
    INPUT支持事件源 OUTPUT支持输出源 CODEC编解码器支持编码
    azure_event_hubs(微软云事件中心) elasticsearch(搜索引擎数据库) avro(数据序列化)
    beats(filebeat日志收集工具) email(邮件) CEF(嵌入式框架)
    elasticsearch(搜索引擎数据库) file(文件) es_bulk(ES中的bulk api)
    file(文件) http(超文本传输协议) Json(数据序列化、格式化)
    generator(生成器) kafka(基于java的消息队列) Json_lines(便于存储结构化)
    heartbeat(高可用软件) rabbitmq(消息队列 OpenStack) line(行)
    http_poller(http api) redis(缓存、消息队列、NoSQL) multiline(多行匹配)
    jdbc(java连接数据库的驱动) s3*(存储) plain(纯文本,事件间无间隔)
    kafka(基于java的消息队列) stdout(标准输出) rubydebug(ruby语法格式)
    rabbitmq(消息队列 OpenStack) tcp(传输控制协议)
    redis(缓存、消息队列、NoSQL) udp(用户数据报协议)
    s3*(存储)
    stdin(标准输入)
    syslog(系统日志)
    tcp(传输控制协议)
    udp(用户数据报协议)
    3.logstash输入输出插件测试
    1)配置环境变量
    [root@web01 ~]# vim /etc/profile.d/logstash.sh
    export PATH=/usr/share/logstash/bin/:$PATH
    
    2)收集标准输入到标准输出
    [root@web01 ~]# logstash -e 'input { stdin {} } output { stdout {} }'
    
    34567890
    {
    	   #收集到的内容
           "message" => "34567890",
        #时间戳
        "@timestamp" => 2020-12-03T09:27:18.886Z,
        	  #收集到数据的主机
              "host" => "web01",
          #收集的版本
          "@version" => "1"
    }
    
    3)收集标准输入到标准输出指定格式
    [root@web01 ~]# logstash -e 'input { stdin {} } output { stdout { codec => rubydebug } }'
    
    123
    {
           "message" => "123",
          "@version" => "1",
        "@timestamp" => 2020-12-03T09:33:40.563Z,
              "host" => "web01"
    }
    
    4)收集标准输入到文件
    [root@web01 ~]# logstash -e 'input { stdin {} } output { file { path => "/tmp/1.txt" } }'
    123
    [INFO ] 2020-12-03 17:40:50.731 [[main]>worker0] file - Opening file {:path=>"/tmp/1.txt"}
    234
    345
    
    #验证文件写入
    [root@web01 ~]# tail -f /tmp/1.txt 
    {"message":"123","@timestamp":"2020-12-03T09:40:50.333Z","host":"web01","@version":"1"}
    {"message":"234","@timestamp":"2020-12-03T09:41:27.302Z","host":"web01","@version":"1"}
    {"message":"345","@timestamp":"2020-12-03T09:41:45.527Z","host":"web01","@version":"1"}
    
    5)收集标准输入到ES
    [root@web01 ~]# logstash -e 'input { stdin {} } output { elasticsearch { hosts => ["10.0.0.71:9200"] index => "test" } }'
    
    #启动后随便输入点东西,去ES查看
    
    [root@web01 ~]# logstash -e 'input { stdin {} } output { elasticsearch { hosts => ["10.0.0.71:9200"] index => "test_%{+YYYY-MM-dd}" } }'
    
  • 相关阅读:
    Spring整合SpringDataJpa配置文件头
    SpringDataJpa全部依赖
    Spring data jpa persistence .xml 配置文件
    最新为Phpstorm配置xdebug 进行断点调试
    如何根据不同的浏览器写不同的css样式达到兼容
    关于ecshop的那些故事
    安装xampp 后 发现 apache 启动不起来
    关于在biweb 中安装完成后 首页上方报错问题的解决
    phpstormn 中 xdebug 的详细配置2
    关于phpstorm中安装配置xdeug
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/14082346.html
Copyright © 2011-2022 走看看