2018年1月14日 星期日

[MySQL][ERROR] Could not use /var/log/mysql-slow-queries.log for logging (error 13)

        因為Zabbix最近有效能的問題,監控數千台有時會整個斷圖,想搞清出到底是Server不夠力還是DB本身不夠力,但是斷圖什監控項資料都沒了,都無法釐清當時狀況,很尷尬,所以另外裝了Percona Monitoring and Management (PMM)來監控Zabbix Server跟DB,PMM安裝可用docker實現無腦安裝很簡單,但設定上有些麻煩目前還搞不定,其中有項功能就是會自動幫你rotate slow log,但我發現只會幫你mv,不會幫你touch,意思就是更名後就沒有slow log,那就不會紀錄slow query囉,這就不易debug

        當slow log不存在時,touch一下,chown後,進mysql再flush slow logs,通常slow query就會正常紀錄了
touch /var/log/slow.log
chown mysql.mysql /var/log/slow.log
flush slow logs

        但這次竟然失敗,slow log依然是空的,我反覆試了幾次都如此,Error log有告知解法是要你重啟mysql,有沒有搞錯啊?DB是能隨便重啟的嗎?


        我看了一下0k的檔案,很像被什程序咬住的樣子,該不會是PMM本身Query Analytics的功能造成的,由於它會去分析slow log,它咬住了嗎?試試看重啟PMM服務,竟然就成功了,slow log馬上有資料寫入,看來我運氣不錯


        得趕快想辦法把rotate功能關掉,但發現似乎無法關閉,QAN: Slow Log Configuration + Bug in Logrotation,那就只好定時清理囉,不要讓QAN有機會幫你清就好

0 意見:

張貼留言