×

扫描二维码登录本站

QQ登录

只需一步,快速开始

标签: mysql监控
来自:网络


[backcolor=white !important]9

[backcolor=white !important]10

[backcolor=white !important]11

[backcolor=white !important]12

[backcolor=white !important]13

[backcolor=white !important]14

[backcolor=white !important]15

[backcolor=white !important]16

[backcolor=white !important]17

[backcolor=white !important]18

[backcolor=white !important]19

[backcolor=white !important]20

[backcolor=white !important]21

[backcolor=white !important]22

[backcolor=white !important]23

[backcolor=white !important]24

[backcolor=white !important]25

[backcolor=white !important]26

[backcolor=white !important]27

[backcolor=white !important]28

[backcolor=white !important]29

[backcolor=white !important]30

[backcolor=white !important]31

[backcolor=white !important]32

[backcolor=white !important]33

[backcolor=white !important]34

[backcolor=white !important]35

[backcolor=white !important]36

[backcolor=white !important]37

[backcolor=white !important]38

[backcolor=white !important]39

[backcolor=white !important]40

[backcolor=white !important]41

[backcolor=white !important]42

[backcolor=white !important]43

[backcolor=white !important]44

[backcolor=white !important]45

[backcolor=white !important]46

[backcolor=white !important]47

[backcolor=white !important]48

[backcolor=white !important]49

[backcolor=white !important]50

[backcolor=white !important]51

[backcolor=white !important]52

[backcolor=white !important]53

[backcolor=white !important]54

[backcolor=white !important]55

[backcolor=white !important]56

[backcolor=white !important]57

[backcolor=white !important]58

[backcolor=white !important]59

[backcolor=white !important]60

[backcolor=white !important]61

[backcolor=white !important]62

[backcolor=white !important]63

[backcolor=white !important]64

[backcolor=white !important]65

[backcolor=white !important]66

[backcolor=white !important]67

[backcolor=white !important]68

[backcolor=white !important]69

[backcolor=white !important]70

[backcolor=white !important]71

[backcolor=white !important]72

[backcolor=white !important]73

[backcolor=white !important]74

[backcolor=white !important]75

[backcolor=white !important]76

[backcolor=white !important]77

[backcolor=white !important]78

[backcolor=white !important]79

[backcolor=white !important]80

[backcolor=white !important]81

[backcolor=white !important]82

[backcolor=white !important]83

[backcolor=white !important]84

[backcolor=white !important]85

[backcolor=white !important]86

[backcolor=white !important]87

[backcolor=white !important]88

[backcolor=white !important]89

[backcolor=white !important]90

[backcolor=white !important]91

[backcolor=white !important]92

[backcolor=white !important]93

[backcolor=white !important]94

[backcolor=white !important]95

[backcolor=white !important]96

[backcolor=white !important]97

[backcolor=white !important]98

[backcolor=white !important]99

[backcolor=white !important]100

[backcolor=white !important]101

[backcolor=white !important]102

[backcolor=white !important]103

[backcolor=white !important]104

[backcolor=white !important]105

[backcolor=white !important]106

[backcolor=white !important]107

[backcolor=white !important]108

[backcolor=white !important]109

[backcolor=white !important]110

[backcolor=white !important]111

[backcolor=white !important]112

[backcolor=white !important]113

[backcolor=white !important]114

[backcolor=white !important]115

[backcolor=white !important]116

[backcolor=white !important]117

[backcolor=white !important]118

[backcolor=white !important]119

[backcolor=white !important]120

[backcolor=white !important]121

[backcolor=white !important]#!/usr/bin/python2.7                               nagios安装

[backcolor=white !important]# -*- coding:utf-8 -*-

[backcolor=white !important]from __future__ import division

[backcolor=white !important]from optparse import OptionParser

[backcolor=white !important]import commands,sys,jastme,re

[backcolor=white !important]from datetime import datetime

[backcolor=white !important]"""

[backcolor=white !important]    Nagios plugin to report the mysql TPS                   开源监控软件

[backcolor=white !important]    author jastme

[backcolor=white !important]"""


[backcolor=white !important]parser = OptionParser(usage="%prog -w <warning threshold> -c <critical threshold> [ -h ]\n\nBefore use the script,please execute 'grant usage on *.* to monitor@'127.0.0.1' identified by 'monitor';\nflush privileges",version="%prog ")

[backcolor=white !important]         

[backcolor=white !important]parser.add_option("-w", "--warning",action="store", type="string", dest="warn_threshold", help="Warning threshold in percentage")

[backcolor=white !important]         

[backcolor=white !important]parser.add_option("-c", "--critical",action="store", type="string", dest="crit_threshold", help="Critical threshold in percentage")

[backcolor=white !important]                         nagios配置

[backcolor=white !important](options, args) = parser.parse_args()


[backcolor=white !important]try:

[backcolor=white !important]    f=open('/tmp/Com_commit.txt')

[backcolor=white !important]except IOError:

[backcolor=white !important]    f=open('/tmp/Com_commit.txt','w')

[backcolor=white !important]    print 'wait next check,initialize the date time.txt'

[backcolor=white !important]finally:   

[backcolor=white !important]    f.close()


[backcolor=white !important]try:

[backcolor=white !important]    f=open('/tmp/Com_rollback.txt')

[backcolor=white !important]except IOError:

[backcolor=white !important]    f=open('/tmp/Com_rollback.txt','w')

[backcolor=white !important]    print 'wait next check,initialize the date time.txt'                        监控软件

[backcolor=white !important]finally:   

[backcolor=white !important]    f.close()


[backcolor=white !important]try:

[backcolor=white !important]    f=open('/tmp/tpstime.txt')

[backcolor=white !important]except IOError:

[backcolor=white !important]    f=open('/tmp/tpstime.txt','w')

[backcolor=white !important]    print 'wait next check,initialize the date time.txt'

[backcolor=white !important]finally:   

[backcolor=white !important]    f.close()


[backcolor=white !important]class Monitor:


[backcolor=white !important]    def __init__(self,username,password,hostname,port):

[backcolor=white !important]        """ you can call sam var here """

[backcolor=white !important]        self.username = username

[backcolor=white !important]        self.password = password                   nagios实施

[backcolor=white !important]        self.port = port

[backcolor=white !important]        self.hostname = hostname


[backcolor=white !important]    def __Com_commit(self):


[backcolor=white !important]        now=commands.getoutput(''' mysql -u%s -p%s -h%s -P%s -e "show global status like 'Com_commit'" | grep -Po "\d+"  ''' %(self.username,self.password,self.hostname,self.port))

[backcolor=white !important]        now=re.findall(r'\d+',now)[0]

[backcolor=white !important]        f=open('/tmp/Com_commit.txt','r')

[backcolor=white !important]        before=f.readlines()

[backcolor=white !important]        f.close()

[backcolor=white !important]        if before == []:

[backcolor=white !important]            ff=open('/tmp/Com_commit.txt','w')

[backcolor=white !important]            ff.write(now)

[backcolor=white !important]            ff.close()

[backcolor=white !important]        else:

[backcolor=white !important]            before=before[-1]

[backcolor=white !important]            N = int(now)-int(before)

[backcolor=white !important]            ff=open('/tmp/Com_commit.txt','w')

[backcolor=white !important]            ff.write(now)

[backcolor=white !important]            ff.close()

[backcolor=white !important]            return N


[backcolor=white !important]    def __Com_rollback(self):


[backcolor=white !important]        now=commands.getoutput(''' mysql -u%s -p%s -h%s -P%s -e "show global status like 'Com_rollback'" | grep -Po "\d+" '''  %(self.username,self.password,self.hostname,self.port))

[backcolor=white !important]        now=re.findall(r'\d+',now)[0]                  nagios培训

[backcolor=white !important]        f=open('/tmp/Com_rollback.txt','r')

[backcolor=white !important]        before=f.readlines()

[backcolor=white !important]        f.close()

[backcolor=white !important]        if before == []:

[backcolor=white !important]            ff=open('/tmp/Com_rollback.txt','w')

[backcolor=white !important]            ff.write(now)

[backcolor=white !important]            ff.close()

[backcolor=white !important]        else:

[backcolor=white !important]            before=before[-1]

[backcolor=white !important]            ff=open('/tmp/Com_rollback.txt','w')

[backcolor=white !important]            ff.write(now)

[backcolor=white !important]            ff.close()

[backcolor=white !important]            N = int(now)-int(before)

[backcolor=white !important]            return N


[backcolor=white !important]    def __Uptime(self):

[backcolor=white !important]        time_now=datetime.now()

[backcolor=white !important]        ff=open('/tmp/tpstime.txt','r')

[backcolor=white !important]        time_before_str=ff.read()

[backcolor=white !important]        ff.close()

[backcolor=white !important]        if time_before_str=='':

[backcolor=white !important]            ffw=open('/tmp/tpstime.txt','w')

[backcolor=white !important]            ffw.write(str(time_now))

[backcolor=white !important]            ffw.close()

[backcolor=white !important]        else:

[backcolor=white !important]            time_before=datetime.strptime(time_before_str,"%Y-%m-%d %H:%M:%S.%f")

[backcolor=white !important]            delay=(time_now-time_before).seconds

[backcolor=white !important]            ffw=open('/tmp/tpstime.txt','w')

[backcolor=white !important]            ffw.write(str(time_now))

[backcolor=white !important]            ffw.close()

[backcolor=white !important]            return delay



[backcolor=white !important]    def doit(self):

[backcolor=white !important]        _Com_commit = int(self.__Com_commit())

[backcolor=white !important]        _Com_rollback = int(self.__Com_rollback())

[backcolor=white !important]        _Uptime = int(self.__Uptime())

[backcolor=white !important]        R = ( _Com_rollback + _Com_commit) / _Uptime

[backcolor=white !important]        print "TPS is %.1f | TPS=%.1f" %(R,R)


[backcolor=white !important]if __name__ == "__main__":

[backcolor=white !important]    username = "monitor"

[backcolor=white !important]    password = str(jastme.decrypt(119,u'NALBOBJBCBHAGBOA'))

[backcolor=white !important]    hostname = "127.0.0.1"

[backcolor=white !important]    port = "3369"

[backcolor=white !important]    Monitor(username,password,hostname,port).doit()






想做Nagios Zabbix,Cacti,iTop各种交流的,可以进入开源监控工具Nagios交流  QQ群号 476809427





上一篇:nagios监控mysql tps
下一篇:用什么自动推送nagios client脚本
monicazhang

写了 2297 篇文章,拥有财富 12859,被 21 人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

手机版|小黑屋|最新100贴|论坛版块|ITIL先锋论坛 |粤ICP备11099876号|网站地图
Powered by Discuz! X3.4 Licensed  © 2001-2017 Comsenz Inc.
返回顶部