ELK 1.3之kibana

1.安装kibana,直接压缩包安装就可以,kibana默认端口5601

2.配置kibana配置文件

[root@kibana config]# vim /opt/kibana/config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.1.11:9200"]
i18n.locale: "zh-CN"

 3.生成启动脚本文件,查看下有没有这个启动脚本文件,没有就写一个,脚本内容参照elasticsearch.service的脚本

  cat    /usr/lib/systemd/system.kibana.service

4.重启下

[root@kibana system]# systemctl daemon-reload
[root@kibana system]# systemctl start kibana

5.查看端口和进程是否启动

[root@kibana ~]# ps -ef |grep kibana    查看进程名
root      36300      1 18 09:32 ?        00:00:24 /opt/kibana/bin/../node/bin/node /opt/kibana/bin/../src/cli --allow-root
root      36400  33966  0 09:34 pts/0    00:00:00 grep --color=auto kibana
[root@kibana ~]# ss -anputl|grep 5601    查看端口,kibana默认5601端口
tcp    LISTEN     0      128       *:5601                  *:*                   users:(("node",pid=36300,fd=18))
[root@kibana ~]# systemctl status kibana    查看kibana状态

 

3)过滤插件(filter)
 
过虑阶段:将日志格式化处理,常用插件 json  kv  grok  geoip  date
 
过滤插件都支持的字段: 
• add_field 如果过滤成功,添加一个字段到这个事件 
• add_tags 如果过滤成功,添加任意数量的标签到这个事件 
• remove_field 如果过滤成功,从这个事件移除任意字段 
• remove_tag 如果过滤成功,从这个事件移除任意标签
 
 
JSON插件:接收一个json数据,将其展开为Logstash事件中的 数据结构,放到事件顶层。 常用字段: 
 
• source 指定要解析的字段,一般是原始消息message字段 
• target 将解析的结果放到指定字段,如果不指定,默认在 事件的顶层
 
 
 

6.修改conf文件的配置,加入json解析

input {
    file {
       path => "/var/log/test/*.log"
       exclude => "error.log"
       start_position => "beginning"
      tags => 'nginx'
      tags => 'web'
      type => 'access'
      add_field => {
       'project' => 'ali cloud'
       'app' => 'pdd'
       }  
    }
}

filter {
     json{
   source => 'message'
}
}
output {
    file {
    path => "/tmp/test.log"
    }
}

7.重启并启动test.conf文件

[root@logstash ~]# systemctl daemon-reload
[root@logstash ~]# systemctl start logstash
[root@logstash ~]# /opt/logstash/bin/logstash  -f   /opt/logstash/conf.d/test.conf 

8.去文件输入内容

[root@logstash data]# echo zht >> '/var/log/test/access.log'

9.查询下是解析成功,可以看到failer失败了,因为输入的文本不是json格式

{"type":"access","app":"pdd","tags":["nginx","web","_jsonparsefailure"],"project":"ali cloud","@timestamp":"2022-03-23T01:48:15.359Z","@version":"1","path":"/var/log/test/access.log","message":"zht","host":"logstash"}

 

10.输入json格式的内容

 echo '{"remote_addr": "192.168.213.6","url":"/index","status":"200"}' >>/var/log/test/access.log

11.查看解析成功了

{"@timestamp":"2022-03-23T02:17:20.933Z","type":"access","message":"{\"remote_addr\": \"192.168.213.6\",\"url\":\"/index\",\"status\":\"200\"}","project":"cloud service","app":"douyu","path":"/var/log/test/access.log","host":"logstash","@version":"1","tags":["web","nginx"]}

 

12.进入json转化网址:https://www.bejson.com/

 

 

 

 

13.把logstash的日志推送到elasticsearch

14.修改conf文件

input {
    file {
       path => "/var/log/test/*.log"
       exclude => "error.log"
       start_position => "beginning"
      tags => 'nginx'
      tags => 'web'
      type => 'access'
      add_field => {
       'project' => 'ali cloud'
       'app' => 'pdd'
       }  
    }
}

filter {
}
output {
    elasticsearch {                     #输出到elasticsearch
      host => '192.168.213.4:9200'          #elasticsearch的ip地址
      index => 'test-%{+YYYY.MM.dd}'       #insex是elasticsearch的数据库


    }

}

15.在网页登录kibana的ip和kibana的端口,选择Stack  Management

 

16.建立好的索引可以去kibana下的discover查看

 

 

 

 选好时间可以查看

 

 

 

在/var/log/test/access.log下输入文本内容,可以去kibana这查看

 

 

 

 

posted @ 2022-03-28 23:07  多次拒绝黄宗泽  阅读(141)  评论(0编辑  收藏  举报