ELK日志平台系统搭建

本文提供了在Linux服务器上安装和配置ELK栈(Elasticsearch、Kibana、Logstash和Filebeat)的详细步骤,包括设置JDK路径、调整内存分配、配置安全认证、开放端口以及启动服务。同时,还介绍了如何将日志数据接入Logstash并通过Filebeat发送到Elasticsearch,以及项目中引入Logstash的配置方法。
摘要由CSDN通过智能技术生成
ELK官网下载地址
  1. 从ELK官网:https://www.elastic.co/cn 下载对应版本的linux包

elasticsearch配置与启动
  1. 上传到linux服务器后解压

tar -zxvf elasticsearch-7.17.9-linux-x86_64.tar.gz
  1. 配置elasticsearch环境,在elasticsearch.yml里

cluster.name: my-application
node.name: node-1
path.data: /usr/local/elk/elasticsearch/data #没有的话创建
path.logs: /usr/local/elk/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
discovery.seed_hosts: ["172.16.116.9"]
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
  1. 配置账号密码

#elasticsearch.yml下添加如下
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
#bin目录下执行,按照步骤修改密码
./elasticsearch-setup-passwords interactive
  1. 创建es用户,并授权elasticsearch目录

adduser es
passwd es #设置密码英文加数字
chown -R es:es elasticsearch目录
chmod 770 elasticsearch目录
#删除用户
userdel -r es
  1. 配置elasticsearch的jdk路径ES_JAVAHOME

vim /etc/profile
export ES_JAVA_HOME=/usr/local/elk/elasticsearch/jdk
export PATH=$PATH:$ES_JAVA_HOME/bin
export CLASSPATH=.:$ES_JAVA_HOME/lib/dt.jar:$ES_JAVA_HOME/lib/tools.jar
#使其生效
source /etc/profile
  1. 设置elasticsearch的config目录下的jvm.options下的某项配置

-Xms252m
-Xmx252m
  1. 启动elasticsearch

#切换到es目录
su es
#进入bin目录
./elasticsearch
#或者后台启动
nohup ./elasticsearch > /dev/null 2>&1 &
  1. 测试elasticsearch是否运行成功

curl http://localhost9200
  1. 阿里云安全组规则或者服务器都要开放9200端口

iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
iptables-save
  1. window启动测试端口是否可以访问

#打开cmd命令工具
telnet 服务器公网ip 9200
  1. 查询服务器的公网ip地址

curl http://ifconfig.io
kibana配置及启动
  1. 解压后配置kibana.yml环境

server.port: 5601
server.host: 0.0.0.0
elasticsearch.hosts: ["http://172.16.116.9:9200"]
xpack.monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: "elastic"
elasticsearch.password: "admin123"
i18n.locale: "zh-CN"
  1. 需要添加到es用户

adduser es
passwd es #设置密码英文加数字
chown -R es:es elasticsearch目录
chmod 770 elasticsearch目录
  1. 启动

#切换到es目录
su es
#进入bin目录
./kibana
#或者后台启动
nohup ./kibana > /dev/null 2>&1 &
  1. 测试是否启动成功

ps -ef|grep kibana
#开放端口及阿里云安全组规则里添加
iptables -I INPUT -p tcp --dport 5601 -j ACCEPT
iptables-save
#window cmd
telnet ip 5601 #连通则成功
  1. 重启

ps -ef|grep kibana(或者5601)
#上面命令显示除pid.
kill -9 pid
#杀死后重新运行
#或者查找pid
 fuser -n tcp 5601
logstash配置及启动
  1. 解压后配置文件

#在config目录下的logstash-sample.conf文件配置
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
  beats {
    port => 5044
    codec => "json"
  }
  tcp {
      port => 4560
      codec => json_lines
  }
}

output {
  stdout {
      codec => rubydebug
  }
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "elk-search-%{+YYYY.MM.dd}"
    user => "elastic"
    password => "admin123"
  }
}
  1. 配置logstash的jdk目录

vim /etc/profile
export LS_JAVA_HOME=/usr/local/elk/logstash/jdk
export PATH=$PATH:$LS_JAVA_HOME/bin
export CLASSPATH=.:$LS_JAVA_HOME/lib/dt.jar:$LS_JAVA_HOME/lib/tools.jar
#使其生效
source /etc/profile
  1. 和elasticsearch一样要其config/jvm.options文件里修改属性值

-Xms252m
-Xmx252m
  1. 启动的时候不需要进入es用户

#进入bin目录
./logstash
#或者后台启动
nohup ./logstash -f ../config/logstash-sample.conf > /dev/null 2>&1 &
  1. 查看启动是否成功

ps -ef|grep logstash #出现2行才算成功
#开放端口及阿里云安全组规则里添加
iptables -I INPUT -p tcp --dport 4560 -j ACCEPT
iptables-save
iptables -I INPUT -p tcp --dport 5044 -j ACCEPT
iptables-save
#window cmd
telnet ip 5044 
filebeat配置及启动
  1. 在filebeat.yml里配置

output.elasticsearch:
  # Array of hosts to connect to.
  #hosts: ["localhost:9200"]
  hosts: ["localhost:5044"]
  1. 启动

在根目录下
./filebeat
#或者后台启动
nohup ./filebeat > /dev/null 2>&1 &
  1. 查看启动是否成功

ps -ef|grep logstash #出现2行才算成功
上面配置完成后,在window浏览器访问http://公网ip:5601访问
项目引入logstash
  1. 项目里添加相关配置

#加入依赖
  <dependency>
                <groupId>net.logstash.logback</groupId>
                <artifactId>logstash-logback-encoder</artifactId>
                <version>6.6</version>
            </dependency>
#logback.xml里加入配置
<!--    logstash访问日志输出-->
    <appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>localhost:4560</destination>
        <encoder charset="utf-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
    </appender>
    <root level="info">
        <appender-ref ref="STASH"/>
    </root>
  1. 创建索引

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞流银河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值