Zabbix呼叫python指令碼監控mysql主從狀態
指令碼只監控從庫的同步狀態
Zabbix安裝路徑:/usr/local/zabbix/
zabbix客戶端:192.168.15.66
一、配置指令碼查詢mysql帳號許可權
CREATE USER 'showslavestatus'@'localhost' IDENTIFIED BY '123456';
GRANT REPLICATION CLIENT ON *.* TO 'showslavestatus'@'localhost';
二、建立py指令碼存放路徑/usr/local/zabbix/script
cat SHOWSLAVESTATUS.py
#!/usr/bin/python3 # -*- coding: utf-8 -*- #__author:"zhengchaooo" #date: 2018/3/31 import re,os class SHOWSLAVESTATUS: mysqlpath = '/usr/local/d/bin/mysql' def __init__(self,ip,port,username,pwd): self.ip = ip self.port = port self.username = username self.pwd = pwd def show(self,content): pip = os.popen('%s -h %s -P %s -u%s -p%s -e %s'%(self.mysqlpath,self.ip,self.port,self.username,self.pwd,content)).read() Slave_IO_Running = ((re.search('Slave_IO_Running: [\S]*', pip)).group()[18:]) Slave_SQL_Running = ((re.search('Slave_SQL_Running: [\S]*', pip)).group()[19:]) Last_Errno = int((re.search('Last_Errno: [\d]*',pip)).group()[12:]) print ('Slave_IO_Running:%s Slave_SQL_Running:%s Last_Errno:%s'%(Slave_IO_Running,Slave_SQL_Running,Last_Errno)) if Last_Errno == 0 and Slave_IO_Running == 'Yes' and Slave_SQL_Running == 'Yes': print ('Yes,主從庫同步正常') else: print ('False,主從庫同步異常') s1 = SHOWSLAVESTATUS('127.0.0.1','63307','showslavestatus','123456') s1.show('\"SHOW SLAVE STATUS\G\"')
授予許可權chmod +x SHOWSLAVESTATUS.py
測試指令碼./SHOWSLAVESTATUS.py
Slave_IO_Running #I/O執行緒是否被啟動併成功地連線到主伺服器上 Slave_SQL_Running #SQL執行緒是否被啟動 Last_Errno #被多數最近被執行的查詢返回的錯誤數量和錯誤訊息。錯誤數量為0並且訊息為空字串意味著“沒有錯誤”。 提示:Warning: Using a password on the command line interface can be insecure 在MySQL 5.6 在命令列輸入密碼,就會提示這些安全警告資訊,直接無視
三、新增zabbix_agentd.conf自定義配置指令碼 編輯/usr/local/zabbix/etc/zabbix_agentd.conf 增加
UnsafeUserParameters=1
UserParameter=SHOWSLAVESTATUS[*],/usr/local/zabbix/script/SHOWSLAVESTATUS.py
重啟zabbix_agentd,指令碼可以呼叫
四、在zabbix伺服器上呼叫測試
執行命令 192.168.15.66是客戶端指令碼的地址 /usr/local/zabbix/bin/zabbix_get -s 192.168.15.66 -p 30050 -k "SHOWSLAVESTATUS"
五、在zabbix新增監控指令碼
然後檢視最新資料檢視接收資料
六、建立觸發器,要是接收到False就告警
這邊關閉主庫資料庫檢查是否會告警
成功接收到報警郵件
相關推薦
Zabbix呼叫python指令碼監控mysql主從狀態
指令碼只監控從庫的同步狀態Zabbix安裝路徑:/usr/local/zabbix/zabbix客戶端:192.168.15.66一、配置指令碼查詢mysql帳號許可權CREATE USER 'showslavestatus'@'localhost' IDENTIFIED B
zabbix自定義監控mysql主從狀態,並做郵件告警
指定 def brush stat 群組 root -a utf-8 動作 通過zabbix自定義監控mysql主從狀態,並做郵件告警 分析: mysql主要是通過主從來提供安全性
zabbix自定義監控mysql主從狀態,並做郵件告警(詳細解說)
通過zabbix自定義監控mysql主從狀態,並做郵件告警 分析: mysql主要是通過主從來提供安全性,一個完整的主從體系,就應該包括資料同步、開啟二進位制日誌、全備、還有對Slave_IO_Running和Slave_SQL_Running兩個執行緒的實時監測,並做告警,而zabb
zabbix監控MySQL主從狀態
環境要求: 系統平臺 IP 安裝的服務 redhat7 192.168.225.128 MySQL redhat7 192.168.
linux上zabbix監控mysql主從狀態
linux上zabbix監控mysql主從狀態 1:主從mysql上,建立監控使用者 #建立zabbix監控使用者(只有查詢許可權) grant select on *.* to [email protected]'127
Mysql主從狀態監控腳本
mysql主從監控腳本目標:對Mysql從庫進行狀態監控,如果從庫復制異常就告警思路:1、首先查找Mysql從庫的4個參數值(show slave status根據這個命令);分別是從庫的IO線程、SQL線程、復制延遲時間(這個在以下腳本沒用到,可以再寫個腳本對其延遲進行告警)、錯誤碼2、函數Mysql_st
zabbix使用Python實現監控MongoDB副本集狀態
python zabbix mongodb pymongo 公司有 Windows 和 Linux 服務器,都搭建了 MongoDB 副本集,並且都要在 zabbix 平臺中實現監控。Linux 系統直接使用 shell 腳本即可實現,但是 Windows 系統的不太好實現,我這裏使用
監控mysql主從同步狀態是否異常,如果異常,則發生短信或郵寄給管理員
監控mysql主從同步狀態是否異常階段1:開發一個守護進程腳本每30秒實現檢測一次。階段2:如果同步出現如下錯誤號(1158,1159,1008,1007,1062),請跳過錯誤階段3:請使用數組技術實現上述腳本(獲取主從判斷及錯誤號部分)[[email protected]/* */ ~]# m
zabbix監控mysql主從復制
zabbix監控mysql主從復制 zabbix mysql5.6zabbix監控mysql主從復制.監控MySQL的復制原理:利用在slave上運行show slave status獲取Slave_IO_Running和Slave_SQL_Running的值1.在mysql上新建監控用戶 grant r
監控mysql主從同步狀態
inf http use 監控mysql 編寫 運行時 xxxxx 操作 ast 在高並發網站架構中,MySQL數據庫主從同步是不可或缺的,不過經常會發生由於網絡原因或者操作錯誤,MySQL主從經常會出現不同步的情況,那麽如何監控MySQL主從同步,也變成網站正常運行的重要
python腳本 監控MySQL slave 狀態
nbsp xxxxx oot lB seconds pytho split() show split #!/usr/bin/python#!gbk import osimport sys mysqlbase = ‘/usr/bin/mysql‘host = ‘ip‘us
zabbix企業級監控之監控MYSQL主從
專題 定期 mar lin 更新 技術分享 host tex src 1.監控mysql 主從的要監控哪些指標?根據Slave_SQL_Running和Slave_IO_Running的線程狀況去判斷主從的情況,Yes的個數是2的時候就說明主從的是正常的2.設置shell與
zabbix監控mysql主從同步
2個 多少 mon 令行 stat ffffff name http dad 1,部署了個mysql從數據庫,需要時時監控這個從數據庫的主從狀態。原理的話,是通過從mysql上的zabbix執行show slave status獲取Slave_IO_Running|Slav
python 監控mysql主從
soc col 主從 spa fetchall pan swd second egg #!/usr/bin/env python #-*- coding: utf-8 -*- import os os.environ[‘PYTHON_EGG_CACHE‘] = ‘/tmp
zabbix監控mysql主從
環境說明: 主機名 ip 服務 zhu 192.168.100.233 主資料庫 cong 192.168.100.234 從資料庫 zabbix 192.168.100.11 zabbix 關閉防火牆、selinux 搭建zabbi
zabbix監控MySQL服務狀態
Mysql模板使用 在zabbix_agent配置檔案中加入監控配置 vim etc/zabbix_agentd.conf ... UserParameter=mysql.version,mysqladmin -P3366 -hlocalhost version | grep mysqladmin UserP
zabbix自帶模板監控MySQL服務
items brush 主機 onf password 只讀 nbsp rap ges 1.GUI界面添加Mysql模板Configuration --> Hosts --> 點擊要添加的主機 --> Templates 添加新的模板,點擊Select -
zabbix 自帶模板監控Mysql
zabbix1,配置mysql的客戶端,創建一個用戶來獲取mysql的相關數據,使用mysql賬號密碼登陸數據庫, > grant all on *.* to zabbix@‘localhost‘ identified by ‘123456789‘; 我這是測試環境就用all來授
zabbix通過percona模板監控MySQL
mil gen 拷貝 client wid mon err -i type 現有環境已經安裝了zabbix server和 agent端1 下載percona監控插件https://www.percona.com/downloads/percona-monitoring
日常管理03-監控MYSQL主從延時3秒腳本;
urn print inf lines ssa utf message lru mes #!/bin/env python # -*- encoding: utf-8 -*- import time import os import sys import json impo