Zabbix監控MySQL


Zabbix監控MySQL

  • agent

    $ vim /usr/local/zabbix/etc/zabbix_agentd.conf
    # 添加自定義的目錄
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
    
    $ cp /usr/local/src/zabbix-3.4.15/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
    $ cd /usr/local/zabbix/etc/
    # mysql會去讀取里面的配置,這樣可以不用在配置中寫上用戶名和密碼
    $ vim .my.cnf
        [mysql]
        host=localhost
        user=zabbix
        password=123456789
        socket=/var/lib/mysql/mysql.sock
        [mysqladmin]
        host=localhost
        user=zabbix
        password=123456789
        socket=/var/lib/mysql/mysql.sock
    

      

socket可以通過find / -name mysql.sock去找 賬號密碼需要數據庫授權

$ sed -i 's@/var/lib/zabbix@/usr/local/zabbix/etc@g' zabbix_agentd.conf.d/userparameter_mysql.conf 

HOME目錄為剛才.mf.cnf的路徑

$ vim zabbix_agentd.conf
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
$ service zabbix_agentd restart
  • server端測試

$ /usr/local/zabbix/bin/zabbix_get -s IP -p 10050 -k mysql.ping
1

MySQL監控項的含義解釋

Name key comment
MySQL bytes sent per second mysql.status[Bytes_sent] 每間隔時間發給所有客戶端的字節數
MySQL delete operations per second mysql.status[Com_delete] 執行delete操作的數量
MySQL bytes received per second mysql.status[Bytes_received] 每間隔從所有客戶端接收到的字節數
MySQL queries per second mysql.status[Questions] 已經發送給服務器的查詢
MySQL slow queries mysql.status[Slow_queries] 查詢時間操作 long_query_time 秒的查詢個數
MySQL begin operations per second mysql.status[Com_begin] 開啟事務的次數
MySQL commit operations per second mysql.status[Com_commit] 提交事務的次數
MySQL insert operations per second mysql.status[Com_insert] 執行insert操作的數量
MySQL uptime mysql.status[Uptime] 服務器已經運行的時間
MySQL status mysql.ping mysql狀態
MySQL select operations per second mysql.status[Com_select] 執行select操作的數量
MySQL update operations per second mysql.status[Com_update] 執行update操作的數量
MySQL rollback operations per second mysql.status[Com_rollback] 回滾事務的次數
MySQL version mysql.version mysql版本

 

自定義監控主從狀態

在自帶的監控MySQL的配置文件中,是沒有監控MySQL主從狀態的,所以需要自己去修改配置。

 

自定義監控項目

$ vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql_status.conf
# Format: UserParameter=<key>,<shell command>
UserParameter=mysql.status.sql,,mysql -uzabbix -p'12345678' -e "show slave status\G" 2>/dev/null | grep Slave_IO_Running | awk -F":" '{print $NF}' | grep Yes | wc -l
UserParameter=mysql.status.io,mysql -uzabbix -p'12345678' -e "show slave status\G" 2>/dev/null | grep Slave_SQL_Running: | awk -F":" '{print $NF}' | grep Yes | wc -l
 
$ service zabbix_agentd restart

  

檢測效果(server端操作)

$ /usr/local/zabbix/bin/zabbix_get -s 172.16.142.141 -k mysql.status.sql
1

 

11

12

設置觸發器

多個表達式之間關系,如果是或 or 如果是和 and

13

根據上述的,我們可以更改我們的自定義,不在我們的配置中寫上密碼,增加安全性

HOME=/usr/local/zabbix/etc mysql -e "show slave status\G" 2>/dev/null | grep Slave_SQL_Running: | awk -F":" '{print $NF}' | grep Yes | wc -l
HOME=/usr/local/zabbix/etc mysql -e "show slave status\G" 2>/dev/null | grep Slave_SQL_Running: | awk -F":" '{print $NF}' | grep Yes | wc -l

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM