首页 > 其他分享 >ELK对业务日志进行收集

ELK对业务日志进行收集

时间:2024-08-02 22:56:03浏览次数:16  
标签:20.0 ELK filebeat log 收集 httpd nginx 日志

ELK对业务日志进行收集

下载httpd

进到文件设置收集httpd的文件进行 设置

在这里插入图片描述

编辑内容 用于收集日志的内容 将日志的内容发送到实例当中

在这里插入图片描述

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

input {

    file{
        path => /etc/httpd/logs/access_log
        type => "access"
        start_position => "beginning"
         }

    file{
        path => /etc/httpd/logs/access_log
        type => "error"
        start_position => "beginning"
         }

       }
output {
   if [type] == "access" {
        elasticsearch {
             hosts => ["20.0.0.13:9200","20.0.0.14:9200"]
             index => "apache_access-%{+YYYY.MM.dd}"
             }

            }

    if [type] == "error" {
        elasticsearch {
             hosts => ["20.0.0.13:9200","20.0.0.14:9200"]
             index => "apache_error-%{+YYYY.MM.dd}"
             }

}

启动文件

logstash -f http.conf --path.data /opt/test5 &

在这里插入图片描述

API接口:

软件内部代码之间通信的接口,代码的连接点

端口是对外提供访问程序的内容接口

页面访问httpd刷新

查看创建索引

在这里插入图片描述

filebeat安装 移动

在这里插入图片描述

在这里插入图片描述

filebeat:

1、可以在本机收集日志

2、也可以远程收集日志

3、轻量级的日志收集系统,可以再非java环境下运行

logstash是在jvm环境中运行,资源消耗很好,启动一个logstash要消耗500M左右的内存

filebeat只消耗十M左右的内存

在这里插入图片描述

打开文件 。yml

开启日志收集,以及确定日志文件的路径,指定标签和发送到目标主机的logstash

在这里插入图片描述

在这里插入图片描述

指定的是es展示的ip+端口 IP不是指定的只要是logstash主机上没有被占用的端口都可以使用,大于1024即可

在这里插入图片描述

要注释掉的

在这里插入图片描述

文件名是对方的主机地址

在这里插入图片描述

这里的端口和上面自己设置的是一样的

在这里插入图片描述

这里是指定往哪里发送

在这里插入图片描述

input {

   beats { port => "5045" }
    }
output {
   if "nginx" in [tags] {
        elasticsearch {
             hosts => ["20.0.0.13:9200","20.0.0.14:9200"]
             index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
             }
            }
这个配置文件里的service_name就是之前在

[root@sysql1 filebeat]# vim filebeat.yml
[root@sysql1 filebeat]# pwd
/usr/local/filebeat

这个目录下设置的_nginx

在这里插入图片描述

在这里插入图片描述

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

-e:输出到标准输出

-c:指定配置文件

nohup:在系统的后台运行,不会因为终端的关闭导致后台停止运行

​ > : 可以把运行的日志文件保存到指定的文件

在这里插入图片描述

启动设置好的配置文件

在这里插入图片描述

如果页面访问不了 刷新一下
如果还不行就进入虚拟机启动脚本并将他放入后台运行

在这里插入图片描述

mysql

nginx

httpd

通过远程收集发送到 logstash

ip +_mysql-*

ip +_nginx-*

ip +_httpd-*

在这里插入图片描述

mysql的日志文件 用于二进制收集文件的路径

在这里插入图片描述

修改端口nginx的端口 不然两个服务端口冲突 可修改任意 然后页面访问查看

在这里插入图片描述

nginx nginx的日志存放路径

在这里插入图片描述

httpd 日志存放路径

在这里插入图片描述

mysql 日志存放路径

在这里插入图片描述

- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
    - /var/log/nginx/error.log
  tags: ["nginx"]
  fields:
    service_name: 20.0.0.40_nginx
    log_type: nginx
    from: 20.0.0.40

- type: log
  enabled: true
  paths:
    - /var/log/httpd/access_log
    - /var/log/httpd/error_log
  tags: ["httpd"]
  fields:
    service_name: 20.0.0.40_httpd
    log_type: httpd
    from: 20.0.0.40

- type: log
  enabled: true
  paths:
    - /usr/local/mysql/data/mysql_general.log
  tags: ["mysqld"]
  fields:
    service_name: 20.0.0.40_mysqld
    log_type: mysql
    from: 20.0.0.40

脚本修改名字

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

input {

   beats { port => "5050" }
    }
output {
   if "nginx" in [tags] {
        elasticsearch {
             hosts => ["20.0.0.13:9200","20.0.0.14:9200"]
             index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
             }
            }
     if "httpd" in [tags] {
        elasticsearch {
             hosts => ["20.0.0.13:9200","20.0.0.14:9200"]
             index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
             }
            }
       if "mysqld" in [tags] {
        elasticsearch {
             hosts => ["20.0.0.13:9200","20.0.0.14:9200"]
             index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
             }
            }

}

nohup ./filebeat -e -c filebeat.yml  > filebeat.out &
[1] 20372
[root@sysql1 filebeat]# nohup: 忽略输入重定向错误到标准输出端

在这里插入图片描述

logstash -f nmh_40.conf --path.data /opt/test7 &

在这里插入图片描述

页面访问

在这里插入图片描述

kiabana上边就已经可以展示了

在这里插入图片描述

标签:20.0,ELK,filebeat,log,收集,httpd,nginx,日志
From: https://blog.csdn.net/mfq0622/article/details/140874156

相关文章

  • 机械学习—零基础学习日志(高数19——函数极限理解深化)
    零基础为了学人工智能,真的开始复习高数本次学习笔记,主要讲解函数极限的计算问题。极限四则运算规则这里有几个需要注意的地方。函数极限的四则运算,需要知道极限存在才能大胆放心的使用。而且使用超实数的概念会更好帮助我们理解,极限的运算。以下图来说。大量的同学,会直接......
  • Asp.Net Core 3.1 每次请求记录接口访问日志
    1publicclassRequestResponseLoggingMiddleware2{3privatereadonlyRequestDelegate_next;4privateRequestResponseLog_logInfo;56publicRequestResponseLoggingMiddleware(RequestDelegatenext)7{8_next=next;9......
  • 日志
    日志在开发中必不可少,方便记录代码执行过程、排查问题。下面是两种日志的使用1、日志切面:通过切面记录请求参数和响应结果2、log日志:记录正常信息(log.info),错误信息(log.error、log.warn)1、日志切面packagecom.xxx.datamanager.aop;importlombok.extern.slf4j.Slf4j;impor......
  • 查看系统的日志
    Windows系统:‌使用eventvwr.msc命令打开事件查看器,‌然后导航到“Windows日志”->“系统”来查看系统日志。‌在事件查看器的筛选功能中,‌可以通过输入特定的事件ID(‌如6005表示开机,‌6006表示关机,‌6009表示非正常关机)‌来查找相关的启动或关机事件。‌也可以直接搜索事件......
  • Oracle归档日志异常增长问题的排查过程 转载 : https://blog.csdn.net/3moods/article
    Oracle归档日志是Oracle数据库的重要功能,用于将数据库的重做日志文件(RedoLog)保存到归档日志文件(ArchiveLog)中。归档日志的作用是提供数据库的备份和恢复功能,以及支持数据库的持续性和数据完整性。当数据库处于归档模式时,数据库引擎会将已经写满的重做日志文件保存到归档日志文件......
  • 如何通过日志恢复数据库?
     不小心删表删库,没有日志备份,如何通过日志恢复数据库到故障点?  最近有同事不小心把数据库的表删除了,数据库只有完整备份,但是时间是好几天前,并且没有日志备份。我们希望通过日志恢复到删表的那个点,既然没有日志备份,如何通过日志恢复呢?  日志恢复的前提条件:1.数据库的恢复模......
  • 【Linux应急响应—下 】一文解明Linux应急响应(hw蓝队兄弟看这里):主机资源异常如何排查?C
    Linux应急响应重要声明linux应急响应各项资源异常CPU排查内存网络带宽网络连接关闭进程Linux系统日志排查登入验证日志登入失败次数登入成功统计攻击者IP个数攻击次数排列,由高到低中间件日志nginxapachetomcat分析维度:上篇文章在此处:【Linux应急响应—上】一文......
  • JVM—垃圾收集算法和HotSpot算法实现细节
    1、分代回收策略分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。分代垃圾回收采用分治的思想,进行代的划分,把不同生命周期放在不同代上,不同代采用最适合它的垃圾回收方法进行回收。......
  • 基于“日志审计应用”的 DNS 日志洞察实践
    作者:羿莉(萧羿)基础背景DNS(DomainNameSystem)[1]是任何网络活动的基础。它将易于记忆的域名转换为机器能够理解的IP地址。监控DNS服务可以帮助用户识别网络活动并保持系统安全。出于合规和安全性的考虑,公司通常要求对网络日志进行存储和分析。通过DNS日志,可以清晰......
  • ES慢日志
    1.索引慢日志当遇到慢索引日志时,可以采取以下措施:分析慢索引日志慢索引日志记录了索引操作的详细信息,包括索引名称、操作类型、执行时间等。首先,查看慢索引日志,了解哪些索引操作比较慢。优化索引设置刷新间隔:调整索引的刷新间隔(index.refresh_interval),减少频繁刷新带来......