记一次采集器链路排查(蓝鲸CMDB)
发布日期:2021-11-18 19:17:15 浏览次数:8 分类:技术文章

本文共 4546 字,大约阅读时间需要 15 分钟。

背景

在开发了一个向蓝鲸cmdb上自动同步tomcat快照信息的agent采集器后进行测试,发现cmdb未获取到快照信息

排查步骤

1.首先登录中控机,我们需要到gse_data的zk中去查找相关信息

  • 方法1. 查看集群服务:cat /data/install/install.config得到相关ip地址然后ssh跳转
  • 方法2

source /data/install/utils.fc && echo $ZK_IP

ssh $ZK_IP

2.跳转目标机

ssh $ZK_IP

3.进入zk。注意这里不能写成127.0.0.1,要写内部ip

/data/bkee/service/zk/bin/zkCli.sh -server ${SHOST_IP}:2181

列出这里面的东西
ls /gse/config/etc/dataserver/storage/all

查看0_1内容 得到redis地址和端口

get /gse/config/etc/dataserver/storage/all/0_1

在这里插入图片描述

再获取data_set和biz_id两个字段,

TOPIC的值 = data_set + biz_id (字符串拼接,无空格)

在这里插入图片描述

例:这里data_set=discover biz_id=2 ,TOPIC=discover2

注意企业版的的端口是16379,是redis_cluster ,详情参考

4.之后就是到redis中查根据TOPIC去找数据的步骤。跳转到redis服务器参考步骤1,2

注意:redis只作为一个channel,数据被消费后就消失,所以开始在抓数据的时候一直没找到,以为链路不通,其实可以利用redis订阅来获取指定channel,这样一旦该channel接收到信息,就会立刻得到推送消息。

[root@nginx-1 bin]# redis-cli -h redis_cluster.service.consul -p 6379 -a 'authpwd'redis_cluster.service.consul:6379> subscribe discover2Reading messages... (press Ctrl-C to quit)1) "subscribe"2) "discover2"3) (integer) 11) "message"2) "discover2"3) "{\"beat\":{\"address\":[\"192.168.51.39\",\"192.168.122.1\",\"172.17.0.1\",\"fe80::f98f:e5ba:5599:7688\",\"fe80::67f7:5037:f70c:511a\",\"fe80::ccae:6c3:3d6a:ca39\",\"fe80::42:4bff:fe60:4b05\",\"fe80::a042:d4ff:fe2c:974b\"],\"hostname\":\"test\",\"name\":\"test\",\"version\":\"1.0.0\"},\"bizid\":0,\"cloudid\":0,\"counter\":25,\"data\":{\"data\":{\"bk_custom_log_path\":\"\",\"bk_inst_key\":\"192.168.51.39-8700-tomcat\",\"bk_inst_name\":\"192.168.51.39-8700-tomcat\",\"bk_ip\":\"192.168.51.39\",\"bk_jdk_version\":\"1.8.0_121-b13\",\"bk_log_path\":\"/tomcat/apache-tomcat-7.0.94/logs\",\"bk_main_path\":\"/tomcat/apache-tomcat-7.0.94\",\"bk_max_connect\":\"200\",\"bk_max_keepalive\":\"50\",\"bk_port\":\"8700\",\"bk_vendor\":\"Apache\",\"bk_version\":\"7.0.94\",\"host\":77},\"host\":{\"bk_cloud_id\":0,\"bk_host_id\":77,\"bk_host_innerip\":\"192.168.51.39\",\"bk_host_name\":\"test\",\"bk_host_outerip\":\"\",\"bk_os_type\":\"1\",\"bk_supplier_account\":\"0\",\"bk_supplier_id\":0},\"meta\":{\"fields\":{\"bk_custom_log_path\":{\"bk_property_name\":\"\xe8\x87\xaa\xe5\xae\x9a\xe4\xb9\x89\xe6\x97\xa5\xe5\xbf\x97\xe8\xb7\xaf\xe5\xbe\x84\",\"bk_property_type\":\"longchar\",\"option\":null},\"bk_detail\":{\"bk_property_name\":\"\xe8\xaf\xa6\xe7\xbb\x86\xe6\x8f\x8f\xe8\xbf\xb0\",\"bk_property_type\":\"longchar\",\"option\":null},\"bk_inst_key\":{\"bk_property_name\":\"\xe5\x94\xaf\xe4\xb8\x80\xe6\xa0\x87\xe8\xaf\x86\",\"bk_property_type\":\"singlechar\",\"option\":null},\"bk_inst_name\":{\"bk_property_name\":\"\xe5\xae\x9e\xe4\xbe\x8b\xe5\x90\x8d\",\"bk_property_type\":\"singlechar\",\"option\":null},\"bk_ip\":{\"bk_property_name\":\"IP\xe5\x9c\xb0\xe5\x9d\x80\",\"bk_property_type\":\"singlechar\",\"option\":null},\"bk_log_path\":{\"bk_property_name\":\"\xe6\x97\xa5\xe5\xbf\x97\xe8\xb7\xaf\xe5\xbe\x84\",\"bk_property_type\":\"longchar\",\"option\":null},\"bk_main_path\":{\"bk_property_name\":\"\xe4\xb8\xbb\xe7\x9b\xae\xe5\xbd\x95\",\"bk_property_type\":\"longchar\",\"option\":null},\"bk_max_connect\":{\"bk_property_name\":\"\xe6\x9c\x80\xe5\xa4\xa7\xe8\xbf\x9e\xe6\x8e\xa5\xe6\x95\xb0\xe8\xaf\xb7\xe6\xb1\x82\xe6\x95\xb0\",\"bk_property_type\":\"int\",\"option\":{\"max\":\"\",\"min\":\"\"}},\"bk_max_keepalive\":{\"bk_property_name\":\"\xe6\x9c\x80\xe5\xa4\xa7keepAlive\xe8\xaf\xb7\xe6\xb1\x82\xe6\x95\xb0\",\"bk_property_type\":\"int\",\"option\":{\"max\":\"\",\"min\":\"\"}},\"bk_port\":{\"bk_property_name\":\"\xe7\xab\xaf\xe5\x8f\xa3\",\"bk_property_type\":\"singlechar\",\"option\":null},\"bk_vendor\":{\"bk_property_name\":\"\xe5\x8e\x82\xe5\x95\x86\",\"bk_property_type\":\"singlechar\",\"option\":null},\"bk_version\":{\"bk_property_name\":\"\xe7\x89\x88\xe6\x9c\xac\",\"bk_property_type\":\"longchar\",\"option\":null},\"host\":{\"bk_asst_obj_id\":\"host\",\"bk_property_name\":\"\xe5\x85\xb3\xe8\x81\x94\xe4\xb8\xbb\xe6\x9c\xba\",\"bk_property_type\":\"singleasst\",\"option\":null}},\"model\":{\"bk_classification_id\":\"bk_middleware\",\"bk_obj_id\":\"bk_tomcat\",\"bk_obj_keys\":\"bk_ip,bk_inst_name\",\"bk_obj_name\":\"tomcat\",\"bk_supplier_account\":\"\"}}},\"dataid\":1012,\"gseindex\":823,\"ip\":\"192.168.51.39\",\"timestamp\":\"2019-05-05T06:11:27.044Z\",\"type\":\"tomcatbeat\"}"

最后在redis中找到数据以后就可以确定从采集器到到gse_data数据链路是通的,我们可以打开gse_data的debug看日志信看到具体信息和报错。最终在CMDB快照中我们看到数据更新,则证明整个链路畅通,数据格式正确。

5. kafka中查看指定topic的数据(没用到kafka就忽略此步骤)

ssh $KAFKA_IPcd /data/bkee/service/kafka/bin./kafka-console-consumer.sh --bootstrap-server kafka.service.consul:9092 --topic ${topic} --from-beginning

采集器到CMDB的主要数据链路:

在这里插入图片描述

转载地址:https://blog.csdn.net/weixin_39172380/article/details/89712781 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:记一次basereport采集器上报蓝鲸监控排查
下一篇:Django开发中报错- Broken pipe from ('127.0.0.1', 52594)的一次trouble shot

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月14日 22时22分33秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章