Last Updated on April 2, 2024 EDT by Gina
Providing Data for Troubleshooting Issues
When people ask for help, either directly or indirectly I usually send them the a bunch of questions, and to install some tools or applications. Instead of writing it over and over again, I made this page!
Guide Requirements
You’ll need the following if you want to proceed with this guide.
- Access to the server in question 🤣
- A means to share data such as logs, configuration files and command outputs.
- pastebin – is a good solution, but be careful as most are public and the data below in the wrong hands can be a security issue.
- Google Doc – everyone has a Gmail account 😂
- Notion.so – I really love this app! You can share a page via a link! So easy to share large amounts of data.
Step 1 – Instance Details
Overall make sure you know what you have! Understand that not all providers are created equal and that human errors occur. You could be on the wrong plan, you might think you’re connected to the server that 32 cores but in-fact has only 8 cores.
Provider Details
- Server Provider: (Example: Vultr or Upcloud)
- Type of Server: (VPS, Cloud, Bare Metal, Colo or Raspberry PI)
- Provider Plan and URL: (The link to the plan you have)
Server Specifications
When working on an issue, it’s important to know what you have under the hood. Here’s what I typically ask when working on an issue.
System Information
- Run Neofetach, it’s a neat tool. Take a screenshot or copy and paste the output Its on Github https://github.com/dylanaraps/neofetch
cd ~ wget https://raw.githubusercontent.com/dylanaraps/neofetch/master/neofetch bash neofetch
Additional Information for Baremetal
- Processor:
lshw -class processor
- Motherboard:
apt-get install dmidecode; dmidecode --string baseboard-product-name
- Memory:
lshw -C memory | grep product
- Storage:
apt-get install lshw;lshw -class disk -class storage | grep product
What about Networking?
- Run
ip addr
and copy and paste.
There’s two parts to networking, latency and throughput speeds. Both can cause issues, and so it’s important to make sure your instance has low latency and good throughput speeds.
! NEEDS UPDATE !
Service Configuration
Miss-configuration of services can occur and cause strange issues to occur. So it’s always good to review the base configuration for all services.
Nginx Configuration
Most hosting stacks and the default Nginx configuration is acceptable. Granted you can do some tuning, most of the time there isn’t much you need to do here.
- Review your nginx config by running
niginx -T
this will print out your entire config. Copy and paste it somewhere. You can also pipe this to a filenginx -T > nginx.config
PHP Worker Configuration
- Review your php-fpm configuration and provide the full config.
- Run
ps -auxwwf
and provide a screensho or pastebin.
MySQL Configuration
- Review your MySQL configuration, and provide the full config.
- Run
mysqtuner.pl
and provide the results. - Run
mytop
and provide a screenshot. (See Command Line Tools)
Tools for Monitoring
Command Line Tools
Either apt-get install or yum install the following
- htop – like top but allows for multi core display
- ncdu – find out what’s taking up space
- mytop – top for mysql
- vmstat – realtime view of procs, memory, swap, io, system and cpu (user/system/idle/wait/steal)
Monitoring Applications
Netdata
- System level Monitoring of thousands of metrics from linux, nginx, mysql and redis. Data is also historical so you can go back in time. You can extend how far back the data is kept
Newrelic
- Application Performance Monitoring for PHP and other languages.
- Provides access to each transaction, it’s time, code functions and external API’s.
- Also provides monitoring of infrastructure data and some applications such as Nginx and MySQL (complicated install) see https://docs.newrelic.com/docs/full-stack-observability/observe-everything/get-started/new-relic-guided-install-overview/
Tideways
- Application Performance Monitoring for PHP and other languages.
- Alternative to Newrelic
- I haven’t tried it, so use at your own risk 😉
Last Updated on April 2, 2024 EDT by Gina
Comments are closed.