Linux 搭建ELK日志收集系统

在搭建ELK之前,首先要安装Redis和JDK,安装Redis请参考上一篇文章

首先安装JDK及配置环境变量

1.解压安装包到/usr/local/java目录下[[email protected]_0_9_centos ~]# tar xvf /ryt/soft/jdk-11.0.3_linux-x64_bin.tar.gz -C /usr/local/java/
2.配置环境变量(在尾部追加内容如下)[[email protected]_0_9_centos ~]# vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk-11.0.3export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH

3.重启配置文件,使其立即生效

[[email protected]_0_9_centos ~]# source /etc/profile

ELK搭建详细过程

安装程序:filebeat,elasticsearch,logstash,kibana

1.安装Elasticsearch

1)解压安装包到路径/usr/local/elk下
[[email protected]_0_9_centos ~]# tar -zxvf /ryt/soft/elk/elasticsearch-7.2.0-linux-x86_64.tar.gz -C /usr/local/elk/
2.创建用户并赋权

 [[email protected]_0_9_centos elk]# useradd es_user

 [[email protected]_0_9_centos elk]# groupadd esgroup

[[email protected]_0_9_centos elk]# chown -R es_user:esgroup /usr/local/elk/elasticsearch-7.2.0/
3)修改ES配置文件:
[[email protected]_0_9_centos elk]# vim /usr/local/elk/elasticsearch-7.2.0/config/elasticsearch.yml
#这里指定的是集群名称,需要修改为对应的,开启了自发现功能后,ES会按照此集群名称进行集群发现
cluster.name: elk-applicationnode.name: node-1
#目录需要手动创建
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs

#ES监听地址
network.host: 0.0.0.0   #允许外网个访问
http.port: 9200

discovery.seed_hosts: ["172.17.0.9"] #内网ip
  cluster.initial_master_nodes: ["node-1"]



4)修改系统参数
#添加参数、m.max_map_count=655360
注:ES启动的时候回占用特别大的资源所以需要修改下系统参数,若不修改资源启动会异常退出[[email protected]_0_9_centos elk]# vim /etc/sysctl.conf5)重新载入配置[[email protected]_0_9_centos elk]# sysctl -p /etc/sysctl.conf

6)修改资源参数[[email protected]_0_9_centos elk]# vim /etc/security/limits.conf

修改内容* soft nofile 65536* hard nofile 131072* soft nproc  65536* hard nproc  131072

7)设置用户资源参数

 [[email protected]_0_9_centos elk]# vim /etc/security/limits.d/20-nproc.conf

#添加

  es_user    soft    nproc     65536

8)创建数据和日志目录并修改目录权限[[email protected]_0_9_centos elk]# mkdir -pv /usr/local/elk/{data,logs}[[email protected]_0_9_centos elk]# chown -R es_user:esgroup /data/elasticsearch/[[email protected]_0_9_centos elk]# chown -R es_user:esgroup /usr/local/elk/elasticsearch-7.2.0
9)切换用户并后台启动ES[[email protected]_0_9_centos elk]# su es_user[[email protected]_0_9_centos elk]$ /usr/local/elk/elasticsearch-7.2.0/bin/elasticsearch &

2.安装logstash

1.解压安装包并移到/usr/local/elk目录下[[email protected]_0_9_centos filebeat-7.2.0]# tar -zvxf /ryt/soft/elk/logstash-7.2.0.tar.gz -C /usr/local/elk/2.创建软连接[[email protected]_0_9_centos elk]# ln -s /usr/local/elk/logstash-7.2.0 /usr/local/elk/logstash

注:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error=‘Not enough space‘ (errno=12)[[email protected]_0_9_centos elk]# vim ./elasticsearch-7.2.0/config/jvm.options

3.安装filebeat

1)解压安装包到路径/usr/local/elk下
[[email protected]_0_9_centos elk]# tar xvf filebeat-7.2.0-linux-x86_64.tar.gz -C /usr/local/elk/

2)修改配置文件,使filebeat获取的日志进入redis:  注:此处演示获取spring cloud框架中eureka日志,其他程序日志都可相同方法获取

[[email protected]_0_9_centos filebeat-7.2.0]# 
  [[email protected]_0_9_centos filebeat-7.2.0]# pwd
   /usr/local/elk/filebeat-7.2.0
  [[email protected]_0_9_centos filebeat-7.2.0]# vim ./filebeat.yml

 #修改的内容有一家几个字段
 enabled:true
 paths:程序日志路径

 #output只能有一个 output.logstash:   hosts:["服务器IP:5044"]
 #output.redis:
 #  hosts:127.0.0.1    #redis所在服务器IP
 #  port:6379          #redis端口
 #  key:"filebeat-log" #redis中的key
3)设置开机启动修改配置rc.local,后面追加 /usr/local/elk/filebeat-7.2.0/filebeat > /tmp/filebeat.log 2>&1
[[email protected]_0_9_centos filebeat-7.2.0]# vim /etc/rc.local

4)后台启动filebeat[[email protected]_0_9_centos filebeat-7.2.0]# /usr/local/elk/filebeat-7.2.0/filebeat &

  5)查看启动,filebeat有没有监听端口,主要看日志和进程

[[email protected]_0_9_centos filebeat-7.2.0]# ps -ef | grep filebeat

[[email protected]_0_9_centos filebeat-7.2.0]# tailf logs/filebeat

  

4.启动logstash

测试一下logstash不指定配置文件启动
[[email protected]_0_9_centos config]# /usr/local/elk/logstash/bin/logstash -e ‘input { stdin { } } output { stdout {} }‘注:手动输入 hello world,它也会输出 hello world

5.安装kibana

1)解压安装包到路径/usr/local/elk下
[[email protected]_0_9_centos ~]# tar -zxvf /ryt/soft/elk/kibana-7.2.0-linux-x86_64.tar.gz -C /usr/local/elk/

2)编辑kibana配置文件[[email protected]_0_9_centos ~]# vim /usr/local/elk/kibana-7.2.0/config/kibana.yml

server.port: 5601

server.host: "0.0.0.0"

elasticsearch.hosts: ["http://49.234.206.139:9200"]

3)后台启动kibana[[email protected]_0_9_centos ~]# /usr/local/elk/kibana-7.2.0/bin/kibana --allow-root &

原文地址:https://www.cnblogs.com/renyutao/p/11253587.html

时间: 2024-10-11 21:06:28

Linux 搭建ELK日志收集系统的相关文章

结合Docker快速搭建ELK日志收集分析平台

结合Docker快速搭建ELK日志收集分析平台 2017-03-27 09:39 阅读 172 评论 0 作者:马哥Linux运维-Eason ELK Stack ELK (Elasticsearch + Logstash + Kibana),是一个开源的日志收集平台,用于收集各种客户端日志文件在同一个平台上面做数据分析. Introduction Elasticsearch, 基于json分析搜索引擎Logstash, 动态数据收集管道Kibana, 可视化视图将elasticsearh所收集

用ElasticSearch,LogStash,Kibana搭建实时日志收集系统

用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana负责查询elasticsearch并在web中展示. logstash收集进程收获日志文件内容后,先输出到redis中缓存,还有一logstash处理进程从redis中读出并转存到elasticsearch中,以解决读快写慢速度不一致问题. 官方在线文档:https://www.elastic.co

elk架构-搭建一个日志收集系统

一.日志收集端 1.nginx:nginx-1.16.1.tar.gz 为了kibana收集nginx日志获取字段,先将日志转化为json格式.格式样式如下: log_format access_json '{"@timestamp":"$time_iso8601",' '"host":"$server_addr",' '"clientip":"$remote_addr",' '&quo

centos 7搭建ELK日志分析系统

一.ELK的组成 ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成,其官方网站为https://www.elastic.co/cn Elasticsearch:是个开源分布实时分析搜索引擎,建立在全文搜索引擎库Apache Lucens基础上,同时隐藏了Apache Luces的复杂性.Elasticsearch将所有的功能打包成一个独立的服务,并提供了一个简单的RESTful API接口,它具有分布式.零配置.自动发现.索引自动分片.索引副本机制.RESTf

Ubuntu14.04搭建ELK日志分析系统

系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误.日志的作用不言而喻,但对于数量庞大且分布在多台机器上的日志,查看就显得特别麻烦了.所以,对于运维人员来说,使用日志分析系统是非常有必要的. 开源实时日志分析ELK平台能够实现日志的监控与分析,ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成.官方网站:https://www.elastic.co/pr

快速搭建ELK日志分析系统

一.ELK搭建篇 官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html 安装指南:https://www.elastic.co/guide/en/elasticsearch/reference/5.x/rpm.html ELK是Elasticsearch.Logstash.Kibana的简称,这三者是核心套件,但并非全部. Elas

centos 7.3搭建ELK日志分析系统详解

一.前言: 日志分析是我们运维解决系统故障.发现问题的主要手段.为了可以集中管理多台服务器的日志记录,开源实时日志分析ELK平台应用而生,ELK由Elasticsearch.Logstash和Kibana三个开源工具组成,这三个工具可以分别部署在不同的服务器上,并且相互关联,不过需要收集哪台服务器的日志,就必须在该服务器上部署Logstash.ELK的官网是:Elastic官网 ELK的工作原理如下(懂得其中原理,才可部署一个高可用的ELK平台):Logstash收集APPServer(应用服务

ELK日志收集系统搭建

 架构图 ELK  架构图:其中es 是集群,logstash 是单节点(猜想除非使用nginx对log4j的网络输出分发),kibana是单机(用不着做成集群). 1.拓扑图 2.logstash 收集日志示意图.   3.带有redis的流程图.  ELK部署 1.三种组件下载地址:https://www.elastic.co/downloads 当然所有的资料都已经有中文翻译,去这里吧. http://kibana.logstash.es/content/kibana/v3/configu

elasticsearch + logstash + kibana 搭建实时日志收集系统【原创】

实时日志统一收集的好处: 1.快速定位集群中问题机器 2.无需下载整个日志文件(往往比较大,下载耗时多) 3.可以对日志进行统计 a.发现出现次数最多的异常,进行调优处理 b.统计爬虫ip c.统计用户行为,做聚类分析等 基于上面的需求,我采用了 ELK(elasticsearch + logstash + kibana)的方案,安装方法请到他们的官网:https://www.elastic.co/ 上面查询,这里我主要讲讲我遇到的问题. ??????1.LVS 分发UDP请求不成功的问题???