{"id":2710,"date":"2023-11-10T13:06:51","date_gmt":"2023-11-10T13:06:51","guid":{"rendered":"https:\/\/www.infobip.com\/developers\/?p=2710"},"modified":"2023-11-14T15:34:12","modified_gmt":"2023-11-14T15:34:12","slug":"how-many-engineers-does-it-take-to-monitor-100-postgres-clusters","status":"publish","type":"post","link":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters","title":{"rendered":"How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">It sounds like the beginning of a joke, but it\u2019s not. The answer, as per our experience, is 5.\u00a0 Here is how to plan, implement, and document your own monitoring solution to make that possible.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before we start with the technicalities, let me explain why this topic has an essential role in any company, regardless of its size. Infobip, where I work, is one of the biggest telecommunication companies in the CPaaS domain, where <strong>we maintain over 200 DB instances with PostgreSQL flavor deployed.\u00a0<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"328\" src=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-1024x328.png\" alt=\"\" class=\"wp-image-2711\" srcset=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-1024x328.png 1024w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-300x96.png 300w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-768x246.png 768w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image.png 1035w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We were lucky enough to be a newly formed team in the company, so we had a chance to <strong>create our monitoring solution from scratch<\/strong> and set the way we wanted to maintain our clusters.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is a daunting task, but it carries a huge reward as well. Not to mention that it is always easier to make changes and modifications to a system you have created and know well, in comparison to updating a legacy system. I can confirm that from my personal experience \u2013 in one of my previous jobs, we inherited a monitoring solution, and it wiped the smile from my face for a couple of months.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting it up&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now, let\u2019s start with the fun part.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We have our own internal tool for deployment where every service (DB, ETCD, PgBackrest, exporters) is installed as a docker container. So, in order to collect metrics and statistics from the DB, we are deploying Postgres Exporter on the same VM where the DB is deployed (we are doing the same for ETCD with its respective metrics proxy). This is from our side. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the other hand, <a href=\"https:\/\/prometheus.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Prometheus<\/a> is available on the Infobip infrastructure platform. Prometheus components are:\u00a0<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Prometheus Server <\/strong>&#8211; component for scraping metrics from configured targets&nbsp;<\/li>\n\n\n\n<li><strong>Prometheus Pushgateway<\/strong> &#8211; component for pushing metrics to Prometheus&nbsp;<\/li>\n\n\n\n<li><strong>Prometheus Alertmanager<\/strong> &#8211; component for routing and sending alerts&nbsp;<\/li>\n\n\n\n<li><strong>Grafana<\/strong> &#8211; UI for visualising data from Prometheus Server&nbsp;<\/li>\n\n\n\n<li><strong>Prometheus Agent<\/strong> &#8211; service for reconfiguring Prometheus Server and Alertmanager\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Prometheus Server and Alertmanager are configured via Git repository, so any change pushed to branch <strong>master<\/strong> will be applied on Prometheus Server or Alertmanager<strong> within<\/strong> <strong>a minute<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Metrics scraping is configured with <strong>scraping jobs, <\/strong>which are configured in the <strong>prometheus.yml<\/strong> file.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In other words, we have such a great infrastructure team that we have only one responsibility: <strong>make our metrics available for a Prometheus server to scrape<\/strong>. This is done by exposing an HTTP endpoint, usually \/metrics, which returns the complete list of metrics (with label sets) and their values. This endpoint should be very cheap to call as it simply should output the current value of each metric without doing any calculation.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alerting with Prometheus is separated into two parts. Alerting rules in Prometheus servers send alerts to Alertmanager. The <a href=\"https:\/\/prometheus.io\/docs\/alerting\/latest\/alertmanager\/\" target=\"_blank\" rel=\"noreferrer noopener\">Alertmanager<\/a> then manages those alerts, including silencing, inhibition, aggregation and sending out notifications via methods such as email, on-call notification systems, and chat platforms.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The main steps to setting up alerting and notifications are:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Setup and <a href=\"https:\/\/prometheus.io\/docs\/alerting\/latest\/configuration\/\" target=\"_blank\" rel=\"noreferrer noopener\">configure<\/a> the Alertmanager&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/configuration\/configuration\/#alertmanager_config\" target=\"_blank\" rel=\"noreferrer noopener\">Configure Prometheus<\/a> to talk to the Alertmanager&nbsp;<\/li>\n\n\n\n<li>Create <a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/configuration\/alerting_rules\/\" target=\"_blank\" rel=\"noreferrer noopener\">alerting rules<\/a> in Prometheus&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Our exporter has its own SQL queries in its Bitbucket repository that it executes on the respective DB.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We have separated bigger queries (e.g., for bloat) into their own .sql files, while the majority of the queries remain in the same file.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Part of the query for monitoring bloat:\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"361\" src=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-2-1024x361.png\" alt=\"\" class=\"wp-image-2713\" srcset=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-2-1024x361.png 1024w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-2-300x106.png 300w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-2-768x271.png 768w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-2.png 1272w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Smaller queries:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"361\" src=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-1-1024x361.png\" alt=\"\" class=\"wp-image-2712\" srcset=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-1-1024x361.png 1024w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-1-300x106.png 300w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-1-768x271.png 768w, https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/image-1.png 1272w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Final words of wisdom\u00a0<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There is one thing I would like to emphasize: Write <strong>extensive documentation<\/strong> during the implementation of the monitoring solution. I know this is not the first time you\u2019ve read that the documentation is important, but tell me this \u2013 are you brave enough to deploy to production without having a monitoring set? Feeling lucky?&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you have detailed documentation, implementation for you, and most importantly, for the people who come after you, it will be golden. I have already mentioned my experience with inheriting a monitoring solution and what it can do to a person. This way, there will be no question marks with the newbies.\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When everything is said and done, <strong>I leave you no choice but to implement a great monitoring solution.\u00a0\u00a0<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our way is just one of the paths you can go &#8211; I am not here to brag about what great monitoring we have. It is rather to raise awareness of the importance of the monitoring solution and its quality.\u00a0\u00a0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For us, DBAs, data is our bread and butter, and its consistency is the most important thing. Because of that, monitoring DBs is a crucial part of preventing issues in production. And even if they happen, being able to check and compare past data during troubleshooting makes all the difference.\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It sounds like the beginning of a joke, but it\u2019s not. The answer, as per our experience, is 5.<\/p>\n","protected":false},"author":50,"featured_media":2715,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[249],"tags":[41],"coauthors":[271],"class_list":["post-2710","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops-and-security","tag-developer-practices"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0<\/title>\n<meta name=\"description\" content=\"It sounds like the beginning of a joke, but it\u2019s not. The answer, as per our experience, is 5.\u00a0 Here is how to make that possible.\u00a0\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0\" \/>\n<meta property=\"og:description\" content=\"It sounds like the beginning of a joke, but it\u2019s not. The answer, as per our experience, is 5.\u00a0 Here is how to make that possible.\u00a0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters\" \/>\n<meta property=\"og:site_name\" content=\"Infobip Developers Hub\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/infobip\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-10T13:06:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-14T15:34:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/Untitled-design-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Niksa Skaro\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@InfobipDev\" \/>\n<meta name=\"twitter:site\" content=\"@InfobipDev\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Niksa Skaro\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters\"},\"author\":{\"name\":\"Niksa Skaro\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/c59dab1b9eadb1a5ab6086b63e63d5e7\"},\"headline\":\"How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0\",\"datePublished\":\"2023-11-10T13:06:51+00:00\",\"dateModified\":\"2023-11-14T15:34:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters\"},\"wordCount\":807,\"publisher\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/Untitled-design-2.jpg\",\"keywords\":[\"developer practices\"],\"articleSection\":[\"DevOps and Security\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters\",\"url\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters\",\"name\":\"How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0\",\"isPartOf\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/Untitled-design-2.jpg\",\"datePublished\":\"2023-11-10T13:06:51+00:00\",\"dateModified\":\"2023-11-14T15:34:12+00:00\",\"description\":\"It sounds like the beginning of a joke, but it\u2019s not. The answer, as per our experience, is 5.\u00a0 Here is how to make that possible.\u00a0\",\"breadcrumb\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#primaryimage\",\"url\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/Untitled-design-2.jpg\",\"contentUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/Untitled-design-2.jpg\",\"width\":1200,\"height\":900},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.infobip.com\/developers\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#website\",\"url\":\"https:\/\/www.infobip.com\/developers\/\",\"name\":\"Infobip Developers Hub\",\"description\":\"Build meaningful customer relationships across any channel\",\"publisher\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.infobip.com\/developers\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#organization\",\"name\":\"Infobip Developers Hub\",\"url\":\"https:\/\/www.infobip.com\/developers\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png\",\"contentUrl\":\"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png\",\"width\":696,\"height\":696,\"caption\":\"Infobip Developers Hub\"},\"image\":{\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/infobip\/\",\"https:\/\/x.com\/InfobipDev\",\"https:\/\/www.youtube.com\/channel\/UCUPSTy53VecI5GIir3J3ZbQ\",\"https:\/\/github.com\/infobip-community\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/c59dab1b9eadb1a5ab6086b63e63d5e7\",\"name\":\"Niksa Skaro\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/image\/2489edf5fa9d132eef70e58cd8067a0a\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4b933c8e214c326b548471651c5cc8f75d1b4b965189dd709a20fb2d73ef42f6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4b933c8e214c326b548471651c5cc8f75d1b4b965189dd709a20fb2d73ef42f6?s=96&d=mm&r=g\",\"caption\":\"Niksa Skaro\"},\"description\":\"Niksa is a senior database administrator specializing in PostgreSQL. He is a team player, eclectic vinyl collector, and extreme sport enthusiast but also enjoys the zen of walking his dog.\",\"url\":\"https:\/\/www.infobip.com\/developers\/blog\/author\/niksa-skaro\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0","description":"It sounds like the beginning of a joke, but it\u2019s not. The answer, as per our experience, is 5.\u00a0 Here is how to make that possible.\u00a0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters","og_locale":"en_US","og_type":"article","og_title":"How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0","og_description":"It sounds like the beginning of a joke, but it\u2019s not. The answer, as per our experience, is 5.\u00a0 Here is how to make that possible.\u00a0","og_url":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters","og_site_name":"Infobip Developers Hub","article_publisher":"https:\/\/www.facebook.com\/infobip\/","article_published_time":"2023-11-10T13:06:51+00:00","article_modified_time":"2023-11-14T15:34:12+00:00","og_image":[{"width":1200,"height":900,"url":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/Untitled-design-2.jpg","type":"image\/jpeg"}],"author":"Niksa Skaro","twitter_card":"summary_large_image","twitter_creator":"@InfobipDev","twitter_site":"@InfobipDev","twitter_misc":{"Written by":"Niksa Skaro","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#article","isPartOf":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters"},"author":{"name":"Niksa Skaro","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/c59dab1b9eadb1a5ab6086b63e63d5e7"},"headline":"How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0","datePublished":"2023-11-10T13:06:51+00:00","dateModified":"2023-11-14T15:34:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters"},"wordCount":807,"publisher":{"@id":"https:\/\/www.infobip.com\/developers\/#organization"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#primaryimage"},"thumbnailUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/Untitled-design-2.jpg","keywords":["developer practices"],"articleSection":["DevOps and Security"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters","url":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters","name":"How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0","isPartOf":{"@id":"https:\/\/www.infobip.com\/developers\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#primaryimage"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#primaryimage"},"thumbnailUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/Untitled-design-2.jpg","datePublished":"2023-11-10T13:06:51+00:00","dateModified":"2023-11-14T15:34:12+00:00","description":"It sounds like the beginning of a joke, but it\u2019s not. The answer, as per our experience, is 5.\u00a0 Here is how to make that possible.\u00a0","breadcrumb":{"@id":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#primaryimage","url":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/Untitled-design-2.jpg","contentUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/11\/Untitled-design-2.jpg","width":1200,"height":900},{"@type":"BreadcrumbList","@id":"https:\/\/www.infobip.com\/developers\/blog\/how-many-engineers-does-it-take-to-monitor-100-postgres-clusters#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.infobip.com\/developers\/"},{"@type":"ListItem","position":2,"name":"How many engineers does it take to monitor 100 Postgres clusters?\u00a0\u00a0"}]},{"@type":"WebSite","@id":"https:\/\/www.infobip.com\/developers\/#website","url":"https:\/\/www.infobip.com\/developers\/","name":"Infobip Developers Hub","description":"Build meaningful customer relationships across any channel","publisher":{"@id":"https:\/\/www.infobip.com\/developers\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.infobip.com\/developers\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.infobip.com\/developers\/#organization","name":"Infobip Developers Hub","url":"https:\/\/www.infobip.com\/developers\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/","url":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png","contentUrl":"https:\/\/www.infobip.com\/developers\/wp-content\/uploads\/2023\/03\/Infobip_logo_favicon.png","width":696,"height":696,"caption":"Infobip Developers Hub"},"image":{"@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/infobip\/","https:\/\/x.com\/InfobipDev","https:\/\/www.youtube.com\/channel\/UCUPSTy53VecI5GIir3J3ZbQ","https:\/\/github.com\/infobip-community"]},{"@type":"Person","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/c59dab1b9eadb1a5ab6086b63e63d5e7","name":"Niksa Skaro","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.infobip.com\/developers\/#\/schema\/person\/image\/2489edf5fa9d132eef70e58cd8067a0a","url":"https:\/\/secure.gravatar.com\/avatar\/4b933c8e214c326b548471651c5cc8f75d1b4b965189dd709a20fb2d73ef42f6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4b933c8e214c326b548471651c5cc8f75d1b4b965189dd709a20fb2d73ef42f6?s=96&d=mm&r=g","caption":"Niksa Skaro"},"description":"Niksa is a senior database administrator specializing in PostgreSQL. He is a team player, eclectic vinyl collector, and extreme sport enthusiast but also enjoys the zen of walking his dog.","url":"https:\/\/www.infobip.com\/developers\/blog\/author\/niksa-skaro"}]}},"_links":{"self":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/2710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/comments?post=2710"}],"version-history":[{"count":1,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/2710\/revisions"}],"predecessor-version":[{"id":2714,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/posts\/2710\/revisions\/2714"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/media\/2715"}],"wp:attachment":[{"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/media?parent=2710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/categories?post=2710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/tags?post=2710"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.infobip.com\/developers\/wp-json\/wp\/v2\/coauthors?post=2710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}