您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux百科

Linux服务器故障排查基本方案

时间:2022-03-02 11:31:47  来源:  作者:星锅说事

服务器架构

服务器系统为centos7

首先需要知晓系统的对外的架构

一般架构:

1.域名--->云服务器(ECS)

2.域名--->CDN--->云服务器(OSS)

3.域名--->CDN--->云服务器ECS+数据库RDS+缓存redis

4.域名--->CDN--->负载均衡--->云服务器ECS+数据库RDS(主从)+缓存Redis

5.域名--->CDN-->WAF防火墙--->负载均衡--->云服务器ECS+数据库RDS(主从)+缓存Redis

再根据实际情况出现的问题,一步步排查。

Linux服务器故障排查基本方案

 

 

发现问题

一、发现问题

首先发现问题,及时确定哪个服务出现问题,以便方便快速定位问题。查找对应的域名和设备

Zabbix监控发钉钉告警

Linux服务器故障排查基本方案

 

阿里云监控告警短信

【阿里云】尊敬的***,云监控-云数据库RDS版<华南1(深圳)-*****-只读>于<09:54>发生报警,CPU使用率(91.88>=80),持续时间4分钟

 

3.shell脚本邮件告警

4.其他同事

客服、市场同事等钉钉、电话报告出现的问题

二、快速定位问题

 

网络带宽(CDN是否异常)

域名是否解析到源站

登录阿里云CDN后台查看相应流量

负载均衡

检查负载均衡是否正常运行,是否流量异常

应用层服务器

ECS服务器负载是否正常、cpu、内存负载是否过高,硬盘使用率是否达到100%等

缓存服务器

redis服务器负载是否正常、内存使用率如何

数据库服务器

数据库连接数是否正常

列出当前用户的所有连接信息;

show full processlist; 

杀进程,时长消耗太长的sql进程

select concat('kill ', id, ';') from information_schema.processlist where command != 'Sleep' and time > 2*60 order by time desc; 

让将sql语句发给后端研发分析

远程连接服务器

问题:CPU高,负载高,访问慢(数据库正常)

系统层面

查看负载

查看负载、CPU、内存、上线时间、高资源进程

# top
安装: yum -y install htop
# htop 

查看top服务器负载,内存消耗,df -h查看硬盘

top
df 

查看Nginx日志

如果有nginx日志,进入nginx日志目录

按照日志大小排列

判断日志访问、相应时长,url等

cd /data/wwwroot/log
ll -Srh
tAIl -f XXX.XXX.COM-access.log
分析日志,找出最多的IP日志、最多的URL等
GoAccess 、ELK后台查看日志

查看磁盘使用情况

df -h

查看磁盘当前情况

IOStat -x -k 3 3
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.70    0.00    2.25    0.41    0.00   93.64

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.01     0.83    0.30    1.48    11.34    12.13    26.30     0.01    6.15    7.41    5.89   0.24   0.04
vdb               0.00     0.17    0.02    0.28     0.08     2.75    19.15     0.00    3.22    2.01    3.29   0.26   0.01
vdc               0.10     0.84    3.09    0.56   105.22    20.57    68.94     0.02    7.96    3.29   33.74   1.33   0.49

如果发现当前磁盘忙碌,则查看是哪个 PID 在忙碌:
安装 yum install -y iotop
# iotop -o -P -k -d 5

查看对外服务和端口

#.NETstat -tunpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:62920           0.0.0.0:*               LISTEN      29177/vsftpd        
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      4393/httpd      
tcp        0      0 0.0.0.0:7300            0.0.0.0:*               LISTEN      4697/php-fpm: maste 

查看 PID 具体在

安装  yum install lsof

lsof -p PID
lsof -p 29177
lsof -p 4697 

查看系统日志

tail -400f /var/log/messages
tail -f /var/log/messages
tail -n100 /var/log/messages
head -n100 /var/log/messages

查看简化线程树

pstree -a >> /root/pstree.log

网络问题

ping域名

ping www.XXX.com

查看网络节点情况

安装: yum install -y  traceroute

traceroute www.baidu.com

问题:CPU 低,负载高,访问慢(数据库)

判断的数据库

1.慢查询

检查慢查询日志,可能是慢查询引起负载高,根据配置文件查看存放位置:log_slow_queries

2.是否有系统瓶颈

升级系统cpu、内存、硬盘,

优化架构增加主从,一主多从等。

3.sleep连接是否过多

show full processlist;

4.查看最大连接数

查看设置的最大连接数
show variables like 'max_connections';
重新设置最大连接数
set GLOBAL max_connections=300

Nginx防护基本命令

如果有一些异常访问,可以加入配合阿里云的WAF。

访问最多真实用户的IP

cat www.XXXX.com-access.log |awk '{print $5}'| awk -F":" '{print $NF}' |sort|uniq -c|sort -nr|head -10

查看访问排行前10的url

cat  www.XXX.com-access.log | awk '{print $10}' | sort | uniq -c | sort -nr | head -n 10

执行时间最长10条

cat  www.XXX.com-access.log | sort -nr | head -n 10

查看http_referer来路:

cat www.XXX.com-access.log | awk -F"from:" '{print $NF}' |sort|uniq -c|sort -nr|head -10

封IP,查看特定的referer来源地址

服务器防火墙封ip

封IP段

/sbin/iptables -I INPUT -s 61.37.80.0/24 -j DROP
#屏蔽单个IP的命令是
 deny 123.45.6.7
 #封整个段即从123.0.0.1到123.255.255.254的命令
 deny 123.0.0.0/8

禁止特定用户代理(User Agents)访问

if ($http_user_agent ~* (wget|curl|Firefox) ) {
return 404;
}

特定的地址攻击做跳转

rewrite ^/accounts/+$str+ http://127.0.0.1/ redirect;

根据 user_agent 控制客户端访问

location / {
       if ($http_user_agent ~ 'bingbot/2.0|MJ12bot/v1.4.2|Spider/3.0|YoudaoBot|Tomato|Gecko/20100315'){
                return 403;
                }
       }

图片防盗链

valid_referers none blocked *.XXX.com server_names ~.google. ~.baidu.;
                if ($invalid_referer) {
                        # return 403;
                        rewrite ^/ http://www.XXX.com/daoling.png;
                }

 

不允许host为localhost访问

if ($host = 'localhost') {
                return 403;
       }

不允许agent为空

if ($http_user_agent ~ ^$){
                return 403;
       }

不允许绑定host主机访问

if ($http_x_forwarded_for ~ ^$){
                return 402;
       }


Tags:Linux服务器   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Linux服务器超级实用的Shell脚本,建议收藏!
Shell 脚本是一种强大的工具,可以在各种领域中用于提高工作效率、简化任务和自动化常见工作流程。无论是系统管理、数据处理、任务自动化还是快速原型开发,Shell 脚本都是一种...【详细内容】
2023-11-07  Search: Linux服务器  点击:(297)  评论:(0)  加入收藏
在Linux服务器上部署容器化的企业级文件共享和协作平台
企业级文件共享和协作平台是一种用于组织内部或跨部门之间文件共享、协作和管理的系统。这种平台可以提供文件存储、同步、版本控制、权限管理等功能,有助于提高工作效率和团...【详细内容】
2023-10-10  Search: Linux服务器  点击:(226)  评论:(0)  加入收藏
在Linux服务器上部署容器化的分布式缓存系统
在Linux服务器上部署容器化的分布式缓存系统,需要考虑到以下几个方面:容器化环境的选择、分布式缓存系统的选择、部署过程和配置、高可用性和性能调优等。下面将详细介绍每个...【详细内容】
2023-09-28  Search: Linux服务器  点击:(284)  评论:(0)  加入收藏
Linux服务器搭建本地YUM源
在工作中,企业内部生产服务器出于安全性考虑往往是不能直接连接到互联网,对于服务器软件的安装和更新是一件很麻烦的事情,当使用rpm安装包离线安装一些软件的时候,经常会出现缺...【详细内容】
2023-09-09  Search: Linux服务器  点击:(420)  评论:(0)  加入收藏
如何校准Linux服务器时间
要校准Linux服务器的时间,您可以按照以下步骤进行操作:检查当前时间:运行以下命令来查看当前服务器的时间:date安装和配置NTP:NTP(Network Time Protocol)是一种用于同步计算机时间...【详细内容】
2023-05-12  Search: Linux服务器  点击:(387)  评论:(0)  加入收藏
Linux服务器出现503 服务不可用错误怎么办?
HTTP 503 服务不可用错误代码表示网站暂时不可用。无论您是网站访问者还是管理员,503 页面都很麻烦。尽管该错误表明存在服务器端问题,但对于访问者和网络管理员来说,有一些可...【详细内容】
2023-04-25  Search: Linux服务器  点击:(272)  评论:(0)  加入收藏
linux服务器禁止ping命令,linux服务器禁ping如何解除
我是艾西,在我们搭建网站或做某些程序时,不少人会问禁ping是什么意思,怎么操作的对于业务有哪些好处等,今天艾西一次给你们说清楚。禁PING的意思是:不允许电脑、设备或服务器使用...【详细内容】
2023-04-19  Search: Linux服务器  点击:(352)  评论:(0)  加入收藏
Linux服务器如何清除dns缓存
DNS缓存是一个临时数据库,用于存储已解释的DNS查询信息。换句话说,每当你访问网站时,你的操作系统和网络浏览器都会保留域名和相应IP地址的记录。这消除对远程DNS服务器重复查...【详细内容】
2023-04-18  Search: Linux服务器  点击:(194)  评论:(0)  加入收藏
Linux服务器怎么关闭防火墙
在很多情况下,防火墙都会组织一些端口号的通讯。比如我们的tomcat,nginx,redis明明安装的没问题,但在外部就是访问不了,那很有可能就是防护墙的原因了。我是艾西,今天跟大家分享下...【详细内容】
2023-04-14  Search: Linux服务器  点击:(218)  评论:(0)  加入收藏
Linux服务器怎么修改系统时间
linux服务器的系统时间,有的时候会产生误差,导致我们的程序出现一些延迟,或者其他的一些错误,那么怎么修改linux的系统时间呢?我是艾西,今天又是跟linux小白分享小知识的时间具体...【详细内容】
2023-04-14  Search: Linux服务器  点击:(244)  评论:(0)  加入收藏
▌简易百科推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08    IT之家  Tags:Linux   点击:(9)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  凡夫编程  微信公众号  Tags:Linux安全   点击:(24)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  编程技术汇  微信公众号  Tags:Linux   点击:(16)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25    IT之家  Tags:Linux   点击:(15)  评论:(0)  加入收藏
轻松实现Centos系统的软件包安装管理:yum指令实战详解
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并...【详细内容】
2024-02-27  凡夫贬夫  微信公众号  Tags:Centos   点击:(59)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27    IT之家  Tags:Ubuntu   点击:(53)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  王建立    Tags:Linux   点击:(58)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01    简易百科  Tags:Linux   点击:(85)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  松鼠宝贝    Tags:Linux内核   点击:(72)  评论:(0)  加入收藏
如何确保Linux进程稳定与持久
在Linux系统中,进程的稳定性与持久性对于维持系统的持续运行至关重要。然而,由于各种原因,进程可能会面临崩溃或系统重启的情况。为了确保关键进程能够持续运行,我们必须采取一...【详细内容】
2024-01-19  松鼠宝贝    Tags:Linux进程   点击:(90)  评论:(0)  加入收藏
站内最新
站内热门
站内头条