1.应用场景
主要用于线上环境故障排查,记录整个流程,从而可以按部推进,定位问题,从而解决问题。同时也是为解决问题提供一个流程标准。 |
2.学习/操作
1.文档阅读
TBD
2.整理输出 环境
前端:
Web 应用
或者
App 应用
后端: PHP -- 主要是PHP,JAVA/Python/Go应都是相同的,后端语言在提供服务方面宏观层面是没有差别的,有区别的只是微观层面。
2.1 lnmp线上环境故障排查流程
针对 lnmp(Linux + Nginx + MySQL + PHP)线上环境的故障排查流程如下:
-
确认故障现象:收集用户的反馈和系统告警信息,确认故障现象和发生时间,了解受影响的服务和应用。
-
确认系统基本信息:检查服务器的 CPU、内存、磁盘、网络等资源使用情况,确认系统版本、内核版本、软件版本等基本信息是否正常。
-
查看日志:通过查看系统、应用、Nginx、MySQL、PHP 等相关日志,找到异常信息并分析原因。
-
检查网络连通性:通过 ping、telnet、traceroute 等命令检查服务器之间的网络连通性,确认是否存在网络故障。
-
检查服务进程:通过 ps、top 等命令查看系统进程、服务进程的运行情况,确认服务是否正常运行。
-
检查服务配置:通过查看 Nginx、MySQL、PHP 等服务的配置文件,确认配置是否正确,并且是否存在被恶意修改的情况。
-
检查服务器安全:通过查看系统安全日志、系统用户、防火墙等信息,排查服务器是否存在安全问题。
-
联系供应商或者开发团队:如果以上步骤都无法解决问题,可以联系相关的供应商或开发团队,寻求专业技术支持。
-
解决问题并修复:根据以上步骤分析出的问题原因,采取相应的解决措施进行修复。
-
总结分析:将故障处理过程中的问题、解决方案、优化措施等进行总结和分析,为以后遇到类似问题提供参考。
针对开发维护人员,列出详细的故障排查流程
对于开发维护人员而言,更需要深入细致地排查故障,下面是一个详细的故障排查流程:
-
确认故障现象:先要明确故障现象,包括出现的时间、地点、相关应用、受影响的用户等。可以通过用户反馈、系统监控等方式进行确认。
-
收集数据:通过系统监控、日志分析、性能测试等方式,收集故障发生前后的各项数据,例如系统负载、网络流量、磁盘 IO、CPU 使用率、内存使用情况等等。
-
排查网络问题:使用 ping、traceroute、telnet 等工具检查网络连通性,确认网络是否正常。同时,检查网络设备的配置、日志等,查找可能存在的问题。
-
分析应用日志:通过分析应用日志,找出故障发生的原因,例如异常堆栈、报错信息、服务调用信息等等。需要注意的是,应用日志可能非常庞大,因此需要通过日志分析工具等方式进行快速定位。
-
检查数据库:对于涉及到数据库的应用,需要检查数据库的连接数、响应时间、慢查询等指标,同时查看数据库日志,确认数据库是否出现了异常。
-
检查服务进程:使用 ps、top、netstat 等命令检查服务进程是否正常运行,查找是否存在占用资源过高、异常退出等问题。
-
检查配置文件:检查应用程序的配置文件是否正确,特别是数据库、缓存、消息队列等配置是否与实际环境匹配,是否存在异常配置等问题。
-
检查环境变量:确认环境变量的设置是否正确,特别是 JAVA_HOME、PATH、CLASSPATH 等与应用运行相关的环境变量是否正确设置。
-
分析代码问题:如果以上步骤都无法找到问题所在,可能需要进一步分析代码问题,例如检查代码逻辑、排查线程问题、查找内存泄漏等等。
-
解决问题:根据以上分析,确定问题所在,采取相应的解决措施进行修复。
-
总结分析:对故障排查过程进行总结和分析,包括问题发现、解决方案、优化措施等,以便为以后遇到类似问题提供参考。同时,也需要将故障处理的经验和教训进行总结,提升自身的技术水平。
lnmp架构,开发维护人员 线上环境 故障排查流程详细步骤 // 还是很清楚,可操作的!!
对于开发维护人员而言,在 LNMP 架构下排查线上环境故障的步骤可以按照以下详细流程进行:
-
确认故障现象:明确故障的具体表现,例如网站访问异常、服务无法启动、数据不一致等等。可以通过用户反馈、系统监控等方式进行确认。
-
收集数据:收集故障发生前后的各项数据,例如系统负载、网络流量、磁盘 IO、CPU 使用率、内存使用情况等等,可以使用系统监控、日志分析、性能测试等方式进行数据收集。
-
检查 Nginx:首先检查 Nginx 是否正常运行,可以使用 systemctl 命令进行查看。如果 Nginx 异常,可以查看 Nginx 的日志文件 /var/log/nginx/error.log,找出错误原因。
-
检查 PHP-FPM:检查 PHP-FPM 是否正常运行,可以使用 systemctl 命令进行查看。如果 PHP-FPM 异常,可以查看 PHP-FPM 的日志文件 /var/log/php-fpm/error.log,找出错误原因。
-
检查 MySQL:检查 MySQL 是否正常运行,可以使用 systemctl 命令进行查看。如果 MySQL 异常,可以查看 MySQL 的日志文件 /var/log/mysql/error.log,找出错误原因。
-
检查代码:检查代码是否存在问题,例如 PHP 代码、MySQL 语句等等。可以通过日志分析、代码调试等方式找出问题所在,进行修复。
-
检查配置文件:检查配置文件是否正确,特别是 Nginx 配置、PHP-FPM 配置、MySQL 配置等。可以通过比较配置文件与实际环境的差异,找出配置问题所在,进行修复。
-
检查网络:检查网络是否正常,例如网络连接、DNS 解析、防火墙设置等。可以使用 ping、traceroute、telnet 等命令进行网络检查,找出问题所在,进行修复。
-
检查磁盘空间:检查磁盘空间是否足够,特别是 /var/log 目录下的日志文件是否过大。可以使用 df -h 命令查看磁盘使用情况,进行清理或扩容。
-
解决问题:根据以上步骤,确定问题所在,采取相应的解决措施进行修复。
-
总结分析:对故障排查过程进行总结和分析,包括问题发现、解决方案、优化措施等,以便为以后遇到类似问题提供参考。同时,也需要将故障处理的经验和教训进行总结,提升自身的技术水平。
后续补充 ... |
3.问题/补充
1. lnmp日志有哪些 LNMP(也称LEMP)是一种基于Linux、Nginx、MySQL/MariaDB、PHP的架构方案,一般会涉及到Nginx、PHP-FPM、MySQL/MariaDB等多个服务,这些服务都有对应的日志文件。 以下是LNMP日志的一些常见类型:
- Nginx日志:记录Nginx服务器的请求信息,包括访问日志(access log)和错误日志(error log)。
- PHP-FPM日志:记录PHP-FPM服务器的信息,包括请求信息和错误信息。
- MySQL日志:记录MySQL服务器的请求信息和错误信息,包括慢查询日志(slow query log)、错误日志(error log)等。
- 系统日志:包括系统级别的日志信息,例如调试信息、错误信息等,保存在/var/log目录下。常见的系统日志有:
- kern.log: 记录内核消息和错误信息。
- syslog: 记录系统级别的信息。
- auth.log: 记录用户身份验证相关的信息。
- messages: 记录系统事件相关的信息。
需要注意的是,日志文件的位置和设置方式会因为具体的LNMP版本和部署方式而有所不同,可参考各自软件官方文档或相关配置文件。 2. php-fpm日志与应用日志的区别
PHP-FPM 日志和应用日志是不同的,它们记录的内容和目的不同。
PHP-FPM 日志记录了 PHP-FPM 运行时产生的各种事件和错误,例如 PHP-FPM 的启动和关闭、请求的处理时间、进程池的扩展和缩减、进程崩溃等。PHP-FPM 日志可以用来诊断 PHP-FPM 的性能和健康状况,及时发现和排除 PHP-FPM 的问题,保障 PHP-FPM 的稳定运行。
应用日志记录了应用程序运行时产生的事件和错误,例如请求的处理时间、请求的参数、数据库操作、错误信息等。应用日志可以用来诊断应用程序的性能和健康状况,及时发现和排除应用程序的问题,提升用户体验和服务质量。
因此,PHP-FPM 日志和应用日志在内容和用途上存在区别,需要分别进行管理和维护。
在实际应用中,可以通过配置 PHP-FPM 和应用程序的日志路径和级别,以便更好地管理和分析日志信息。
|
4.参考
后续补充
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)