zoukankan      html  css  js  c++  java
  • 记录一次排查挖矿:快速跟踪一个进程

      记录一次服务器排查挖矿问题,这次突发事件整得整个小组措手不及。总结一下,其实是hadoop集群yarn的一个低版本端口漏洞导致。具体可以参考:https://paper.seebug.org/611/

      1.查看服务器CPU飙升卡爆,最后发现是服务器在跑挖矿程序,CPU使用率奇高。在此总结一下排查经过。

      首选发现CPU飙升,服务器卡死,查看异常进程PID
        #top                          #查看各个进程的cpu使用情况,默认按cpu使用率排序

      2.结束掉异常进程

        #kill -9/15 pid                        #终止指定进程,-9 是强制终止进程,-15 是软结束进程

      3.发现刚结束的异常进程又自动启动

        #ls -l /proc/$PID/exe                   #查看PID启动文件的路径
        #ls -l /proc/$PID/cwd                  #查看PID执行目录的路径

      4.删除运行文件,但是15s后又自动恢复文件运行了。这里可以肯定的是有定时器不断下载文件和启动程序。

        #在定时器配置目录查看是否存在异常定时器配置 /var/spool/cron/root 和/etc/crontab 和/etc/rc.lcoal
        #tail -f /var/log/cron                   #查看定时器启动日志,跟踪自启动程序

      5.发现/var/spool/cron/root 里面配置了一个不断下载的定时器任务,删除定时器,问题解决。

      如何查找一个进程信息
      查看所有进程信息
        #top                         #查看各个进程的cpu使用情况,默认按cpu使用率排序
        #ps aux | less                       #显示所有运行中的进程,q退出
      根据进程名称查找PDI
        #ps -aux|grep test.jar | grep -v grep            #查看test.jar进程号
        #ps -ef|grep test.jar | grep -v grep            #查看test.jar进程号
      查看线程信息
        #top -Hp pid                          #查看该进程下各个线程的cpu使用情况
        #printf "%x " pid                       #将线程pid转换为十六进制 8f7
        #jstack pid | grep 8f7                       #查看pid进程里面的线程信息,线程Id为十六进制
      查看进程相关文件:/proc 目录是存放系统进程文件信息的,可以查看到进程详细信息。
        #lsof -p pid                         #查看该进程打开的文件
        #cat /proc/pid/maps                      #查看pid线程内存分配
        #ls -l /proc/$PID/exe                     #查看PID启动文件的路径
        #ls -l /proc/$PID/cwd                     #查看PID执行目录的路径
        #cat /proc/$PID/status                  #查看PID详细的内存占比

    备注:
    作者:Shengming Zeng
    博客:http://www.cnblogs.com/zengming/ 

    本文是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。
    <欢迎有不同想法或见解的同学一起探讨,共同进步>

  • 相关阅读:
    django ---解决跨域的问题
    python-isinstance函数
    python每日一学-os模块常用函数
    调用父类方法super
    fiddler小运用-断点
    劝告
    Django model字段
    Jenkins自动化部署前端
    解决react使用antd table组件固定表头后,表头和表体列不对齐以及配置fixed固定左右侧后行高度不对齐
    高德地图判断点的位置是否在浏览器可视区域内
  • 原文地址:https://www.cnblogs.com/zengming/p/9206215.html
Copyright © 2011-2022 走看看