ELK日志收集系统搭建

一、什么是ELK

        ELK=Elasticsearch+Logstash+Kibana

        E:数据的存储和搜索、L:日志数据的过滤和收集、K:web方式的前端展现。

        ElasticSearch(简称ES),是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结                        构化搜索以及分析。

        Logstash,是一个数据收集引擎,主要用于进行数据收集、解析,并将数据发送给ES。支持的数据源包括本地文件、ElasticSearch、MySQL、Kafka等等。

        Kibana,为 Elasticsearch 提供了分析和 Web 可视化界面,并生成各种维度表格、图形。

二、ELk搭建

        环境依赖:CentOS7.5,JDK11,ElasticSearch7.9.3,Logstash 7.9.3,Kibana7.9.3。

        es7后需要jdk11

        2.1 安装ElasticSearch,选择要下载产品

        网址:https://www.elastic.co/cn/downloads/past-releases

        

        下载后,解压tar -zxvf命令解压。tar -zxvf elasticsearch-7.9.3-linux-x86_64.tar.gz,找到                               

        config目录下的elasticsearch.yml,修改配置如下:

cluster.name: es-application
node.name: node-1
#对所有IP开放
network.host: 0.0.0.0
#HTTP端口号
http.port: 9200
#elasticsearch数据文件存放目录
path.data: /usr/elasticsearch-7.9.3/data
#elasticsearch日志文件存放目录
path.logs: /usr/elasticsearch-7.9.3/logs
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]单节点或者多个节点

配置完之后,因为ElasticSearch使用非root用户启动,所以创建一个用户。

# 创建用户
useradd esroot
# 设置密码
passwd 12345678
# 赋予用户权限
chown -R esroot:esroot /usr/local/elasticsearch-7.9.3/

然后进入ElasticSearch,安装目录bin下,切换用户,su esroot,启动ElasticSearch,d表示后台启动

./elasticsearch -d

        启动es前,需要设置/etc/sysctl.conf,vm.max_map_count = 655360的最大值,否则会提示 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

使用命令netstat -nltp查看端口号:

访问http://116.62.200.41:9200/可以看到如下信息,表示安装成功。

 

 2.2 安装Logstash,首先在官网下载安装包

然后解压,找到/config目录下的logstash-sample.conf文件,复制一份命名为my-logstash.conf修改配置:

input {
  file {
    #收集日志路径
    path => "/usr/local/logstash-7.9.3/*.log"
    #文件
    start_position => "beginning"
    #服务名称
    type =>"application-webui-log"
  }
}

output {
  elasticsearch {
    hosts => ["http://116.62.200.41:9200"]
    index => "springboot-test-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

input表示输入源,output表示输出,还可以配置filter过滤,结构如下:

input {
    file {
        #监听文件的路径
        path => ["/usr/local/logstash-7.9.3/data/*","F:/test.txt"]
        #排除不想监听的文件
        exclude => "1.log"
        
        #添加自定义的字段
        add_field => {"test"=>"test"}
        #增加标签
        tags => "tag1"

        #设置新事件的标志
        delimiter => "\n"

        #设置多长时间扫描目录,发现新文件
        discover_interval => 15
        #设置多长时间检测文件是否修改
        stat_interval => 1

         #监听文件的起始位置,默认是end
        start_position => beginning

        #监听文件读取信息记录的位置
        sincedb_path => "/usr/local/logstash-7.9.3/test.txt"
        #设置多长时间会写入读取的位置信息
        sincedb_write_interval => 15
        
    }
}
filter {
    
}
output {
    stdout {}
}

        2.3 安装Kibana,还是到官网下载压缩包

         

然后解压,找到/config目录下的kibana.yml文件,修改配置:

server.port: 5601
server.host: "192.168.0.111"
elasticsearch.hosts: ["http://116.62.200.41:9200"]

和elasticSearch一样,不能使用root用户启动,需要创建一个用户:

# 创建用户
useradd kibana
# 设置密码
passwd kibana
# 赋予用户权限
chown -R kibana:kibana /usr/local/kibana-7.9.3-linux-x86_64/

然后使用命令启动:

#切换用户
su kibana
#非后台启动,关闭shell窗口即退出
./bin/kibana
#后台启动
nohup ./bin/kibana &

 kibana启动时报错“No Living Connections

                        启动后在浏览器打开http://116.62.200.41:5601,可以看到kibana的web交互界面:

点击“Index Management”可以看到,有一个springboot-test-2022.08.18的索引。

 点击Index Patterns菜单栏,然后创建,命名为springboot-*-*。

 

 然后,就可以到Discover栏进行选择,根据springboot-*-*的Index Pattern,然后搜索关键字,就找到相关的日志了!

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值