在统计项目中,最难实施的就是日志数据的收集。日志分布在全国各个机房,而且数据量比较大,像rsync+inotify这种方式显然不能满足快速日志同步的要求。 当然大家也可以用fluentd和flume采集日志数据,除了这个我们也可以自己写一套简单的。
我写的这个日志分析系统 流程是:
在客户端收集数据,然后通过redis pub方式把数据发给服务端
2 服务器端是redis的sub 他会把数据统一存放在一个文件,或者当前就过滤出来
客户端收集日志的更新数据
#!/bin/bash DATE=`date +%s` LOGFILE=$1 if [ ! -f $1 ];then echo "LOG file did not give or it's not a file" fi sleep_time="2" count_init=`wc -l ${LOGFILE}|awk '{print $1}'` while true do DATE_NEW=`date +%s` # DATE=$(date +%s) count_new=`wc -l ${LOGFILE}|awk '{print $1}'` add_count=$((${count_new} - ${count_init})) count_init=${count_new} if [ ! -n "${add_count}" ] then add_count=0 fi QPS=$((${add_count}/${sleep_time})) info=`tail -n ${add_count} ${LOGFILE}` echo $info # 我们可以把info这个值传出去 echo " Then QPS at `date -d "1970-01-01 UTC ${DATE_NEW} seconds" +"%Y-%m-%d %H:%M:%S"` is "${QPS} # echo " DATE_NEW: " $DATE_NEW " DATE_PLUS :" $DATE_PLUS sleep $sleep_time done
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索日志
, date
, redis 3.0集群
, 数据
, 日志实时分析
实时日志
redis 集群、redis集群搭建、redis集群方案、redis集群配置、redis3.2 集群搭建,以便于您获取更多的相关知识。
时间: 2024-11-01 22:15:53