Sobes.tech
Middle

How do you troubleshoot issues in your projects?

sobes.tech AI

Answer from AI

  1. Information Gathering: Detailed description of the problem from the user or monitoring system. Logs, metrics, configurations, change history.
  2. Problem Identification: Determining the exact symptoms and scope of the problem. Isolating the problematic subsystem or component.
  3. Hypothesis Formulation: Making assumptions about possible causes based on the collected information.
  4. Hypothesis Testing: Verifying the proposed hypotheses through experiments, log analysis, request tracing, or configuration changes in a safe environment.
  5. Solution Development: Creating an action plan to eliminate the identified cause.
  6. Solution Implementation: Carefully deploying the solution, starting, if possible, with a test or staging environment.
  7. Verification: Ensuring that the problem is resolved and no new issues have arisen as a result of the changes.
  8. Documentation: Recording the problem, its cause, the solution method, and steps taken to prevent recurrence.
  9. Postmortem: Analyzing the incident with the team to identify lessons learned and actions to improve system resilience.

Methods:

  • Divide and Conquer: Breaking down the system into parts to localize the problem.
  • Comparison: Comparing the behavior of the working and non-working configurations or environments.
  • Backtracking: Step-by-step rollback to the last working state.
  • Observation: Using monitoring and logging tools to identify anomalies.

Tools (approximate):

Category Tools
Monitoring Prometheus, Grafana, Nagios, Zabbix
Logging ELK (Elasticsearch, Logstash, Kibana), Splunk
Tracing Jaeger, Zipkin, OpenTelemetry
Network Utilities ping, traceroute, netstat, tcpdump
System Utilities top, htop, vmstat, iostat, strace