公司用mogilefs 分布式存储系统来存储图片,每张图片存储两份。平时非常稳定,但当有大量图片导入的时候。会出现存储节点僵死的情况,虽然一个节点出问题整个系统不受影响,但平时不易发现,当有两个节点同时出问题的时候,部分图片便无法显示。每次只能当发现问题后再进行处理。nagios自定义脚本可实现监控指定内容,试着用python写了一个监控mogilefs系统的脚本,当有存储节点无法连通的时候进行报警,这样随时处理掉。可保证图片系统的无故障运行

#!/usr/bin/env python

# Check mogilefs mogilestorage

# Blog http:
//liguxk.blog.51cto.com
# 2011-12-13

import os

import sys

hosts = ['192.168.1.51','192.168.1.52','192.168.1.53','192.168.1.54','192.168.1.55']

check=
"mogadm --trackers=localhost:6001 check |grep mogile |awk '{print $5}'"
values = os.popen(check).read()

i=0
for v
in values.
split('\n'):
if v != 'OK' and v !='':

print
"Critical mogielstorage%d,IP:%s is not ok" %(i+1,hosts[i])

sys.
exit(1)
break;

i=i+1

print
"OK every one is ok"
sys.exit(0)