日志采集问题排查
查看源日志是否有更新
确保采集的数据源有日志持续输出注意:文件内容不可直接清空,文件轮转可采用删除或者移动MV。
检测日志采集器进程
ps -ef | grep unifytlogc
若进程不存在,进入采集器目录,手动尝试启动采集器查看是否有错误信息
cd /usr/local/gse/plugins/bin/
./unifytlogc -c ../etc/unifytlogc.conf
检查连接
agent机器:有正常ESTABLISHED的链接则ok
- Linux
netstat -antp | grep 58625 | grep ESTABLISHED
Windows
netstat -ano | grep 58625
若存在proxy,登陆proxy机器:检测58625端口同上。Linux
netstat -tnp | grep 58625
登陆 GSE后台服务器,检测 gse_data 是否连上9092端口:Linux:
lsof -nP -c dataWorker | grep :9092
- Windows:
netstat -ano | grep 9092
检测日志采集配置
cat /usr/local/gse/plugins/etc/unifytlogc.conf
找到对应任务的dataid,(在 tlogcfg->fileds->dataid)
{
"tlogcfg":[
{
"fileds":[
{
"dataid":123,
"condition":[
]
}
],
"dataid":123
"isNotPack":0,
"beJson":1,
"ignore_file_end_with":...,
"private":{
"_plat_id_":1
},
"dataset":"datatest",
"clear_file_cycle":157680000,
"file":"/tmp/datatest/ddd.log",
"field_sep":"|",
"log_type":"logbyline"
}
],
"ipc_socket":"/var/run/ipc.state.report",
"log_path":"/var/log/gse",
"data_path":"/var/lib/gse",
"pidfile_path":"/var/run/gse/unifytlogc.pid",
"log_level":"ERROR"
}
示例 dataid=123
在ZK_IP上查看dataid对应的topic
$dataid替换为上一步查询出来的dataid
/data/bkce/service/zk/bin/zkCli.sh -server zk.service.consul:2181 (ip通常为本机内网IP)
get /gse/config/etc/dataserver/data/$dataid
取出data_set和biz_id两个字段,合并在一起例如:
{"server_id": -1, "data_set": "datatest", "partition": 1, "cluster_index": 0, "biz_id": 4, "msg_system": 1}
topic为datatest4
检测kafka数据
在KAFKA机器上
source /data/install/utils.fc
cd /data/bkce/service/kafka
topic=<上面查询的结果>
sh bin/kafka-console-consumer.sh --bootstrap-server $LAN_IP:9092 --topic $topic
等待有没有新的数据产生
若kafka没有数据,查看gse_data日志
登陆GSE Server的机器,看有没有 gse_data 的pid 开头命名的日志。 若有,tail查看日志内容
datapid=$(pgrep -x dataWorker)
ls -l /data/bkce/public/gse/data/${datapid}*
查看采集记录
cd /var/lib/gse/db/
sqlite3 unifytlogc.db.current
select * from attribute;
查看实际文件大小
wc filename