使用python写一个监控mysql的脚本,在zabbix web上加上模板:

##先使用MySQLdb的接口关联数据库。

[root@cml python]# cat check_Mysql_custom.py

#!/usr/local/bin/python

'''author = chenmingle'''

'''Description:get mysql status'''

import os

import sys

try:

import MySQLdb as mysql

except Exception, e:

print e

print "pip install MySQL-python"

sys.exit(1)

con = mysql.connect(host='localhost',user='root',passwd='passwd',)

def processlist():

cur = con.cursor()

sql1 = 'show processlist'

a = str(cur.execute(sql1))

print a

def slave_status():

cur = con.cursor()

sql2 = cur.execute('show status like "%Slave_running%";')

status2 = str(cur.fetchall())

check2 = status2.split("'")[3]

if check2 == 'ON':

print 0

else:

print 1

def show_status(type):

cur = con.cursor()

b = cur.execute('show status like "%s";' %(type))

for i in cur.fetchall():

cat = str(i)

check = str(cat.split("'")[3])

print check

def main(type):

if type == 'processlist':

processlist()

elif type == 'slave_status':

slave_status()

else:

show_status(type)

if __name__ == '__main__':

try:

type = sys.argv[1]

except Exception, e:

print "Usage: python %s type" % sys.argv[0]

sys.exit(1)

main(type)

假如执行测试时报以下错误:

[root@cml python]# python check_Mysql_custom.py slave_status

Traceback (most recent call last):

File "test.py", line 14, in

con = mysql.connect(user='zabbix',passwd='',port=3306)

File "/usr/local/lib/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect

return Connection(*args, **kwargs)

File "/usr/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 193, in __init__

super(Connection, self).__init__(*args, **kwargs2)

_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)")

执行以下命令可以解决:

[root@cml python]# mkdir /var/lib/mysql

[root@cml python]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

##测试一下脚本:

[root@cml python]# python check_Mysql_custom.py processlist

3

[root@cml python]# python check_Mysql_custom.py Connections

55876

##测试显示所有在mysql中show status的都可以输出信息出来:

##写一个模板配置文件(自定义key值):

[root@cml zabbix_agentd.d]# cat Mysql_Custom.conf

UserParameter=mysql.Custom[*],/usr/local/bin/python /home/python/check_Mysql_custom.py $1

##在zabbix web界面上加入模板:

##增加一个Appaliactions:

##加入item值:

python写mysql脚本_使用python写一个监控mysql的脚本,在zabbix web上加上模板相关推荐

  1. python selenium脚本_怎样开始写第一个基于python的selenium脚本

    1.下载并安装python(http://www.python.org/geti/). 2.安装selenium(http://pypi.python.org/pypi/selenium)下载并解压缩 ...

  2. python写魔兽世界脚本_用python bat写软件安装脚本 + HM NIS Edit自动生成软件安装脚本...

    2019-03-11更新:原来NSIS脚本也可以禁用64位文件操作重定向的! 1.在安装脚本的开始处定义 LIBRARY_X64. !include "MUI.nsh" !incl ...

  3. java调用python脚本_调用Python写vb的脚本方法

    某个项目中涉及到这样一个情景: VB写的原始项目要调用Python的一些方法完成特殊的操作, 那么这就涉及到了,在.Net Framework中如何调用Python的脚本方法. 具体步骤流程如下所示: ...

  4. python网络游戏脚本_用Python写一个游戏脚本,你会吗?

    学习python有一段时间了,由于python语言的强大和简洁,是一个不错的脚本语言,就准备做个游戏脚本练练手.如果你也想多练项目实战.可以去小编的Python交流.裙 :一久武其而而流一思(数字的谐 ...

  5. python写一个网络测速脚本_利用Python实现网络测试的脚本分享

    前言 最近同学让我帮忙写一个测试网络的工具.由于工作上的事情,断断续续地拖了很久才给出一个相对完整的版本.其实,我Python用的比较少,所以基本都是边查资料边写程序. 程序的主要逻辑如下: 读取一个 ...

  6. python测试抽奖脚本_使用 Python 写一个简易的抽奖程序

    不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下 ...

  7. 用python写shell脚本_应用python编写shell脚本

    今天同事叫我编写一个shell脚本.话说,虽然我受*nix的影响甚深,但是对于*nix里随处可见的sh脚本却是讨厌之极.为什么讨厌呢?首先是因为sh脚本那莫名其妙的语法,感觉就像随写随扔的程序,完全没 ...

  8. python写自动答题脚本_编写Python脚本拉取优学院答案

    上个月审计了云班课和优学院的前端代码,实现了强制修改视频进度和获取选择题答案的功能.但是单个发包效率太低了,昨晚开始着手写了一个脚本,早上修改了一下,基本功能写出来了.考虑到风险,这个脚本是获取答案, ...

  9. python写机器人程序_用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

最新文章

  1. 【Linux 操作系统】阿里云服务器 操作实战 部署C语言开发环境(vim配置,gcc) 部署J2EE网站(jdk,tomcat)
  2. oc 计算 带括号 式子
  3. canvas 将图形设置为button_将Excel设置为存放文件的文件夹:自动提醒直观摘要免压缩发微信...
  4. mvn项目Quartz简单上手
  5. java批量转换图片格式
  6. 比特平面分层_平面设计中的分层
  7. python 将二维数组旋转_python 二维数组90°旋转
  8. 访问地图http://clustrmaps.com/zh/admin/action.php
  9. 计算机四年级测试题目,小学四年级下册数学总复习测试题(人教版)
  10. datastage连接mysql库_Datastage 8.5 连接远程Oracle 数据库
  11. udp测试工具linux系统,网络测试工具下载_Packet Sender(UDP/TCP网络测试工具)
  12. Android Wi-Fi subsystem_ramdump简介(以QCOM为Base)
  13. java multi tenancy_java工程積累——saas之multi-tenancy解析
  14. html网站运行天数代码,网站运行天数代码
  15. Python语法之精妙的十个知识点(装B语法)
  16. AMBA总线协议之AHB学习记录(1)—ahb_bus(附verilog代码)
  17. 雨天在火车站台上撑伞会触电吗?
  18. 车辆融资租赁合同(主要条款)
  19. C-PHY技术是什么
  20. 实例讲解将Graph Explorer搬上JupyterLab

热门文章

  1. 理解SQL SERVER中非聚集索引的覆盖,连接,交叉和过滤
  2. Oracle触发器的语法详解
  3. 谷歌、雅虎支持中文域名搜索 有助提升SEO
  4. python语言中with as的用法使用详解
  5. Homestead 使用总结
  6. php如何在mysql数据库里创建表_php创建mysql数据库以及数据表
  7. 讲真,MySQL索引优化看这篇文章就够了
  8. python最短回文串_LeetCode-Python-214. 最短回文串
  9. 安卓imageView加载MYSQL图片_Android调用相机拍摄照片并显示到 ImageView控件中
  10. excel表中怎么插入visio_用Excel编制精确甘特图,准确控制任务进展,提高项目管理水平...