filebeat+redis+elk日志平台搭建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了filebeat+redis+elk日志平台搭建相关的知识,希望对你有一定的参考价值。
filebeat+redis+elk
系统:centos7.1 x86_64
filebeat: 6.2.3
logstash: 6.2.3
elasticsearch: 6.2.3
kibana: 6.2.3
架构如下:
配置yum源:
导入验证文件
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
创建yum repo文件:
cat /etc/yum.repos.d/elasticsearch-6x.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
安装软件:
yum install filebeat logstash elasticsearch kibana -y
系统架构:
filebeat +redis+ logstash+ elasticsearch + kibana
使用beat的原因为logstash需要依赖java环境,对cpu和内存消耗都比较大,所以filebeat应运而生,对cpu和内存基本没有消耗。
使用redis 的原因是当多个clinet同事写入到logstash或者elasticsearch 时候,有io瓶颈,所以选择了redis ,当然可以使用kafka,rabbitmq等消息中间件。
配置filebeat(注意为yaml语法,什么是yaml自己google):
filebeat.prospectors:
- type: log
enabled: true
paths:- /var/log/*.log ###监控的文件
输出到redis:
##-------------------------- redis output ------------------------------------
output.redis:
hosts: ["192.168.147.190"]
password: "6lapp"
key: "log_file"
db: 0
timeout: 5
logstash配置,只是写了最简单的input和output,需要filter的可以去github上面找正则去匹配,有点繁琐就没有写:
cat /etc/logstash/conf.d/redis_logstash.conf
input {
redis {
port => "6379"
host => "192.168.147.190"
password => "6lapp"
data_type => "list"
type => "log"
key => "log_file"
}
}
output {
elasticsearch {
hosts => "192.168.147.190:9200"
index => "logstash-%{+YYYY.MM.dd}"
}
}
elasticsearch配置,这里没有建立集群,elaticsearch 有自动发现功能,所以只是需要配置ip和端口即可:
---------------------------------- Network -----------------------------------
#
Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 192.168.147.190
#
Set a custom port for HTTP:
#
http.port: 9200
#
For more information, consult the network module documentation.
#
kibana配置需要修改端口ip和 elasticsearch的地址即可:
server.port: 5601
server.host: 192.168.147.190
elasticsearch.url: "http://192.168.147.190:9200"
启动:
systemctl start redis
systemctl start filebeat
logstash -f /etc/logstash/conf.d/redis_logstash & 或者使用nohup启动 或者使用screen启动
systemctl start elasticsearch
systemctl start kibana
启动之后查看进程和端口:
访问一下http://192.168.147.190:5601 可以操作kibana了,整个日志系统初步搭建完成,需要使用完善一下logstash的配置文件即可
创建测试文件:
touch /var/log/test.log
for ((i=0 ;i<=10000 ;i++ ));do echo "test.log 0000000" >> test.log ;done
kibana截图:
注意:
kibana的时间和系统的时间是否一致,否则可能导致看不到图像,这个是我猜的一个坑。
参考文件:
https://www.elastic.co
https://blog.csdn.net/Ghost_leader/article/details/79121297
以上是关于filebeat+redis+elk日志平台搭建的主要内容,如果未能解决你的问题,请参考以下文章
ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台(转)