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>
 
相关推荐
heimeiyingwang11 小时前
【架构实战】日志体系ELK:集中化日志管理实践
elk·架构·wpf
米高梅狮子12 小时前
01.ELK企业日志分析系统
运维·服务器·网络·数据库·elk·oracle
叶~小兮2 天前
ELK技术栈全套学习笔记(Elasticsearch+Logstash+Filebeat)
笔记·学习·elk
Cat_Rocky2 天前
k8s-elk日志分析组件学习
学习·elk
RemainderTime3 天前
(十二)Spring Cloud Alibaba 2023.x:基于 Filebeat 构建轻量级 ELK日志追踪体系
分布式·elk·elasticsearch·微服务·架构·logback
明明跟你说过6 天前
Kafka 与 Elasticsearch 的集成应用案例深度解析
大数据·elk·elasticsearch·kafka·big data·bigdata
浓黑的daidai6 天前
day-02
linux·运维·elk
shizhan_cloud8 天前
企业级 ELK 日志分析系统
elk
卧室小白13 天前
ELK+Kafka实战
分布式·elk·kafka
heimeiyingwang14 天前
【架构实战】设计一个日志分析平台(ELK架构)
elk·架构·linq