filebeat的模块收集日志和kibana制作图表

1. 收集nginx日志

官网的地址
https://www.elastic.co/guide/en/beats/filebeat/6.6/filebeat-module-elasticsearch.html

1.1 最基础的默认配置

filebeat的配置文件

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: true
setup.kibana:
  host: "192.168.80.40:5601"
output.elasticsearch:
  hosts: ["localhost:9200"]

启动filebeat的nginx的模块

查看module使用情况
filebeat modules list 

开启nginx模块
filebeat modules enable nginx

查看nginx的模块的配置

cd /etc/filebeat/modules.d

vim  nginx.yml

- module: nginx
  # Access logs
  access:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/var/log/nginx/access.log"]

  # Error logs
  error:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/var/log/nginx/error.log"]

==========================
修改的地方
var.paths: ["/var/log/nginx/access.log"]
var.paths: ["/var/log/nginx/error.log"]

修改nginx的日志格式为普通的日志格式

cd /etc/nginx
vim nginx.conf 
access_log  /var/log/nginx/access.log  main;

> /var/log/nginx/access.log

systemctl restart nginx

重启filebeat

systemctl restart filebeat 

报错

lhost:9200)): Connection marked as failed because the onConnect callback failed: Error loading pipeline for fileset nginx/access: This module requires the following Elasticsearch plugins: ingest-user-agent, ingest-geoip. You can install them by running the following commands on all the Elasticsearch nodes:
    sudo bin/elasticsearch-plugin install ingest-user-agent
    sudo bin/elasticsearch-plugin install ingest-geoip

安装软件

注意:6.7之后这两个插件默认集成到了elasticsearch,不需要单独安装了
我这里用的是6.6的版本

ingest-user-agent
ingest-geoip

下载的地址
https://www.elastic.co/guide/en/elasticsearch/plugins/6.6/ingest.html
下载完成上传安装

/usr/share/elasticsearch/bin/elasticsearch-plugin install file:///opt/elk/ingest-geoip-6.6.0.zip
/usr/share/elasticsearch/bin/elasticsearch-plugin install file:///opt/elk/ingest-user-agent-6.6.0.zip
systemctl restart filebeat 

在这里插入图片描述

1.2 正确日志和错误日志分开

filebeat的配置文件
在这里插入图片描述

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: true
setup.kibana:
  host: "192.168.80.40:5601"
output.elasticsearch:
  hosts: ["localhost:9200"]
  indices:
    - index: "nginx_access-%{[beat.version]}-%{+yyyy.MM.dd}"
      when.contains:
        fileset.name: "access"
    - index: "nginx_error-%{[beat.version]}-%{+yyyy.MM.dd}"
      when.contains:
        fileset.name: "error"

setup.template.name: "nginx"
setup.template.pattern: "nginx_*"
setup.template.enabled: false
setup.template.overwrite: true

删除es-head数据,重启

systemctl  restart filebeat

在这里插入图片描述
kibana添加日志需要注意
在这里插入图片描述
数据过滤产看
在这里插入图片描述

2. kibana画图

默认如果使用filbeat模版导入视图会把所有的服务都导入进去,而我们实际上并不需要这么多视图,
而且默认的视图模版只能匹配filebeat-*开头的索引,所以这里我们有2个需要需要解决:
1.通过一定处理只导入我们需要的模版
2.导入的视图模版索引名称可以自定义
解决方法:
1.备份一份filebeat的kibana视图,删除不需要的视图模版文件
2.修改视图文件里默认的索引名称为我们需要的索引名称

2.1 配置

cp -a /usr/share/filebeat/kibana /root
cd ~
cd kibana
rm -rf 5
只留下跟nginx有关的
cd /root/kibana/6/dashboard
find . -type f ! -name "*nginx*"|xargs rm -rf
rm -f ml-nginx-access-remote-ip-count-explorer.json 
rm -f  ml-nginx-remote-ip-url-explorer.json

默认的是filebeat-* 要替换为nginx
sed -i 's#filebeat\-\*#nginx\-\*#g' Filebeat-nginx-overview.json 
sed -i 's#filebeat\-\*#nginx\-\*#g' Filebeat-nginx-logs.json
cd /root/kibana/6/index-pattern
sed -i 's#filebeat\-\*#nginx\-\*#g' filebeat.json


服务都起来之后在做
替换索引名称
filebeat setup --dashboards -E setup.dashboards.directory=/root/kibana/

filebeat的配置文件

filebeat.inputs:
- type: log
  enabled: true 
  paths:
    - /var/log/nginx/access.log
  json.keys_under_root: true
  json.overwrite_keys: true
  tags: ["access"]
- type: log
  enabled: true 
  paths:
    - /var/log/nginx/error.log
  tags: ["error"]
setup.template.settings:
  index.number_of_shards: 3
setup.kibana:
  host: "192.168.80.40:5601"
output.elasticsearch:
  hosts: ["localhost:9200"]
  indices:
    - index: "nginx-access-%{[beat.version]}-%{+yyyy.MM}"
      when.contains:
        tags: "access"
    - index: "nginx-error-%{[beat.version]}-%{+yyyy.MM}"
      when.contains:
        tags: "error"
setup.template.name: "nginx"
setup.template.pattern: "nginx-*"
setup.template.enabled: false
setup.template.overwrite: true

nginx的配置文件,access.log改成json的模式

vim /etc/nginx/nginx.conf

 log_format json  '{ "time_local": "$time_local", '
                           '"remote_addr": "$remote_addr", '
                           '"referer": "$http_referer", '
                           '"request": "$request", '
                           '"status": $status, '
                           '"bytes": $body_bytes_sent, '
                           '"agent": "$http_user_agent", '
                           '"x_forwarded": "$http_x_forwarded_for", '
                           '"up_addr": "$upstream_addr",'
                           '"up_host": "$upstream_http_host",'
                           '"upstream_time": "$upstream_response_time",'
                           '"request_time": "$request_time"'
    ' }';

    access_log  /var/log/nginx/access.log  json;

systemctl start elasticsearch 
systenmctl start kibana
systemctl start filebeat 
systemctl start nginx

模拟一些日志就行了
浏览器访问,或者导入一些都行

192.168.80.40

在这里插入图片描述
es-head查看

在这里插入图片描述

2.2 kibana的操作

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据完成
在这里插入图片描述

2.3 kibana图表的制作

在这里插入图片描述

2.3.1 区域图 Area

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
保存点击右上角save
在这里插入图片描述
查看
在这里插入图片描述
在这里插入图片描述

2.3.2 data table

在这里插入图片描述
在这里插入图片描述

2.3.3 pie 饼状图

在这里插入图片描述
在这里插入图片描述
显示比例的信息
在这里插入图片描述

2.3.4 guage 显示范围内的次数

在这里插入图片描述
在这里插入图片描述

2.3.5 Markdown 一些运维人员信息

在这里插入图片描述
在这里插入图片描述

2.4 全部图的整合

在这里插入图片描述
下一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加完成
在这里插入图片描述
拖动单独的就可以调整位置
在这里插入图片描述
上班点击这个面板就可以查看最新的数据变化
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安有故里y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值