分布式日志ELK

本文详细介绍了如何安装和配置Elasticsearch、Logstash和Kibana构成的ELK日志分析平台,包括下载、配置文件、用户权限设置及实例运行验证。适合日志管理初学者和运维人员参考。

分布式日志ELK

ELK指的是ElasticsearchLogstashKibana

Elasticsearch 基于java,是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Kibana 基于nodejs,也是一个开源和免费的工具,Kibana可以为LogstashElasticSearch提供的日志分析友好的Web 界面,可以汇总、分析和搜索重要数据日志。

Logstash 基于java,是一个开源的用于收集,分析和存储日志的工具。

Elasticsearch安装
  1. 到官网下载: (https://www.elastic.co/cn/downloads/elasticsearch (opens new window)) ,下载的是elasticsearch-7.12.0-linux-x86_64.tar.gz版本

  2. 解压到相应目录并且修改配置,注意端口修改成没被占用的,这里用的是9500

    tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz -C /usr/local
    cd /usr/local/elasticsearch-7.12.0/config/
    vim elasticsearch.yml
node.name: node-1
path.data: /usr/local/elasticsearch-7.12.0/data
path.logs: /usr/local/elasticsearch-7.12.0/logs
network.host: 127.0.0.1
http.host: 0.0.0.0
http.port: 9500
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

3.创建es用户 因为ElasticSearch不支持Root用户直接操作,因此我们需要创建一个es用户

useradd es
chown -R es:es /usr/local/elasticsearch-7.12.0

4.切换用户成es进行启动操作

su - es
/usr/local/elasticsearch-7.12.0/bin/elasticsearch -d

5.在浏览器打开9500端口地址:http://ip:9500,如果出现了下面的信息,就表示已经成功

{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "-b181gOYQGyH8APU9sYN7A",
"version" : {
  "number" : "7.12.0",
  "build_flavor" : "default",
  "build_type" : "tar",
  "build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
  "build_date" : "2021-03-18T06:17:15.410153305Z",
  "build_snapshot" : false,
  "lucene_version" : "8.8.0",
  "minimum_wire_compatibility_version" : "6.8.0",
  "minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Logstash安装
  1. 到官网下载: (https://www.elastic.co/cn/downloads/logstash (opens new window))

  2. 解压到相应目录

    tar -zxvf logstash-7.12.0-linux-x86_64.tar.gz -C /usr/local
    cd /usr/local/logstash-7.12.0/bin
    vim logstash-elasticsearch.conf
    input {
    stdin {}
    }
    output {
    elasticsearch {
    hosts => '120.78.129.95:9200'
    }
    stdout {
    codec => rubydebug
    }
    }

    3.启动

    ./logstash -f logstash-elasticsearch.conf
    
    Kibana安装

    1.到官网下载: (https://www.elastic.co/cn/downloads/kibana (opens new window))

    2.解压到相应目录

    tar -zxvf kibana-7.12.0-linux-x86_64.tar.gz -C /usr/local
    mv /usr/local/kibana-7.12.0-linux-x86_64 /usr/local/kibana-7.12.0

    3.修改配置

    cd /usr/local/kibana-7.12.0/config
    vim kibana.yml
    server.port: 5601 
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://127.0.0.1:9500"]
    kibana.index: ".kibana"
    i18n.locale: "zh-CN"

    4.授权es用户

    chown -R es:es /usr/local/kibana-7.12.0/
    

    5.启动,切换用户成es用户进行操作

    su - es
    /usr/local/kibana-7.12.0/bin/kibana &
    1. 在浏览器打开5601端口地址:

日志收集
  1. 对应服务器安装logstash,配置规则,例如新建logstash-apache.conf

    [root@localhost config]# cd /usr/local/logstash-7.12.0/bin
    [root@localhost bin]# vim logstash-apache.conf
    input {
    file {
      path => "/web/ieom/backend/start/logs/ieom-system/*.log"
    start_position => beginning
    sincedb_path => "/dev/null"
    codec => multiline {
        pattern => "^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}"
        negate => true
        auto_flush_interval => 3
        what => previous
      }
    }
    }

    filter {
    if [path] =~ "info" {
      mutate { replace => { type => "sys-info" } }
      grok {
        match => { "message" => "%{COMBINEDAPACHELOG}" }
      }
      date {
        match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
      }
    } else if [path] =~ "error" {
      mutate { replace => { type => "sys-error" } }
    } else {
      mutate { replace => { type => "random_logs" } }
    }
    }

    output {
    elasticsearch {
      hosts => '127.0.0.1:9500'
    }
    stdout { codec => rubydebug }
    }

    2.启动

    ./logstash -f logstash-apache.conf
    

    停止启动方法:

    [es@localhost ~]$ ps -ef|grep kibana
    es       10079     1 1 14:43 ?       00:00:36 /usr/local/kibana-7.12.0/bin/../node/bin/node /usr/local/kibana-7.12.0/bin/../src/cli/dist
    es       83267 76297 0 15:24 pts/3   00:00:00 grep --color=auto kibana
    [es@localhost ~]$
    [es@localhost ~]$ kill -9 10079
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值