這是我的一位朋友的一句話,他曾經向我詢問過關於 Postgres 的問題。 然後我們在幾天內解決了他的問題,他感謝我並補充道:“有一個熟悉的 DBA 真是太好了。”
但是如果您不認識 DBA 該怎麼辦? 答案可能有很多選擇,從在朋友中尋找朋友到自己研究問題。 但無論你想到什麼答案,我都有好消息可以告訴你。 在測試模式下,我們為 Postgres 及其周邊的一切推出了推薦服務。 這是什麼?我們是如何過著這樣的生活的?
這是為什麼呢?
Postgres 至少不容易,有時甚至非常困難。 取決於參與程度和責任程度。
從事營運工作的人員需要確保 Postgres 即服務正常穩定地工作——監控資源的利用率、可用性、配置的充分性,定期進行更新和定期健康檢查。 一般來說,那些開發和編寫應用程式的人需要監視應用程式如何與資料庫交互,並且不會造成可能導致資料庫崩潰的緊急情況。 如果一個人不幸成為技術主管/技術總監,那麼對他來說重要的是Postgres作為一個整體工作可靠、可預測並且不會產生問題,同時建議不要長期深入研究Postgres 。
在任何一種情況下,都有你和 Postgres。 為了很好地服務Postgres,你需要對它有一個很好的理解,並了解它是如何運作的。 如果 Postgres 不是一個直接的專業,那麼你可以花相當多的時間來學習它。 理想情況下,當有時間和願望時,並不總是清楚從哪裡開始、如何以及向何處移動。
即使引入監控(理論上應該有利於操作),專家知識的問題仍然懸而未決。 為了能夠閱讀和理解圖表,您仍然需要很好地理解 Postgres 的工作原理。 否則,任何監控都會變成悲傷的圖片和一天中隨機時間發出的垃圾郵件。
該服務的主要目標是提供明確的建議,讓人們了解正在發生的事情以及下一步需要做什麼。
對於不具備專業知識的專業人員,這些建議為高階培訓提供了起點。 對於高級專家,建議指出了應注意的事項。 在這方面,Weaponry 充當助手,執行日常任務以發現需要特別注意的問題或缺點。 Weaponry 可以比喻為檢查 Postgres 並指出缺陷的 linter。
現在情況怎麼樣?
在此刻,
順便說一句,這些建議仍然非常簡單 - 他們只是說要做什麼以及如何做,沒有其他細節 - 所以首先你必須點擊相關連結或谷歌它。 檢查和建議涵蓋系統和硬體設定、Postgres 本身的設定、內部架構以及使用的資源。 計劃中還有很多東西需要補充。
當然,我們正在尋找願意嘗試該服務並提供回饋的志工。 我們還有
更新於 2020 年 09 月 16 日。 入門。
註冊後,系統會提示使用者建立一個項目 - 它允許您將資料庫執行個體組合到群組中。 建立專案後,使用者將看到有關配置和安裝代理的說明。 簡而言之,您需要為代理程式建立用戶,然後下載代理安裝腳本並執行它。 在 shell 命令中,它看起來像這樣:
psql -c "CREATE ROLE pgscv WITH LOGIN SUPERUSER PASSWORD 'A7H8Wz6XFMh21pwA'"
export PGSCV_PG_PASSWORD=A7H8Wz6XFMh21pwA
curl -s https://dist.weaponry.io/pgscv/install.sh |sudo -E sh -s - 1 6ada7a04-a798-4415-9427-da23f72c14a5
如果主機有 pgbouncer,那麼您還需要建立一個使用者來連接代理。 在 pgbouncer 中配置使用者的具體方法可能非常多變,並且高度依賴所使用的配置。 一般來說,設定歸結為將用戶添加到 統計用戶數 設定檔(通常 pgbouncer.ini)並將密碼(或其雜湊值)寫入參數中指定的文件 auth_file。 如果變更 stats_users,則需要重新啟動 pgbouncer。
install.sh 腳本採用幾個對於每個項目都是唯一必要的參數,並透過環境變數接受所建立使用者的詳細資訊。 接下來,腳本以引導模式啟動代理程式 - 代理程式將自身複製到 PATH,建立包含詳細資訊的配置、systemd 單元並作為 systemd 服務啟動。
這樣就完成安裝了。 幾分鐘之內,資料庫實例將出現在介面的主機清單中,您已經可以查看第一個建議。 但重要的一點是,許多推薦需要大量累積的指標(至少每天)。
來源: www.habr.com