安裝 Google Cloud Monitor Agent for PostgreSQL

Google Cloud Monitor Agent 除了可以 monitor instance 的狀態之外,還可以搭配外掛去監控 web server 或是 db 的狀態。

上一篇 (opens new window) 提到安裝 Google Cloud Monitor Agent,我們主要是使用 PostgreSQL 做為資料庫系統,所以這篇講一下 PostgreSQL 的 plugin。

一樣,按照這篇 PostgreSQL Plugin - Google Cloud Monitoring (opens new window) 的步驟做,有些步驟沒提到的,下面補充一下

修改 pg_hba.conf 這邊,原本 PostgreSQL 就會有 local peer 的設定,只要把 peer 改成 md5 就可以了。

{% codeblock lang:bash %}

# "local" is for Unix domain socket connections only

local all all md5 {% endcodeblock %}

peer 是表示說 user 如果在 server 上有 account 的話就可以直接登入 postgresql 不用密碼,改成 md5 的話,就是 server user 也要密碼才能登入。

另外還要在 postgresql 開個帳號給 stackdriver-agent,至於步驟說的

you must create a user/role with minimal privileges

這邊只要給到可以 login 的權限就好,下圖就是我給的權限

Google Cloud Monitoring

再來是 postgresql.conf 這邊,記得 dbname 要換成要監控的 DB

{% codeblock lang:bash %} LoadPlugin postgresql # Host and port are only used for TCP/IP connections # Leaving them out indicates you wish to connect via domain sockets # Host "localhost" # Port "5432" User "stackdriver-agent" Password "password" Query backends Query transactions Query queries Query table_states Query disk_io Query disk_usage {% endcodeblock %}

如果有多個 DB 要監控,可以參考 Generate Postgres stackdriver config with multiple databases (opens new window) 的 code 去生成postgresql.conf

都弄好,就重新啟動 agent,過一下子就可以看 monitor 看到資料進來了

更多 Google Cloud Platform 的文章 (opens new window)