ELK-部署

ELK部署步骤:

1、ELK组件介绍:

 

 

Logstash :开源的服务器端数据处理管道,能够同时从多个来源采集数据、转换数据,然后将数据存储到数据库中,基于Java

 

 

Elasticsearch:搜索、分析和存储数据,基于Java。
Kibana:提供数据可视化Web界面,可以汇总、分析和搜索重要数据日志,基于nodeJs.
Beats :轻量型采集器的平台,从边缘机器向 Logstash 和 Elasticsearch 发送数据。包含: Packetbeat, Metricbeat, Winlogbeat, Filebeat.
Filebeat: 轻量型日志采集器,用于监控、收集服务器日志文件,其已取代 logstash forwarder,基于go语言开发。

官网:
https://www.elastic.co/cn

Kafka:一种高吞吐量的分布式发布订阅消息系统

2、日志系统架构

2.1、核心组件:

2.2、详细架构

 

 

 

 

 

elasticsearch-head:是一个为ES开发的一个页面客户端工具。

cmak:kafka的Web管理工具

zookeeper:分布式应用程序协调服务

zkui:zk的客户端工具

3、安装部署

3.1、Filebeat部署

3.1.1、下载软件包

复制代码
# 1、下载软件包
mkdir ~/software
cd ~/software
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.16.2-linux-x86_64.tar.gz

# 解压压缩包,创建软连接
tar -xvf filebeat-7.16.2-linux-x86_64.tar.gz -C ~/

ln -s filebeat-7.16.2-linux-x86_64 filebeat
复制代码

 

3.1.2、修改配置文件

复制代码
# 修改配置文件
vim filebeat.yml
filebeat.inputs:
- type: log enabled: true paths: - /home/5grmt/app/opt/logs/busi/send-info.log fields: logsource: 5grmt-aicas-send-prod parsers: - multiline: type: pattern pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} negate: true match: after max_lines: 100 - type: log enabled: true paths: - /home/5grmt/app-task/opt/logs/busi/send-tob-info.log fields: logsource: 5grmt-aicas-send-tob-prod parsers: - multiline: type: pattern pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} negate: true match: after max_lines: 100 filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.template.settings: index.number_of_shards: 1 setup.kibana: output.kafka: enabled: true hosts: ["10.180.5.204:9092","10.180.5.205:9092","10.180.5.206:9092"] topic: "%{[fields.logsource]}" processors: - add_host_metadata: when.not.contains.tags: forwarded - add_cloud_metadata: ~ - add_docker_metadata: ~ - add_kubernetes_metadata: ~
复制代码

 

3.1.3、启停命令

# 1、启动命令
cd  /home/5grmt/filebeat/
nohup  ./filebeat -c  filebeat.yml &
    
# 2、停止命令
ps –ef | grep filebeat   #获得进程ID,如123
kill -15 123                 #一般情况勿用kill -9 暴力关闭

3.2、Logstash安装部署

复制代码
# 配置文件
]$ cat from_beat.conf |grep -v "^$"
#filebeat
input {
    beats {
                codec => plain{ charset => "UTF-8" }
                port => 5044
  }
}
filter {
        grok {
                #match => ["message", "%{LOGLEVEL:log_level} -\[%{TIMESTAMP_ISO8601:logdate}\]" ]
                match => ["message", "%{LOGLEVEL:log_level} -\[%{TIMESTAMP_ISO8601:logdate}\] :%{GREEDYDATA:content2}" ]
        }
        mutate {
                remove_field => ["host", "agent", "tags"]
                #add_field => {"log_level2" => "%{log_level}" } 
        }
}
output {
    elasticsearch {
                codec => plain{ charset => "UTF-8" }
                hosts => ["http://10.180.5.22:9200", "http://10.180.5.23:9200", "http://10.180.5.213:9200"]
                manage_template => false
                index => "%{[fields][log_topics]}--%{+YYYY.MM.dd}"
                document_type => "%{[@metadata][type]}"
  }
}

# 2、启停命令
#启动命令
cd  /home/5grmt/logstash-7.xx.xx
nohup  ./bin/logstash  -f  config/from_kafka.conf

#停止命令
ps –ef | grep logstash         #获得进程ID,如123
kill -15 123                   #一般情况勿用kill -9 暴力关闭
复制代码

 

posted @   AlexMa  阅读(250)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-05-30 Linux常用命令总结
点击右上角即可分享
微信分享提示