ELK日志收集平台搭建

安装包下载

es:

https://www.elastic.co/es/downloads/past-releases/elasticsearch-7-17-0

kibana:

https://www.elastic.co/es/downloads/past-releases/kibana-7-17-0

logstash:

https://www.elastic.co/es/downloads/past-releases/logstash-7-17-0

windows

选择对应的操作系统下载安装包,解压。

es安装启动

不做任何配置也可以正常启动,试玩

在cmd中,切换到es安装目录 bin/elasticsearch.bat

kibana安装启动

配置文件修改

在kibana的解压目录下,找到config/kibana.yml配置文件,只需要修改2个地方:

elasticsearch.hosts:"xxxx.xxxx.xxx.xxxx:port" --- 指定你的es的地址

i18.local:"zh-CN" ---指定中文界面

启动

cmd切换到对应目录:./bin/kibana.bat 启动即可

logstash安装

配置文件修改

在logstash的解压目录下,新增配置文件logstash.conf,配置内容如下:

input {

tcp {

mode => "server"

host => "0.0.0.0"

port => 5044

codec => json_lines

}

}

output {

elasticsearch {

hosts => "xxx.xxxx.xxxx.xxxx:port"

index => "logstash-xxx"

}

}

注意:该配置文件和bin文件在同一个目录

启动

cmd切换到logstash的目录 ./bin/logstash.bat -f logstash.conf

linux

1 创建对应的目录:

java 复制代码
mkdir -p /opt/elk/es

mkdir -p /opt/elk/kibana

mkdir -p /opt/elk/logstash

2 上传下载的压缩包到对应的目录

3 es安装

由于es在linux上不能用root用户执行,创建对应的用户和授权

Go 复制代码
 groupadd elk-test 
 useradd elk-test -g elk-test -p 123456 
 chown -R elk-test:elk-test /opt/elk/es/elasticsearch-7.17.0
 su elk-test   ---切换用户
 

配置文件修改

执行命令:vi /opt/elk/es/elasticsearch-7.17.0/config/elasticsearch.yml在末尾添加配置如下:

bash 复制代码
# 指定节点名称,每个节点名字唯一
node.name: es-node-1
# 绑定ip,开启远程访问,可以配置0.0.0.0
network.host: 0.0.0.0
# elasticsearch服务端口,可更改,默认就是9200
http.port: 9200
# 数据目录路径
path.data: /opt/elk/es/elasticsearch-7.17.0/data/
# 日志文件路径
path.logs: /opt/elk/es/elasticsearch-7.17.0/logs/
# 解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

启动:

bash 复制代码
# 显示进程启动,可以查看启动是否异常
./bin/elasticsearch  
# 没问题后-后台启动
./bin/elasticsearch -d

如果出现报错,需要调整vm.max_map_count的数据就到对应的地方调整重启即可

kibana安装

配置文件修改

修改配置文件,增加如下3个配置

bash 复制代码
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
i18n.locale: "zh-CN"

其中server.host:"0.0.0.0"表示可以在其他机器上访问

启动

./bin/kibana

应用日志接入

此时,只需要在logback.xml中增加对应的logstash配置即可把日志传递到logstash,再然后到es,最后在kibana中展示了

一下是一段logback.xml的配置示例

XML 复制代码
 <!-- 直接发送日志到Logstash (TCP方式) -->
    <appender name="LOGSTASH_TCP" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <!-- 替换为实际的Logstash服务器地址和端口 -->
        <destination>xxxx.xxxx.xxxx.xxxx:port</destination>
        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <providers>
                <timestamp>
                    <timeZone>Asia/Shanghai</timeZone>
                </timestamp>
                <pattern>
                    <pattern>
                        {
                        "severity": "%level",
                        "service": "agent-test",
                        "pid": "${PID:-}",
                        "thread": "%thread",
                        "class": "%logger{40}",
                        "message": "%message"
                        }
                    </pattern>
                </pattern>
            </providers>
        </encoder>
    </appender>
 
相关推荐
g10565591394 天前
ELK企业日志分析系统
elk
梅菲塔亚7 天前
ELK企业日志分析系统实战部署
elk
逐流人8 天前
ELK企业级日志分析系统:从零搭建集中化日志平台
运维·elk·云原生·云计算·日志分析
你看我名字9 天前
ELK 日志分析平台:Filebeat、Logstash、Elasticsearch 与 Kibana 实战
大数据·elk·elasticsearch
SelectDB技术团队10 天前
云数仓成本结构拆解:五层计费模型与 Apache Doris 托管形态对照
大数据·数据库·elk·全文检索·snowflake
.冰块.12 天前
ELK 日志分析系统实验:部署 Elasticsearch 双节点集群实现 Apache 日志采集与 Kibana 可视化
elk·elasticsearch·apache·日志
AscendKing13 天前
可观测性选型:ELK vs SkyWalking,到底哪个更重?是二选一,还是两者一起部署?
elk·skywalking·apm·可观测
March.s14 天前
构建企业级 ELK 日志分析系统:从核心原理到集群化部署实战
elk
fengkai454514 天前
十四、ELK 企业日志分析系统
运维·elk·日志
Thomas.Sir14 天前
第28课:统一日志收集、ELK搭建 & 线上问题排查体系
elk·spring cloud