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>
 
相关推荐
认真的薛薛2 天前
2-监控:elk采集各种日志并出图
前端·chrome·elk
认真的薛薛3 天前
1-监控:elk部署与概念
elk
Sleep`6 天前
基于Suricata与ELK的网络流量检测
elk·数据可视化·suricata·流量
张小凡vip7 天前
从ELK到EFK日志管理架构的演进与实战部署
elk·架构·efk
叱咤少帅(少帅)12 天前
基于ELK 收集K8S的日志
elk·容器·kubernetes
一叶飘零_sweeeet16 天前
ELK 搭建实战:从 0 到 1 打通日志收集、分析与可视化
elk·kibana·es·logstash
黑棠会长16 天前
ELK 安全可观测系列开篇:把日志做成“防弹衣”的一部分
安全·elk·架构
程序员泠零澪回家种桔子21 天前
微服务日志治理:ELK 栈实战指南
后端·elk·微服务·云原生·架构
虫小宝22 天前
淘宝返利软件的日志审计系统:Java Logback+ELK Stack实现操作日志的可追溯与可视化分析
java·elk·logback