仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 439|回复: 7
打印 上一主题 下一主题

[CentOS(社区)] 来谈谈:检讨Linux体系日记error和mysql毛病日记的剧本

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:04:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识:CentOS是一个基于RedHatLinux提供的可自由使用源代码的企业级Linux发行版本。
对体系日记的检讨和数据库日记的检讨很主要,涌现成绩实时的告诉体系治理员更加主要,本剧本用python写的监控剧本,重要是为zabbix监控自界说的key而预备的,固然人人也能够在前往值方面做修正,可以在写个发邮件的模块,做个准时,有成绩主动发邮件(在之前写过一个发邮件的类,人人可以做参考:http://wangwei007.blog.51cto.com/68019/978743)。在zabbix中自界说key来检测体系日记和数据库日记:
UnsafeUserParameters=1

UserParameter=check.sys_error,/usr/local/zabbix/bin/chk_err_log.pysyslog
UserParameter=check.mysql_error,/usr/local/zabbix/bin/chk_err_log.pymysqllog
本剧本合适一台办事器多实例的mysql毛病日记检测,也实用于单个示例的检测,依据本身的需求做修正。
  1. #!/usr/bin/envpython#encoding=utf-8importos,sysdefchk_err(log_file,tmp_file,type,print_list,port):cur_num=int(os.popen("sudogrep%s|wc-l"%log_file).read().strip())old_num=0ifos.path.exists(tmp_file):old_num=int(open(tmp_file).read().strip())ifcur_num<old_num:os.popen("echo0>%s"%tmp_file)old_num=0else:os.popen("echo0>%s"%tmp_file)err_log=os.popen("sudogrep-nierror%s"%log_file).readlines()iferr_log:err_list=[]forerrinerr_log:ifint(err.split(":")[0])>old_num:err_list.append(err[len(err.split(":")[0])+1:])iferr_list:os.popen("echo%s>%s"%(err_log[-1].split(":")[0],tmp_file))print_list.append(port)defchk_err_log(type):try:print_list=[]homedir="/home/zabbix"ifnotos.path.exists(homedir):os.mkdir(homedir)iftype=="syslog":log_file="/var/log/messages"tmp_file="%s/.syslog_num"%homedircur_num=int(os.popen("sudogrep%s|wc-l"%log_file).read().strip())old_num=0ifos.path.exists(tmp_file):old_num=int(open(tmp_file).read().strip())ifcur_num<old_num:os.popen("echo0>%s"%tmp_file)old_num=0else:os.popen("echo0>%s"%tmp_file)err_log=os.popen("sudogrep-nierror%s|grep-vsnmpd|grep-vsftp"%log_file).readlines()ifnoterr_log:return"0"err_list=[]forerrinerr_log:ifint(err.split(":")[0])>old_num:err_list.append(err[len(err.split(":")[0])+1:])ifnoterr_list:return"0"else:os.popen("echo%s>%s"%(err_log[-1].split(":")[0],tmp_file))return"1"eliftype=="mysqllog":psinfo=os.popen("psauxww|grepmysqld|grep-vroot|grep-vgrep").readlines()ifnotpsinfo:return"Nomysqldrunninginthisservernow"foriinpsinfo:port="0"forjini.split("--"):ifj.find("datadir")!=-1:datadir=j.split("=")[1].strip()elifj.find("port")!=-1:port=j.split("=")[1].strip()ifport=="0":continueifport=="3306":log_file="%s/$(hostname).err"%datadirelse:log_file="%s/mysql.err"%datadirtmp_file="%s/.mysqllog_%s"%(homedir,port)chk_err(log_file,tmp_file,type,print_list,port)iflen(print_list)==0:return"0"else:returnprint_listexceptException,e:returneif__name__=="__main__":printchk_err_log(sys.argv[1])
复制代码

小知识:退一万步讲,即使CentOS项目终结,正在运行它的企业也可以很轻松的转移到另一个企业Linux的克隆版。
小魔女 该用户已被删除
沙发
发表于 2015-1-16 23:37:35 | 只看该作者

来谈谈:检讨Linux体系日记error和mysql毛病日记的剧本

尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
透明 该用户已被删除
板凳
发表于 2015-1-21 23:34:05 | 只看该作者
一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。?
第二个灵魂 该用户已被删除
地板
发表于 2015-1-30 23:09:24 来自手机 | 只看该作者
在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。
莫相离 该用户已被删除
5#
发表于 2015-2-6 17:00:40 | 只看该作者
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
分手快乐 该用户已被删除
6#
发表于 2015-2-17 17:08:02 | 只看该作者
任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.
若天明 该用户已被删除
7#
发表于 2015-3-5 22:12:16 | 只看该作者
任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。
老尸 该用户已被删除
8#
发表于 2015-3-20 00:15:15 | 只看该作者
我想即使Linux高手也很难快速准确精练的回答你。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 07:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表