elk日志系统

框架

简介

作用

Elasticsearch开源分布式搜索引擎,提供存储、分析、搜索功能。特点:分布式、基于reasful风格、支持海量高并发的准实时搜索场景、稳定、可靠、快速、使用方便等。接收搜集的海量结构化日志数据,并提供给kibana查询分析
Kibana开源日志报表系统,对elasticsearch以及logstash有良好的web页面支持对elasticsearch提供的数据进行分析展示
Logstash开源日志搜集、分析、过滤框架,支持多种数据输入输出方式。用于收集日志,对日志进行过滤形成结构化数据,并转发到elasticsearch中

ELK经典应用如下

由于Logstash消耗资源大,而服务器资源相当宝贵,所以引进另一个轻量级日志采集框架Beats

 传统web项目中,经常使用log4j以及logback(性能更高)等成熟日志插件进行日志的记录

日志采集新增Logback直接发送日志到Logstash的形式。如果采用此方式,web服务可减少部分生成log文件配置,提高实时性和日志推送效率

 

高并发场景

由于logstash消耗性能,所以高并发场景容易遇到流量上的瓶颈,及时使用logstash集群也是如此,所以可以添加中间件进行日志缓存处理。由于logstash数据源具有多种方式,所有中间件也可以很多选择,常见的有kafka,redis 

  1. logback出现的业务数据可以通过写入redis或者kafka等中间件进行缓存,再通过合理限制流量阀值输送至logstash进行过滤

  2. beats 如果是filebeat其日志若无实时性要求,可以通过控制log文件更新速度限制Beats传输日志流量

一. Elasticsearch

 Elasticsearch不能使用root用户来启动,必须使用普通用户来安装启动 【可修改配置允许root操作 -不建议】

# 使用root用户在服务器执行以下命令

1.创建 elasticsearch 用户组
 groupadd elasticsearch

2.创建用户 aaa并设置密码
 useradd aaa
 passwd aaa

输入密码

3.创建目录

mkdir /opt/soft/elasticsearch

4.修改文件所属人

usermod ‐G elasticsearch aaa

chown  -R  aaa   /opt/soft/elasticsearch/elasticsearch‐111111

5.设置sudo权限
#为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的
操作

visudo

#在root ALL=(ALL) ALL 一行下面添加

aaaa   ALL=(ALL) ALL

su  aaaa   

6.解压

tar ‐zvxf elasticsearch‐111111‐linux‐x86_64.tar.gz ‐C /opt/soft/elasticsearch/

7.修改elasticsearch.yml

cd /opt/soft/elasticsearch/elasticsearch‐111111/config

mkdir /opt/soft/elasticsearch/elasticsearch‐111111/log

mkdir /opt/soft/elasticsearch/elasticsearch‐111111/data

vim elasticsearch.yml

cluster.name: aaa‐es
node.name: node1
path.data: /opt/soft/elasticsearch/elasticsearch‐111111/data
path.logs: /opt/soft/elasticsearch/elasticsearch‐111111/log
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["服务器IP"]
cluster.initial_master_nodes: ["节点名"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true  是否支持跨域,默认为false
http.cors.allow‐origin: "*"当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/

vim jvm.options
‐Xms2g
‐Xmx2g

问题错误信息描述:
max file descriptors [4096] for elasticsearch process likely too low,
increase to at least [65536]
ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除
linux系统当中打开文件最大数目的限制,不然ES启动就会抛错

sudo vi /etc/security/limits.conf
添加如下内容: 注意*不要去掉了

* soft nofile 65536
 * hard nofile 131072
* soft nproc 2048
* hard nproc 4096

修改系统配置文件

vi /etc/sysctl.conf

行末加上vm.max_map_count = 655360

保存后,执行:sysctl ‐p

启动 

cd /opt/soft/elasticsearch/elasticsearch‐111111/bin

切换为 csindex用户

nohup /opt/soft/elasticsearch/elasticsearch‐7.6.1/bin/elasticsearch 2>&1 &

验证

浏览器 ip+端口   100.10.0.60:9200

二、客户端Kibana

tar -zxvf kibana-X.X.X-linux-x86_64.tar.gz  -C  /opt/soft/elasticsearch

进入  /opt/soft/elasticsearch/kibana-X.X.X-linux-x86_64/config目录

vi kibana.yml

server.port: 5601

server.host: 0.0.0.0

elasticsearch.hosts: ["http://IP:9200"] #这里是elasticsearch的访问地址

server.publicBaseUrl: "http://100.10.10.60:5601"  外部访问kibana的地址

启动Kibana

nohup /opt/soft/elasticsearch/kibana-X.X.X-linux-x86_64/bin/kibana  2>&1 &

访问Kibana

http://ip:5601

左边 discover 查看

三.Logstash

tar -zxvf logstash-X.X.X-linux-x86_64.tar.gz  -C  /opt/soft/elasticsearch

vi /opt/soft/elasticsearch/logstash-x.x.x/config/logback-es.conf

input {
    tcp {
        port => 9601
        codec => json_lines
    }

   file{

        path => "/tmp/*_log"

        start_position => "beginning"                

   }

beats {
    port => 5044   #要监听的端口
}


}

filter {

mutate { rename => { "[host][name]" => "host" } }##数据处理

output {##output 数据输出配置
    elasticsearch {##使用elasticsearch接收
        hosts => "localhost:9200"##集群地址 多个用,隔开
    }
}
 

启动

 /opt/soft/elasticsearch/logstash-x.x.x/bin/logstash -f   /opt/soft/elasticsearch/logstash-x.x.x/config/logback-es.conf  2>&1 &

filebeat

tar -zxvf  filebeat-xx.x-linux-x86_64.tar.gz

进入到config目录下  修改filebeat.yml

type: filestream 下的

enabled: false   改为true

paths: 下面的路径改为  日志路径  前面的 -  不要删掉

output.logstash: 下的

host:["1.10.1.0:5044"] 地址改为 logstash 安装机器的 地址

启动

nohup /opt/soft/filebeat-7.15/filebeat -e -c filebeat.yml 2>&1 &

错误参考

Filebeat自动关闭问题解决_Joseph9499的博客-CSDN博客_filebeat 自动关闭 

参考:

ELK日志系统浅析与部署_Mars-CSDN博客_elk日志系统

快速搭建ELK日志分析系统 - 四六之间 - 博客园

搭建ELK日志分析系统_菲宇运维-CSDN博客_elk日志分析系统

logstash配置文件详解 - 旺仔小码头 - 博客园

 Kibana详细入门教程 - 四海骄阳 - 博客园

从Filebeat到Logstash再到Elasticsearch,如何搭建ELK 日志平台_alva_xu的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值