-
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
設置觸發器
多個表達式之間關系,如果是或 or 如果是和 and
根據上述的,我們可以更改我們的自定義,不在我們的配置中寫上密碼,增加安全性
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