使用redis,kafka做为缓存来收集日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用redis,kafka做为缓存来收集日志相关的知识,希望对你有一定的参考价值。
参考技术A 1.前提条件2.安装配置redis
3.安装配置nginx
配置官方源
放在nginx.conf最后一行的后面,不要放在conf.d里面
4.安装配置keepalived
db02的配置:
5.测试访问能否代理到redis
6.配置filebeat
7.测试访问filebeat能否传输到redis
curl 10.0.0.51/haha
redis-cli -h 10.0.0.51 #应该有数据
redis-cli -h 10.0.0.52 #应该没数据
redis-cli -h 10.0.0.100 -p 6380 #应该有数据
8.配置logstash
9.启动测试
10.关闭前台运行,使用后台运行
11.最终测试
ab -n 10000 -c 100 10.0.0.100/
检查es-head上索引条目是否为10000条
关闭db01的redis,在访问,测试logstash正不正常
恢复db01的redis,再测试
1.新增加一个日志路径需要修改4个地方:
2.优化之后需要修改的地方2个地方
3.filebeat配置文件
4.优化后的logstash
1.配置hosts
2.安装配置zookeeper
3.启动zookeeper
所有节点都启动
4.每个节点都检查
5.测试zookeeper
6.安装部署kafka
kafka51操作:
kafka52操作:
kafka53操作:
7.前台启动测试
8.验证进程
9.测试创建topic
10.测试获取toppid
11.测试删除topic
12.kafka测试命令发送消息
13.测试成功之后,可以放在后台启动
14.修改filebeat配置文件
15.修改logstash配置文件
16.启动logstash并测试
1.前台启动
2.后台启动
17.集群考可用测试
结果:任意一台或两台服务器坏了zookpeer或者kafka或者全坏了或者随机坏了,只要剩一个zookper和kafka都不影正常收集日志。
18.总结kafka实验
1.前提条件
2.安装zook注意
3.安装kafka注意
4.测试zook和kafka
5.配置filebeat
6.配置logstash
ELK 收集网络设备日志-----引入 redis进行缓存
准备两个linux宿主机-
linux-node1: Elasticsearch + Logstash + Kibana
linux-node2: Logstash + redis
linux-node1 安装 ELK 配置logstash将redis数据送给ES
[root@linux-node1 conf.d]# cat redis-to-es.conf
input {
redis {
host => "192.168.200.4" #指向linux-node2的redis的ip地址
port => "6379"
password => "123456"
db => "0"
data_type => "list"
key => "logstash"
}
}
output {
elasticsearch {
hosts => ["192.168.200.99:9200"]
index => "logstash_syslog-%{+YYYY.MM.dd}"
}
}
利用supervisor自启 redis-to-es.conf
linux-node1 安装logstash和redis,并且配置logstash将数通网络设备syslog日志导入到redis里去
[root@linux-node2 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@linux-node2 ~]# yum install -y redis
[root@linux-node2 ~]# vim /etc/redis.conf
bind 0.0.0.0
requirepass 123456
[root@linux-node2 ~]# systemctl start redis && systemctl enable redis
安装logstash步骤省略
[root@cobbler-200 ~]# cat /etc/logstash/conf.d/syslog-to-redis.conf
input {
udp {
port => "514"
type => "syslog"
}
}
output {
redis {
host => ["192.168.200.4:6379"] #linux-node2的redis的ip地址
password => "123456"
db => "0"
data_type => "list"
key => "logstash"
}
}
利用supervisor自启 syslog-to-redis.conf
华为网络设备侧配置如下
clock timezone UTC add 08:00:00
ntp-service unicast-server 120.25.115.20
info-center source default channel 2 trap state off
info-center loghost source Vlanif100
info-center loghost 192.168.200.4 # ip 写redis的ip地址
info-center timestamp log format-date
以上是关于使用redis,kafka做为缓存来收集日志的主要内容,如果未能解决你的问题,请参考以下文章