LINUX进程获取

1.整个性能和实体监控采用一个source设计

(1)主机实体采集定义开关,http发送,入mysql 每次做update
host_entity_collect=on
host_entity_collect_interval=24h

(2)主机性能采集,入es ,配置日志规则解析
host_performan_collect=on
host_performan_collect_interval=1m

(3)进程实体采集,http发送,入mysql 每次做update
process_entity_collect=on
process_entity_collect_interval=24h
process_collect_keys=*** ps关键字可配置多个进程 api ,用作进程性能和进程实体

设计进程关键字配置规则和解析规则
设定进程关键字通过命令获取进程实体信息
ps -aux |grep smartlog-api-6.0.0-SNAPSHOT.jar |grep Xbootclasspath 单个进程
ps -aux |grep nginx|grep -E “worker|master” 多个进程

实体字段设计:
(1)实体主表( 主机IP 进程名称 联合唯一索引,agent启动做检查)
主机IP 进程名称 关键字配置 创建时间 ,更新时间 , 描述 获取失败和获取成功
(2)实体附表
主机IP
进程名称
进程PID
进程启动参数
监听端口号(通过命令获取 netstat -nap | grep 3110|grep LISTEN | awk ‘{print $4}’ , 写正则取端口号)
状态 (活动、未活动)
进程启动时间
启动用户
更新时间,入库字段
创建时间,入库字段

(4)进程性能采集,入es ,配置日志规则解析
根据进程关键字获取到PID,调用OSHI获取性能数据
process_performan_collect=on
process_performan_collect_interval=1m
process_performan_collect_keys=*** ps关键字可配置多个进程,和进程实体一致kafka
1)es字段设计
进程名称、进程参数、进程CPU、进程MEMORY、进程CPU百分比,进程MEMORY百分比
2)通过配置的命令获取进程ID,通过OSHI获取进程的CPU MEMORY
List procs = Arrays.asList( os.getProcess(25436));

(5)拓扑关系实体和更新
各个AGENT分批采上报主机,主机开启进程同步找关系存储到关系表
netstat -nap | grep 28522|grep ESTABLISHED
lsof -p 4041 -nP | grep TCP
netstat -antp | grep 2181
::ffff:10.0.0.161:34392 ::ffff:10.0.0.162:9092 hash形成关系和162采集的数据匹配得到
一条from to
(10.0.0.161-kafka-pid-ports(9092 3902))
10.0.0.161-kafka(from )-------10.0.0.162-kakfak(to)
::ffff:10.0.0.161:36973 ::ffff:10.0.0.161:2181
10.0.0.161-kafka (from )-------10.0.0.162-zookeeper(to)
更新:和历史distinct对比,历史有的,当前批次没有,就设置为灰色
设置为端口号和端口号的连接
(6)遗留问题,更新和删除怎么办

(7)拓扑图,需要人为参与吗,
需要,可以认为划线,和自动采集的线颜色区分,且无法告警
不支持新建实体连线,必须配置采集

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值