My first postmortem!
Credits to David Walsh

My first postmortem!

Ok, so this is my first postmortem. And I'm writing this after a very interesting case of a server outage after, literally, a typo. This event occurred on Wednesday 27, 2021 and lasted from 16:15 to 17:20 GMT -5. Any get requests to the server returned a 500 error. The cause of this outage was a typo on line 137 of the wp-settings file calling for a non-existent file "class-wp-locale.phpp". I hope the typo is pretty clear.

Timeline (all GMT -5)

  • 16:15: Outage begins.
  • 16:20: Investigating root cause.
  • 16:45: Root cause discovered. Typo in wp-settings file.
  • 17:00: Typo fixed. Checking server.
  • 17:20: All systems back online.

Resolution and recovery

At 16:20 I decided to check on the processes the server was running to see if there was any anomaly and to check on the PID of the Apache we server. Then I used the strace command on that process and call again a GET request to the server and saw why the process immediately failed: some file was trying to open a "class-wp-locale.phpp". Curious, I looked if the file existed, and it existed, but without the typo. Then, using the find command I wanted to look which file was the cause of the typo, and then, it showed me: the wp-settings.php file. By 17:20, all systems went back online after fixing the typo.

Corrective and preventive measures

As a preventive measure before deploying the server, it's best to double check typos right before saving the file, this will more likely prevent any outages due to (dumb) human errors...

No hay texto alternativo para esta imagen


要查看或添加评论,请登录

Alfredo Delgado Moreno的更多文章

  • google.com <ENTER>... And then?

    google.com <ENTER>... And then?

    Ever wondered what happens when you type in your web browser any address and then press enter? Well, there's the fun 23…

  • IoT - more acronyms??

    IoT - more acronyms??

    I know the pain. Almost every concept or technology in the Information Technology world (IT for short) has an acronym.

  • Recursion... the pain of every CS student (but it doesn't need to be)

    Recursion... the pain of every CS student (but it doesn't need to be)

    Hello everyone, and welcome to yet another blog post. This time, we'll take matters seriously and delve into recursion.

  • Python: Everything is an object

    Python: Everything is an object

    Hello everyone. And welcome to today's blog post where I'll be sharing my findings of Python with you.

  • Class and instance attributes... what's that?

    Class and instance attributes... what's that?

    Hello everyone to another blog post. This time I'll be explaining about what's a class and what's an instance attribute…

  • Dynamic libraries!!!

    Dynamic libraries!!!

    Hello everyone and welcome to yet another blog post. Today I'll be talking about dynamic libraries.

  • Journey to the Center of the Shell - or what happens when you type ls -l *.c on your shell

    Journey to the Center of the Shell - or what happens when you type ls -l *.c on your shell

    “It is only when you suffer that you truly understand.” Jules Verne - Journey to the Center of the Earth (1867) As the…

  • What about negative numbers in binary?

    What about negative numbers in binary?

    Hello everyone, and welcome to another blog entry. This time I'll talk about the representation of negative numbers in…

  • Morse code as a macro?!?

    Morse code as a macro?!?

    Hey everyone! How are you doing? Today I ran into an interesting piece of code written in C looking like this: #define…

  • Static libraries!!!

    Static libraries!!!

    Full Metal Jacket jokes aside. This topic is pretty important for us developers, so bear with me while I'll explain it…

社区洞察

其他会员也浏览了