精华内容
下载资源
问答
  • ELK日志分析系统

    2021-01-06 11:18:08
    ELK日志分析系统ELK日志分析系统概述ELK日志分析系统简介日志处理步骤Elasticsearch介绍Elasticsearch的概述Elasticsearch核心概念Logstash介绍Logstash的概述Logstash主要组件Kibana介绍Kibana的概述Kibana主要功能...

    ELK日志分析系统概述

    ELK日志分析系统简介

    E:Elasticsearch——索引数据库
    L:Logstash——收集、输出(日志)
    K:Kibana——展示工具

    日志处理步骤

    1、将日志进行集中化管理
    2、将日志格式化并输出到Elasticsearch(Logstash)
    3、对格式化后的数据进行索引和存储(Elasticsearch)
    4、前端数据的展示(Kibana)

    Elasticsearch介绍

    Elasticsearch的概述

    提供了一个分布式多用户能力的全文搜索引擎

    Elasticsearch核心概念

    接近实时:索引文档时有轻微的延迟
    集群:es具有集群机制,节点通过集群名称加入集群中,节点具有唯一标识
    节点:存储数据并参与集群的索引和搜索功能
    索引:相当于关系型数据库的库,是相似文档的集合
    分片和副本:
    (1)分片机制:提升索引效率,提高存储量
    (2)副本:高可用性(解决单点故障),增大吞吐量
    

    Logstash介绍

    Logstash的概述

    1、一款强大的数据处理工具
    2、可实现数据传输、格式处理、格式化输出
    3、数据输入、数据加工(过滤、改写等)以及数据输出

    Logstash主要组件

    Shipper:日志收集者。负责监控本地日志文件的变化
    Indexer:日志存储着。负责接收日志并写入到本地文件
    Broker:日志Hub。负责连接多个Shipper和多个Indexer
    Search and Storage:允许对事件进行搜索和存储
    Web Interface:基于Web的展示界面
    

    Kibana介绍

    Kibana的概述

    1、一个针对Elasticsearch的开源分析及可视化平台
    2、搜索、查看存储在Elasticsearch索引中的数据
    3、通过各种图标进行高级数据分析及展示

    Kibana主要功能

    1、Elasticsearch无缝之集成
    2、整合数据,复杂数据分析
    3、让更多团队成员受益
    4、接口灵活,分享更容易
    5、配置简单,可视化多数据源
    6、简单数据导出

    部署ELK日志分析系统

    环境

    20.0.0.11 :node1
    20.0.0.12 :node2
    20.0.0.13 :apache
    

    1、构建es群集

    1)三台主机,关防火墙,查看是否有java环境
    [root@node1 ~]# systemctl stop firewalld
    [root@node1 ~]# setenforce 0
    [root@node1 ~]# java -version
    openjdk version "1.8.0_181"
    OpenJDK Runtime Environment (build 1.8.0_181-b13)
    OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)2)节点1、节点2 设置本地解析
    [root@node1 ~]# vim /etc/hosts
    20.0.0.11 node1
    20.0.0.12 node2
    
    (3)节点1、节点2安装部署es(在opt目录下导入es相关软件包)
    [root@node1 opt]# ls
    elasticsearch-5.5.0.rpm    logstash-5.5.1.rpm
    elasticsearch-head.tar.gz  node-v8.2.1.tar.gz
    kibana-5.5.1-x86_64.rpm    phantomjs-2.1.1-linux-x86_64.tar.bz2
    
    [root@node1 opt]# rpm -ivh elasticsearch-5.5.0.rpm
    [root@node1 opt]# cp -p /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak	##备份原配置文件
    [root@node1 opt]# vim /etc/elasticsearch/elasticsearch.yml	##修改主配置文件
    17 cluster.name: elkjd	##els群集名称
    23 node.name: node1	##节点名
    33 path.data: /data/elk_data	##数据存放路径
    37 path.logs: /var/log/elasticsearch	##自身日志存放位置
    43 bootstrap.memory_lock: false		##启动时不锁定内存
    55 network.host: 0.0.0.0	##监听全部IP
    59 http.port: 9200		##端口
    68 discovery.zen.ping.unicast.hosts: ["node1", "node2"]	##单播节点名
    
    (4)创建数据存放路径并更改属组属主
    [root@node1 opt]# mkdir -p /data/elk_data
    [root@node1 opt]# chown elasticsearch:elasticsearch /data/elk_data/5)启动 ES
    [root@node1 opt]# systemctl daemon-reload 	##加载系统服务
    [root@node1 opt]# systemctl enable elasticsearch.service 
    Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
    [root@node1 opt]# systemctl start elasticsearch.service 
    [root@node1 ~]# netstat -anpt | grep 9200	##这个端口需要多启动几次,有延时
    tcp6       0      0 :::9200                 :::*                    LISTEN      6677/java  
    

    (6)检验效果:访问网页
    在这里插入图片描述
    在这里插入图片描述
    检查集群健康:地址后方加入/_cluster/health?pretty
    检查集群状态:地址后方加入/_cluster/state?pretty在这里插入图片描述
    在这里插入图片描述

    7)两台节点安装 elasticsearch-head 插件
    
    [root@node1 opt]# tar zxvf node-v8.2.1.tar.gz
    [root@node1 opt]# cd node-v8.2.1/
    [root@node1 node-v8.2.1]# ./configure 
    [root@node1 node-v8.2.1]# make -j4		##用四线程编译,要等十几分钟
    [root@node1 node-v8.2.1]# make install
    
    (8)安装phantomjs(前端框架)
    
    [root@node1 opt]# tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
    [root@node1 opt]# cd phantomjs-2.1.1-linux-x86_64/
    [root@node1 phantomjs-2.1.1-linux-x86_64]# cd bin/
    [root@node1 bin]# ls
    phantomjs
    [root@node1 bin]# cp phantomjs /usr/local/bin/9)安装elasticsearch-head(数据可视化工具)
    
    [root@node1 opt]# tar zxvf elasticsearch-head.tar.gz
    [root@node1 opt]# cd elasticsearch-head/
    [root@node1 elasticsearch-head]# npm install
    
    (10)重新修改主配置文件 并 重启服务
    
    [root@node1 elasticsearch-head]# cd /
    [root@node1 /]# vim /etc/elasticsearch/elasticsearch.yml
    ##末行插入
    http.cors.enabled: true		##开启跨域访问支持,默认为false
    http.cors.allow-origin: "*"		##跨域访问允许的域名地址,支持使用正则
    [root@node1 elasticsearch-head]# systemctl restart elasticsearch.service
    
    (11)启动elasticsearch-head 并 检测端口是否开启
    
    [root@node1 elasticsearch-head]# npm run start & 启动
    [1] 13823
    [root@node1 elasticsearch-head]# 
    > elasticsearch-head@0.0.0 start /opt/elasticsearch-head
    > grunt server
    
    Running "connect:server" (connect) task
    Waiting forever...
    Started connect web server on http://localhost:9100
    ^C
    [root@node1 elasticsearch-head]# netstat -anpt | grep 9100
    tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      13833/grunt 
    

    验证:
    在这里插入图片描述

    创建索引,进行验证

    [root@node1 ~]# curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"Nike","mesg":"Hello"}'
    {
      "_index" : "index-demo",
      "_type" : "test",
      "_id" : "1",
      "_version" : 1,
      "result" : "created",
      "_shards" : {
        "total" : 2,
        "successful" : 2,
        "failed" : 0
      },
      "created" : true
    }
    

    在这里插入图片描述
    2、配置Logstash

    1)在apache上安装httpd服务,并且部署安装 logstash
    
    [root@apache ~]# yum -y install httpd
    [root@apache ~]# systemctl start httpd
    #导入logstash
    [root@apache ~]# rpm -ivh logstash-5.5.1.rpm
    [root@apache ~]# systemctl start logstash.service 
    [root@apache ~]# systemctl enable logstash.service 
    Created symlink from /etc/systemd/system/multi-user.target.wants/logstash.service to /etc/systemd/system/logstash.service.
    [root@apache ~]# ln -s /usr/share/logstash/bin/logstash /usr/local/bin/2)与ES 节点进行对接测试
    Logstash这个命令测试
    字段描述解释:
    -f 通过这个选项可以指定logstash的配置文件,根据配置文件配置logstash
    -e 后面跟着字符串 该字符串可以被当做logstash的配置(如果是” ”,则默认使用stdin做为输入、stdout作为输出)
    -t 测试配置文件是否正确,然后退出
    
    [root@apache ~]# logstash -e 'input { stdin{} } output { stdout{} }' #标准输入和输出
    ##省略部分…………
    The stdin plugin is now waiting for input:
    09:46:35.448 [Api Webserver] INFO  logstash.agent - Successfully started Logstash API endpoint {:port=>9600}
    hello   #输入内容,回车结束
    2021-01-06T01:47:39.955Z apache hello  #解析
    www.baidu.com  #输入内容,回车结束
    2021-01-06T01:48:10.286Z apache www.baidu.com  #解析
    #测试完,退出
    
    (3)ruby 测试
    codec为一种编解码器
    
    [root@apache ~]# logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }' #标准输入,通过codec解码器以rubydebug的格式输出
    The stdin plugin is now waiting for input:
    09:49:40.523 [Api Webserver] INFO  logstash.agent - Successfully started Logstash API endpoint {:port=>9600}
    www.baidu.com  #输入内容,回车结束
    {                             #解析
        "@timestamp" => 2021-01-06T01:49:59.559Z,
          "@version" => "1",
              "host" => "apache",
           "message" => "www.baidu.com"
    }
    hello    #输入内容,回车结束
    {                              #解析
        "@timestamp" => 2021-01-06T01:50:06.163Z,
          "@version" => "1",
              "host" => "apache",
           "message" => "hello"
    }
    #测试完,退出
    
    (4)使用 logstash 将信息写入 ES[root@apache ~]# logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["20.0.0.12:9200"] } }'
    The stdin plugin is now waiting for input:
    09:52:06.282 [Api Webserver] INFO  logstash.agent - Successfully started Logstash API endpoint {:port=>9600}
    www.baidu.com   #输入内容
    www.google.com
    hello
    #输完内容,退出
    

    检测
    在这里插入图片描述

    [root@apache ~]# ll /var/log/messages
    -rw-------. 1 root root 768098 16 10:14 /var/log/messages
    [root@apache ~]# chmod o+r /var/log/messages #给其它用户读的权限
    [root@apache ~]# cd /etc/logstash/conf.d/
    [root@apache conf.d]# ls
    [root@apache conf.d]# vim system.conf
    input {
           file{
            path => "/var/log/messages"
            type => "system"
            start_position => "beginning"
            }
          }
    output {
            elasticsearch {
              hosts => ["20.0.0.12:9200"]
              index => "system-%{+YYYY.MM.dd}"	##索引名
              }
            }
            
    [root@apache conf.d]# systemctl restart logstash.service 
    

    检测:
    在这里插入图片描述
    3、Kibana

    #kibana可以装任意主机上检测,我装在 node1上
    [root@node1 opt]# rpm -ivh kibana-5.5.1-x86_64.rpm 
    [root@node1 opt]# cd /etc/kibana/
    [root@node1 kibana]# ls
    kibana.yml
    [root@node1 kibana]# cp kibana.yml  kibana.yml.bak
    [root@node1 kibana]# vim kibana.yml
     2 server.port: 5601	##kibana端口
     7 server.host: "0.0.0.0"	##监听全部IP
    21 elasticsearch.url: "http://20.0.0.12:9200"	##与ES建立联系
    30 kibana.index: ".kibana"		##在ES中添加 .kibana 索引
    
    [root@node1 kibana]# systemctl start kibana.service 
    [root@node1 kibana]# systemctl enable kibana.service  
    Created symlink from /etc/systemd/system/multi-user.target.wants/kibana.service to /etc/systemd/system/kibana.service.
    

    验证:访问20.0.0.11:5601(首次登录提示创建一个索引名字:
    填入system-*,即对接系统日志文件名)
    在这里插入图片描述
    在这里插入图片描述
    对接apache主机

    [root@apache  conf.d]# vim web_log.conf
    input {
           file{ 
            path => "/etc/httpd/logs/access_log"
            type => "access"
            start_position => "beginning"
            }
           file{ 
            path => "/etc/httpd/logs/error_log"
            type => "error"
            start_position => "beginning"
            }
            
          }
    output {
            if [type] == "access" {
            elasticsearch {
              hosts => ["20.0.0.12:9200"]
              index => "apache_access-%{+YYYY.MM.dd}"
              }
            }
            if [type] == "error" {
            elasticsearch {
              hosts => ["20.0.0.12:9200"]
              index => "apache_error-%{+YYYY.MM.dd}"
              }
            } 
            }
    [root@apache  conf.d]# logstash -f web_log.conf	#指定配置文件做测试
    

    检测:
    在这里插入图片描述
    #访问日志一开始没出来,记得要先访问下apache网址,才会产生访问日志

    进入 kibana 创建对应 索引,就可以使用图形界面查看日志分析了
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    一句话让你记住ELK日志

    场景:双十一,各大电商平台访问量暴增,对应的访问日志暴增,系统维护人员需要对日志进行处理分析,但苦于数量之巨…

    一句话:为了解决大量日志分析困难的问题,所以可以配置ELK进行集中化管理;其中logstash负责收集和格式化数据,再将数据存储到es数据库中,es可通过创建分片和副本的形式,用来抗压和避免单点故障,最后通过kibana,可视化的简便的展示出数据效果。

    展开全文
  • ELK 日志分析系统

    2019-12-24 19:08:29
    一、ELK 日志分析系统简介: 日志服务器: 提高安全性; 集中存放日志; 缺陷:对日志的分析困难 ELK日志处理步骤: 将日志进行集中格式化; 将日志格式化(logstash)并输出到 Elasticsearch; 对格式化后...

    一、ELK 日志分析系统简介:

    日志服务器:

    提高安全性;
    集中存放日志;
    缺陷:对日志的分析困难

    ELK日志处理步骤:

    将日志进行集中格式化;
    将日志格式化(logstash)并输出到 Elasticsearch;
    对格式化后的数据进行索引和存储(Elasticsearch);
    前端数据的展示(Kibana)
    在这里插入图片描述

    二、搭建 ELK 日志分析系统:

    主机 操作系统 主机名 IP地址 主要软件
    服务器 Centos7.4 node1 192.168.50.142 Elasticsearch、Kibana
    服务器 Centos7.4 node2 192.168.50.139 Elasticsearch
    服务器 Centos7.4 apache 192.168.50.141 Logstash Apache

    第一步:先配置 elasticsearch 环境

    (1)修改两台主机名,分别是:node1 和 node2

    (2)修改 hosts 文件:

    vim /etc/hosts
    添加以下主机名和主机IP地址(两台node都需要):
    192.168.220.129 node1
    192.168.220.130 node2
    

    (3)防火墙都关闭

    systemctl stop firewalld.service 
    setenforce 0
    

    第二步:部署安装 elasticsearch 软件(两台节点都需要)

    (1)安装:

    rpm -ivh elasticsearch-5.5.0.rpm        //安装
    systemctl daemon-reload                 //重新加载服务配置文件
    systemctl enable elasticsearch.service   //设置为开机自启动
    cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
    

    (2)修改配合文件:

    注意:第二台节点服务器配置和第一台一样,注意修改一下节点名和ip地址即可。
    
    vim /etc/elasticsearch/elasticsearch.yml
    
    17/		cluster.name: my-elk-cluster       //集群名字(自定义)
    23/		node.name: node-1                  //节点名字
    33/		path.data: /data/elk_data          //数据存放路径
    37/		path.logs: /var/log/elasticsearch/ //日志存放路径
    43/		bootstrap.memory_lock: false       //不在启动的时候锁定内存
    55/		network.host: 0.0.0.0       	   //提供服务绑定的IP地址(本机地址)
    59/		http.port: 9200                    //端口
    68/		discovery.zen.ping.unicast.hosts: ["node1", "node2"]  //集群发现通过单播实现
    

    (3)创建数据存放路径并授权:

    mkdir -p /data/elk_data
    chown elasticsearch:elasticsearch /data/elk_data/
    

    (4)开启服务:

    systemctl start elasticsearch.service
    netstat -natp | grep 9200
    

    1、使用浏览器打开 http://192.168.50.142:9200 下面是节点信息

    {
      "name" : "node1",
      "cluster_name" : "my-elk-cluster",
      "cluster_uuid" : "47bm_xHBSfSvB-mg5qaLWg",
      "version" : {
        "number" : "5.5.0",
        "build_hash" : "260387d",
        "build_date" : "2017-06-30T23:16:05.735Z",
        "build_snapshot" : false,
        "lucene_version" : "6.6.0"
      },
      "tagline" : "You Know, for Search"
    }
    

    2、使用浏览器 http://192.168.50.142:9200/_cluster/health?pretty ###检查集群健康情况

    {
      "cluster_name" : "my-elk-cluster",
      "status" : "green",
      "timed_out" : false,
      "number_of_nodes" : 2,
      "number_of_data_nodes" : 2,
      "active_primary_shards" : 0,
      "active_shards" : 0,
      "relocating_shards" : 0,
      "initializing_shards" : 0,
      "unassigned_shards" : 0,
      "delayed_unassigned_shards" : 0,
      "number_of_pending_tasks" : 0,
      "number_of_in_flight_fetch" : 0,
      "task_max_waiting_in_queue_millis" : 0,
      "active_shards_percent_as_number" : 100.0
    }
    

    3、使用浏览器 http://192.168.50.142:9200/_cluster/state?pretty ###检查群集状态信息

    {
      "cluster_name" : "my-elk-cluster",
      "version" : 3,
      "state_uuid" : "vU5I5cttQiiedAu38QwWEQ",
      "master_node" : "3wHS1VEBQ_q0FxZs2T5IiA",
      "blocks" : { },
      "nodes" : {
        "V0n8BHRfS1CA75dbo312HA" : {
          "name" : "node2",
          "ephemeral_id" : "2rC6LV1qQcaZNEFRc8uIBg",
          "transport_address" : "192.168.50.139:9300",
          "attributes" : { }
        },
        "3wHS1VEBQ_q0FxZs2T5IiA" : {
          "name" : "node1",
          "ephemeral_id" : "d2nLeY3RSYaI7g7jpzNkMA",
          "transport_address" : "192.168.50.142:9300",
          "attributes" : { }
        }
      },
      "metadata" : {
        "cluster_uuid" : "47bm_xHBSfSvB-mg5qaLWg",
        "templates" : { },
        "indices" : { },
        "index-graveyard" : {
          "tombstones" : [ ]
        }
      },
      "routing_table" : {
        "indices" : { }
      },
      "routing_nodes" : {
        "unassigned" : [ ],
        "nodes" : {
          "3wHS1VEBQ_q0FxZs2T5IiA" : [ ],
          "V0n8BHRfS1CA75dbo312HA" : [ ]
        }
      }
    }
    

    第三步:安装 elasticsearch-head 插件

    (1)安装依赖包:

    yum install gcc gcc-c++ make -y
    

    (2)编译安装 node 组件:

    tar zvxf node-v8.2.1.tar.gz -C /opt/
    cd /opt/node-v8.2.1/
    ./configure 
    make -j3     //这步耗时较长,耐心等待
    make install
    

    (3)安装 phantomjs 前端框架:

    tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /opt/
    cd phantomjs-2.1.1-linux-x86_64/bin
    cp phantomjs /usr/local/bin/
    

    (4)安装 elasticsearch-head 数据可视化工具:

    tar zvxf elasticsearch-head.tar.gz -C /opt/
    cd /opt/elasticsearch-head/
    npm install
    

    (5)修改主配置文件:

    vim /etc/elasticsearch/elasticsearch.yml
    末尾插入以下两行代码:
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    

    (6)启动 elasticsearch-head

    cd /opt/elasticsearch-head/
    npm run start &  //放在后台运行
    

    此时,可以检查一下 9100和9200 这个两个端口的状态:

    netstat -lnupt |grep 9100
    
    netstat -lnupt |grep 9200
    

    (7)使用浏览器输入 http://192.168.50.142:9100/ 可以看到群集很健康是绿色

    在Elasticsearch 后面的栏目中输入http://192.168.50.142:9200

    然后点连接会发现: 集群健康值:  green (0 of 0)
    ◉node1信息动作
    ★node2信息动作
    

    (8)打开浏览器输入 http://192.168.50.139:9100/ 可以看见群集很健康是绿色

    在Elasticsearch后面的栏目中输入http://192.168.50.139:9200

    然后点连接会发现:集群健康值: green (0 of 0)
    ◉node1信 息动作
    ★node2信息动作
    

    第四步:创建索引

    可以直接新建索引:
    在这里插入图片描述
    也可以输入以下命令创建索引:

    curl -XPUT '192.168.50.142:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
    //索引名为 index-demo,类型为test
    

    浏览器刷新一下,就会看到刚刚创建的索引信息,可以看出索引默认被分片5个,并且有一个副本
    在这里插入图片描述

    第五步:安装 logstash 并做一些日志搜集输出到 elasticsearch中

    (1)修改主机名

    hostnamectl set-hostname apache
    

    (2)安装Apache服务:

    systemctl stop firewalld.service
    setenforce 0
    yum install httpd -y
    systemctl start httpd.service
    

    (3)安装 logstash

    rpm -ivh logstash-5.5.1.rpm
    systemctl start logstash
    systemctl enable logstash
    ln -s /usr/share/logstash/bin/logstash /usr/local/bin/    //创建软连接到bin目录下
    

    (4)logstash(Apache)与 elasticsearch(node)功能是否正常,做对接测试:

    可以用 logstash 这个命令测试:
    [root@apache bin]# logstash
    -f:可以指定 logstash的配置文件,根据配置文件配置 logstash
    -e:后面跟着字符串,该字符串可以被当做 logstash 的配置(如果是“”,则默认使用stdin作为输入、stdout作为输出)
    -t:测试配置文件是否正确,然后退出
    

    (5)输入采用标准输入、输出采用标准输出:

    logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.220.136:9200"] } }'
    

    此时,浏览器访问 http://192.168.50.142:9200/ 查看索引信息,就会多出 logstash-2019.12.17
    在这里插入图片描述
    (6)登录Apache主机,做对接配置:

    logstash 配置文件主要由三部分组成:input、output、filter(这个视情况做不做)
    给日志文件授权:
    chmod o+r /var/log/messages
    
    ll /var/log/messages
    -rw----r--. 1 root root 488359 1217 14:52 /var/log/messages
    
    创建并编辑配置文件:
    vim /etc/logstash/conf.d/system.conf
    
    input {
            file {
              path => "/var/log/messages"
              type => "system"
              start_position => "beginning"
              }
          }
    
    output {
            elasticsearch {
              hosts => ["192.168.50.142:9200"]
              index => "system-%{+YYYY.MM.dd}"
              }
            }
    
    

    重启服务:

    systemctl restart logstash.service
    

    (7)浏览器查看索引信息:会多出 system-2019.12.17
    在这里插入图片描述
    在这里插入图片描述

    第六步:node1主机安装 kibana

    rpm -ivh kibana-5.5.1-x86_64.rpm
    cd /etc/kibana/
    cp kibana.yml kibana.yml.bak
    
    vim kibana.yml
    修改,开放以下功能:
    server.port: 5601        //开发端口
    server.host: "0.0.0.0"    //监听所有
    elasticsearch.url: "http://192.168.50.142:9200"  
    kibana.index: ".kibana"
    

    重启服务:

    systemctl start kibana.service 
    

    (1)浏览器访问:192.168.50.142:5601
    接下来在可视化界面中创建一个索引名:system-* (对接系统日志文件)
    在这里插入图片描述
    在这里插入图片描述
    (2)对接 Apache 主机的 Apache 日志文件 (包括正常访问的、错误的)

    cd /etc/logstash/conf.d/
    
    vim apache_log.conf  //创建配置文件,添加以下代码:
    
    input {
          file{
           path => "/etc/httpd/logs/access_log"
           type => "access"
           start_position => "beginning"
           }
          file{
           path => "/etc/httpd/logs/error_log"
           type => "error"
           start_position => "beginning"
           }
    }
    output {
            if [type] == "access" {
            elasticsearch {
                 hosts => ["192.168.220.136:9200"]
                 index => "apache_access-%{+YYYY.MM.dd}"
                }
            }
             if [type] == "error"{
            elasticsearch {
                 hosts => ["192.168.220.136:9200"]
                 index => "apache_error-%{+YYYY.MM.dd}"
                }
            }
    }
    

    重启服务:

    /usr/share/logstash/bin/logstash -f apache_log.conf
    

    再在可视化界面上, 创建两个索引:

    1、apache_access-*
    2、apache_error-*
    在这里插入图片描述

    由于,我们之前给node节点都做了同步备份,同时也提高了容灾的能力,一台宕机不会造成数据的丢失。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,088
精华内容 2,035
关键字:

elk日志分析系统