相关文章推荐
有腹肌的火锅  ·  Spring ...·  1 年前    · 
魁梧的小刀  ·  如何等待FileReader ...·  1 年前    · 
1.为什么要指定索引库名称

由于一台机器上不止一个应用服务,比如web机器,上面一定会有tomcat、nginx、redis这种服务,如果我们不指定每个应用收集来的日志存放在es集群中的索引名的话,filebeat会将所有的日志存放在一个叫filebeat-xxx的索引库中,这样一来,我们想针对性的看某一个应用的日志将会非常困难

因此就需要当filebeat收集完日志存放在es时,指定不同应用对应的不同索引名,这样就能实现tomcat在tomcat的索引库,nginx在nginx 的索引库,互不干扰

2.配置文件详解
filebeat.inputs:							//收集什么日志
- type: log										//采集类型,如果有多个应用系统则配置多个
  enabled: true									//是否启用,true为启用,false为不起用,启用后就会在es上创建索引库
  paths:										//日志所在路径
    - /var/log/nginx/access.log	
    - /var/log/nginx/error.log
  fields:										//在es库里额外增加一个字段,也类似于标签
    index: nginx								//字段名:值
  json.keys_under_root: true						//解析json格式的日志
  json.overwrite_keys: true
output.elasticsearch:								//日志存放在哪个es集群
  hosts: ["192.168.81.210:9200"]					//集群地址
  indices:											//索引信息
    - index: "elk-nginx-%{+yyyy.MM.dd}"				//索引名称
      when.equals:						//匹配哪个标签
        fields:							//配置标签类型为字段
          index: "nginx"					//配置指定的字段,当index字段的值为nginx则存储到elk-nginx索引中
3.filebeat配置多个应用日志收集并存放到不同的索引库 
3.1.修改配置文件 
[root@logsj ~]# vim /etc/filebeat/filebeat.yml 
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
    - /var/log/nginx/error.log
  fields:
    index: nginx
  json.keys_under_root: true
  json.overwrite_keys: true
- type: log
  enabled: true
  paths:
    - /application/tomcat/logs/catalina.out
  fields:
    index: tomcat
output.elasticsearch:
  hosts: ["192.168.81.210:9200"]
  indices:
    - index: "elk-nginx-%{+yyyy.MM.dd}"
      when.equals:
        fields:
          index: "nginx"
    - index: "elk-tomcat-%{+yyyy.MM.dd}"
      when.equals:
        fields:
          index: "tomcat"
3.2.重启filebeat 
[root@logsj ~]# systemctl restart filebeat
3.3.查看es上创建的索引库 

已经有了tomcat索引和nginx索引,可以看到已经不是默认的3个索引了,因为我们也修改了默认的模板,只要自定义索引名,就默认启用了新的模板配置,就成了es默认的5个分片,1个副本

4.在kibana上创建tomcat和nginx的索引库

在kibana上创建的索引,其实就是调了es上的索引

在这里填写了es索引库的名称后,会自动把匹配的索引库都列出来,所以就相当于调用了

填写名称时要写通配符,比如elk-nginx-*,因为filebeat每天收集来的日志都是单独存放在不用的索引库中,比如第一天为elk-nginx-01,第二天就是elk-nginx-02,这样一来,如果写死索引名,则每天都需要新增索引库,非常麻烦,因此就填写通配符,这样就会把每天的日志都合并在一起,也可以做到不同日期进行对比查询

4.1.创建elk-tomcat索引库

点击Managerment—kibana一栏—索引模式

名称那填写elk-tomcat-*

字段选择@timestamp
filebeat将收集的日志存储在指定es索引库并在kibana上展示日志数据(三)_字段_04

4.2.创建elk-nginx索引库

名称那填写elk-nginx-*
filebeat将收集的日志存储在指定es索引库并在kibana上展示日志数据(三)_json_06

自动选择@timestamp
filebeat将收集的日志存储在指定es索引库并在kibana上展示日志数据(三)_nginx_07

4.3.创建完成 5.在kibana上统计不同应用的日志 5.1.统计tomcat日志

点击Discovery—选择对应的tomcat索引

需要统计什么就填写筛选器,如果搜索内容就在上面>_里搜

5.2.统计nginx日志

nginx开启了json格式的日志,因此统计的面更全

android屏幕自动滑动 安卓滑屏设置

屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面;一个个性化设置页面。 OPhoneAPI文档可以发现,有个android.widget.ViewAnimator类继承至FrameLayout,ViewAnimator类的作用是为FrameLayout里面的View切换提供动画效果。该类有如下