ELK对业务日志进行收集

ELK对业务日志进行收集

下载httpd

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

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


bash 复制代码
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}"
             }

}

启动文件

bash 复制代码
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即可

要注释掉的

文件名是对方的主机地址

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

这里是指定往哪里发送

bash 复制代码
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}"
             }
            }
bash 复制代码
这个配置文件里的service_name就是之前在

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

这个目录下设置的_nginx
bash 复制代码
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 日志存放路径

bash 复制代码
- 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

脚本修改名字


bash 复制代码
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}"
             }
            }

}
bash 复制代码
nohup ./filebeat -e -c filebeat.yml  > filebeat.out &
[1] 20372
[root@sysql1 filebeat]# nohup: 忽略输入重定向错误到标准输出端
bash 复制代码
logstash -f nmh_40.conf --path.data /opt/test7 &

页面访问

kiabana上边就已经可以展示了

相关推荐
yangminlei3 天前
Elasticsearch 全面解析:从原理到实战的分布式搜索引擎指南
java·elk
我爱娃哈哈3 天前
SpringBoot + ELK + MDC:分布式系统日志追踪,快速定位跨服务调用链问题
spring boot·后端·elk
信创天地5 天前
信创环境下数据库与中间件监控实战:指标采集、工具应用与告警体系构建
java·运维·数据库·安全·elk·华为·中间件
信创天地6 天前
信创日志全流程管控:ELK国产化版本与华为日志服务实战应用
运维·安全·elk·华为·rabbitmq·dubbo
三不原则9 天前
实战:ELK 分析 AI 系统日志,快速定位接口报错问题
人工智能·elk
BullSmall9 天前
ELK 单机版日志系统【一键自动化部署脚本 + 完整配套配置】
运维·elk·自动化
BullSmall10 天前
基于 ELK 部署单机版日志系统方案
运维·elk
网络工程师_ling12 天前
【 Elastiflow (ELK) 网络流量分析系统 部署教程】
网络·elk
一只懒鱼a17 天前
安装ELK
elk
better_liang18 天前
每日Java面试场景题知识点之-ELK日志分析
java·elk·微服务·面试题·日志分析·企业级开发