前提:

由于线上服务日志比较大,机器配置相对比较低,如果使用filebeat进行收集服务日志的话,filebeat会占用过多的CPU资源,可能会影响线上服务的正常访问。

情况说明:

filebeat占用资源情况如下:

执行命令:

1.创建需要使用filebeat的CGroup
    # mkdir /sys/fs/cgroup/cpu/filebeat
2.查看CGroup自动生成的所有文件
    # ls /sys/fs/cgroup/cpu/filebeat
cgroup.clone_children  cgroup.procs  cpuacct.usage         cpu.cfs_period_us  cpu.rt_period_us   cpu.shares  notify_on_release
cgroup.event_control   cpuacct.stat  cpuacct.usage_percpu  cpu.cfs_quota_us   cpu.rt_runtime_us  cpu.stat    tasks
3.配置filebeat的CGroup,CPU 使用率不能超过 30%
    # echo 30000 > /sys/fs/cgroup/cpu/filebeat/cpu.cfs_quota_us
4.查找filebeat进程的pid
    # ps aux |grep filebeat |grep -v grep
5.将filebeat加入CGroup
    # echo 9109 > /sys/fs/cgroup/cpu/filebeat/cgroup.procs

查看效果:

Last modification:November 15th, 2019 at 07:00 pm
如果觉得我的文章对你有用,请随意赞赏