elk(filebeat)日志收集工具

elk(filebeat)日志收集工具

elk:filebeat日志收集工具  和logstash相同

filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小得多

filebeat可以运行在非Java环境。他可以代理logstash在非java环境上收集日志

filebeat无法实现数据的过滤,一般是结合logstash的数据过滤功能一块使用

filebeat收集的数据可以发往多个主机,即远程收集

logstash收集日志的过程:

input(从哪里收集)

filter(过滤)

output(发送es实例)

logstash可以使用任意端口,只要没被占用都可以使用,推荐1024之后开始

本机获取收集nginx的日志实验:

四台服务器

192.168.233.11

192.168.233.12

192.168.233.13

192.168.233.21

先关闭四个主机的防火墙和安全机制

cd 到opt目录下,把这个软件包拖到elk1(就是有logstash的主机)

解压软件包

tar zxvf filebeat-6.7.2-linux-x86_64.tar.gz

改名文件以及改配置文件

在四台主机操作重启配置文件

四台主机一块安装时间同步软件

yum install ntpdate -y

四台主机同步操作时间同步

data查看一下

在elk1安装一台nginx

yum -y install nginx,如果报错改端口号

改完nginx的配置文件 记得重启服务

在elk1安装一台httpd

开启httpd的服务

一个设置this httpd 一个设置this nginx

做httpd的配置文件

做nginx的配置文件

在浏览器查看

直接输IP就是httpd 加上8080端口就是nginx,因为上面的步骤将nginx的端口号改掉了

找到nginx日志的位置

cd /var/log/nginx

看他是不是绿色 如果不是绿色就赋权

先cd到opt 再cd到这个目录

给文件做备份

打开这个配置文件

在148行左右注释elasticsearch outputs

在167行左右取消logstash output的注释

在24行左右把enabled后面改成true ,path后面插七行/var/log/nginx/access.log

/var/log/nginx/error.log

tags:[nginx]

fields:

  service_name:192.168.233.11_nginx

  log_type:nginx

  from:192.168.233.11

(以上操作没标注的就都是在elk1操作)

配置logstash

创建目录log 写一个配置文件

写配置文件

cd到/opt/filebeat目录下

启动filebeat

出现这个没问题

nohup是指在后台记录执行命令的过程

.filebeat 运行文件

-e 使用标准输出的同时syslog文件输出

-c 指定配置文件

执行过程输出到filebeat.out这个文件当中 &后台运行

再开启一台elk1的终端

cd到opt里面的filebeat

然后查看日志

cd 到opt目录下的log

执行nginx.conf文件

出现问题先杀进程,以下是查看系统进程

然后杀进程

最后出现这个算成功

刷新

然后命中就会自动出现

远程收集多个日志实验

(Nginx+Apache+Mysql日志)

实验组件

logstash节点:20.0.0.10

Node1节点:node1/20.0.0.20       Elasticsearch

Node2节点:node2/20.0.0.30   Elasticsearch

日志来源服务器:20.0.0.81                   MYsql  Nginx  Apache  Filebeat

实验步骤

1.安装Filebeat并配置

#81

cd /opt/

--上传filebeat-6.7.2-linux-x86_64.tar.gz--

tar -xf filebeat-6.7.2-linux-x86_64.tar.gz

mv filebeat-6.7.2-linux-x86_64 filebeat

cd filebeat/

vim filebeat.yml

filebeat.inputs:

- type: log

  enabled: true

  paths:

    - /var/log/nginx/access.log

    - /var/log/nginx/error.log

  tags: ["nginx_81"]

  fields:

    service_name: 20.0.0.81_nginx

    log_type: nginx

    from: 20.0.0.81

- type: log

  enabled: true

  paths:

    - /etc/httpd/logs/access_log

    - /etc/httpd/logs/error_log

  tags: ["httpd_81"]

  fields:

    service_name: 20.0.0.81_httpd

    log_type: httpd

    from: 20.0.0.81

- type: log

  enabled: true

  paths:

    - /usr/local/mysql/data/mysql_general.log

  tags: ["mysql_81"]

  fields:

    service_name: 20.0.0.81_mysql

    log_type: mysql

    from: 20.0.0.81

--------------Elasticsearch output-------------------

(全部注释掉)

----------------Logstash output---------------------

output.logstash:

  hosts: ["20.0.0.10:5045"]      #指定logstash的IP和端口

2.配置logstash

10:

cd /opt/log/

vim nhm_81.conf

input {

        beats { port => "5045"}

}

output {

        if "nginx_81" in [tags] {

           elasticsearch {

                hosts => ["20.0.0.20:9200","20.0.0.30:9200"]

                index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"

           }

        }

        if "httpd_81" in [tags] {

           elasticsearch {

                hosts => ["20.0.0.20:9200","20.0.0.30:9200"]

                index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"

           }

        }

        if "mysql_81" in [tags] {

           elasticsearch {

                hosts => ["20.0.0.20:9200","20.0.0.30:9200"]

                index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"

           }

        }

stdout {

        codec => rubydebug

       }

}

3.启动filebeat

nohup ./filebeat -e -c filebeat.yml > filebeat.out &

logstash -f nhm_81.conf --path.data /opt/test2 &

4.结果

相关推荐

  1. AOP+MySQL实现一个简历的日志收集工具

    2023-12-08 09:20:05       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 09:20:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 09:20:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 09:20:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 09:20:05       18 阅读

热门阅读

  1. Installing GDS

    2023-12-08 09:20:05       41 阅读
  2. 【1day】金和OA某接口存在未授权访问漏洞

    2023-12-08 09:20:05       31 阅读
  3. ARM虚拟化与车联网安全应用

    2023-12-08 09:20:05       39 阅读
  4. 【RabbitMQ高级功能详解以及常用插件实战】

    2023-12-08 09:20:05       37 阅读
  5. mysql的Altas读写分离(实战配置版)

    2023-12-08 09:20:05       36 阅读
  6. iosapp网站是干什么的呢?

    2023-12-08 09:20:05       32 阅读
  7. Unity 程序运行后的日志信息路径

    2023-12-08 09:20:05       34 阅读
  8. 初学websocket有感-待研究

    2023-12-08 09:20:05       36 阅读