Page MenuHomePhabricator

Improve observability of Citoid
Open, Needs TriagePublic

Description

SRE had two recent incidents reported where citoid was involved:

In both cases we were unable to troubleshoot properly because citoid service does not provide required observability, we could only check platform level metrics (kubernetes pods health) and had to defer to 'blind' mitigations (eg restarting citoid and zotero).
This makes mitigation slow and rootcausing very difficult. In this case, issues self resolved and we don't have any guarantee that it will not reoccur, nor that we can fix future non straightforward service problems.

We would expect citoid to provide:

  • observability into latency of individual requests, either to the service itself or to the upstream services.
  • access logs, showing the latency and status code of individual requests.

Event Timeline

Could I get access to the restricted task?

Could I get access to the restricted task?

I've made the task visible to all users as there's nothing sensitive in there, and subbed you to it.

Hi, do we know if this can be prioritized soon?

Change #1313140 had a related patch set uploaded (by Mvolz; author: Mvolz):

[mediawiki/services/citoid@master] [WIP] Log full response

https://gerrit.wikimedia.org/r/1313140

Change #1313140 merged by Mvolz:

[mediawiki/services/citoid@master] Log request and response with latency

https://gerrit.wikimedia.org/r/1313140

Change #1321553 had a related patch set uploaded (by Mvolz; author: Mvolz):

[mediawiki/services/citoid@master] Fix logging for request duration

https://gerrit.wikimedia.org/r/1321553

Change #1321997 had a related patch set uploaded (by Mvolz; author: Mvolz):

[mediawiki/services/citoid@master] [WIP] Add input type to latency info

https://gerrit.wikimedia.org/r/1321997

Change #1321553 merged by jenkins-bot:

[mediawiki/services/citoid@master] Fix logging for request duration

https://gerrit.wikimedia.org/r/1321553