ELK日志分析平台的搭建以及beats模式的搭建


ELK组成:
    - E:是指Elasticsearch,完成数据的存储和检索
    - L:是Logstash,完成数据的采集、过滤及解析
    - K:Kibana,以WEB方式展示
Beats 是轻量型采集器的平台,从边缘机器向 Logstash 和 Elasticsearch 发送数据
由于ELK日志是开源软件可在官网直接下载:
下载链接:Elasticsearch:https://www.elastic.co/cn/downloads/elasticsearch
下载链接:Logstash:https://www.elastic.co/cn/downloads/logstash
下载链接:Kibana:https://www.elastic.co/cn/downloads/kibana
下载链接:Beats :https://www.elastic.co/cn/downloads/beats
一、安装Elasticsearch:
           1、安装部署 java-1.8.0-openjdk-devel,elasticsearch
                     rpm  -ivh  elasticsearch.rpm
           2、修改 hosts 文件,保证所有机器通过名称能 ping 通集群中的其他机器
                  禁用防火墙 和 selinux
                  禁用防火墙 和 selinux
                  禁用防火墙 和 selinux
           3、修改配置文件 /etc/elasticsearch/elasticsearch.yml 
                  cluster.name: my-elk01
                   network.host: 0.0.0.0
           4、启动服务
                 systemctl  start  elasticsearc  
           5、验证
                 通过浏览器可以访问任意节点的 http://ip.xx.xx.xx:9200/
                 验证集群是否正常,访问http://ip.xx.xx.xx:9200/_cluster/health?pretty #检查集群健康状况
                 健康状况:  "cluster_name" : "my-elk01", #集群名称
                                     "status" : "green", # 表示正常
插件安装: head插件安装
         插件地址:git clone git://github.com/mobz/elasticsearch-head.git
         head安装需要的插件:node、npm、grunt
         使用  node -v   npm  -v  命令查看软件是否安装、如果安装跳过下面,如果未安装:
         node下载地址:http://blog.csdn.net/napoay/article/details/nodejs.org/
         npm 下载地址:https://www.npmjs.com
         安装head插件:
                   npm install –g grunt–cli
         解压下载head在elasticsearch-head-master下执行:npm install -g cnpm --registry=https://registry.npm.taobao.org
		 (如果报错复制报错信息百度即可)
         修改/config/elasticsearch.yml配置文件:(find  /  -name  elasticsearch.yml)即可找到文件
         添加两行配置:                     
               http.cors.enabled: true
               http.cors.allow-origin: "*"
         elasticsearch-head-master/Gruntfile.js,找到下面connect属性,新增 hostname: ‘0.0.0.0’:
		 connect: {
        server: {
            options: {
                hostname: '0.0.0.0',
                port: 9100,
                base: '.',
                keepalive: true
                     }
                  }
                 }
	    在elasticsearch-head-master/下执行grunt server 正常情况下可以正常启动,(如果异常复制报错信息百度即可)






二、.logstash的概念及特点。 
         概念:logstash是一个数据采集、加工处理以及传输(输出)的工具。
         特点:
             - 所有类型的数据集中处理
             - 不同模式和格式数据的正常化
             - 自定义日志格式的迅速扩展
             - 为自定义数据源轻松添加插件


        rpm -ivh logstash.rpm
        测试文件:
        /etc/logstash/logstash.conf
          input{ stdin{} } 
          filter{  }
          output{ stdout{} }
		  logstash/bin/logstash  -f /etc/logstash/logstash.conf 指定配置文件启动,
		  如果输入数据能看到返回证明 logstash 安装正确
          开始远程日志传输配置:
 		  /etc/logstash/logstash.conf
		  input{
          beats {
          port => "5044"
          type => "log"
                   }
              }
          filter{
          grok{
          match => { "message" => "%{COMBINEDAPACHELOG}"}
              }
                }
          output{
          elasticsearch {
          hosts => ["10.0.74.144:9200"]
          index => "weblog"
                        }
                }
	  
      
		
		'''
		
		(拓展配置文件如没需求可跳过)
		 /etc/logstash/logstash.conf
        logstash 数据处理结构
                             | -------------------------logstash---------------------------|
         {数据源} -->{ input{数据接收} -- filter{数据处理} -- output{数据发送}  } --> {ES集群}
                             |--------------------------logstash---------------------------|




        布尔值类型:  ssl_enable => true
        字节类型:     bytes => "1MiB"
        字符串类型:  name => "xkops"
        数值类型:     port => 22
        数组:            match => ["datetime","UNIX"]
        哈希:            options => {key1 => "value1",key2 => "value2"}
        编码解码:     codec => "json"
        路径:            file_path => "/tmp/filename"
        注释:       #


        条件判断:
        等于:       ==
        不等于:     !=
        小于:       <
        大于:       >
        小于等于:   <=
        大于等于:   >=
        匹配正则:   =~
        不匹配正则: !~
        包含:        in
        不包含:     not in 
        与:	and
        或:	or
        非与:          nand
        非或:	xor
        复合表达式: ()
        取反符合:   !()


        logstash-file 插件: 从文件读取,在屏幕输出
        file插件字段解释:
        codec =>  #可选项,默认是plain,可设置其他编码方式。
        discover_interval => #可选项,logstash多久检查一下path下有新文件,默认15s。
        exclude => #可选项,排除path下不想监听的文件。
        sincedb_path => #可选项,记录文件以及文件读取信息位置的数据文件。~/.sincedb_xxxx
        sincedb_write_interval => #可选项,logstash多久写一次sincedb文件,默认15s.
        stat_interval => #可选项,logstash多久检查一次被监听文件的变化,默认1s。
        start_position => #可选项,logstash从哪个位置读取文件数据,默认从尾部,值为:end。初次导入,设置为:beginning。
        path => #必选项,配置文件路径,可定义多个。
        tags => #可选项,在数据处理过程中,由具体的插件来添加或者删除的标记。
        type => #可选项,自定义处理时间类型。比如nginxlog。
        
		'''


    


三、kibana安装
       概念:数据可视化平台工具 
       特点:
           - 灵活的分析和可视化平台
           - 实时总结和流数据的图表
           - 为不同的用户显示直观的界面
           - 即时分享和嵌入的仪表板


      kibana的安装配置。
        rpm -ivh kibana.rpm
		
		
四、Filebeat安装	
	 安装:
	 rpm -ivh  filebeat-5.6.4-x86_64.rpm
	
	配置Filebeat
	vim /etc/filebeat/filebeat.yml
       	filebeat.prospectors:
 
             - input_type: log
             paths:
             - /var/log/xxxx.log   # 要收集日志的绝对路径、造一些web日志数据放入xxx.log中测试使用
            #- /var/log/*.log
            #- c:\programdata\elasticsearch\logs\*
 
            output.logstash:
               # The Logstash hosts
               hosts: ["localhost:5044"]  #logstash的监听端口
            
		
		
五、重启所有服务
    1、systemctl  restart  elasticsearc
	2、systemctl  restart  logstash
	3、systemctl  restart  kibana
    4、/etc/init.d/filebeat start
	
六、网页测试
    http://ip/9100  查看weblog数据库是否创建

你可能感兴趣的:(elasticsearch,数据)