Exemplo n.º 1
0
def check_salt_minion_fun():
    check_salt_minion = check_status.objects.filter(program='check_salt_minion').first()
    if check_salt_minion.status == 1:
        sapi = SaltAPI(
            url      = settings.SALT_API['url'],
            username = settings.SALT_API['user'],
            password = settings.SALT_API['password']
        )
        
        sapi_glb = SaltAPI(
            url      = settings.SALT_API['url_glb'],
            username = settings.SALT_API['user'],
            password = settings.SALT_API['password']
        )
        minionsup, minionsdown= sapi.MinionStatus()
        minionsup_glb, minionsdown_glb= sapi_glb.MinionStatus()
        minionsdown_glb = [id for id in minionsdown_glb if 'SC' in id]
    else:
        minionsdown = []
        minionsdown_glb = []
    if len(minionsdown) != 0:
        send_mail(get_mail_list('check_salt_minion'),'Attention: salt_minion','Minion Down:'+ '\n\t' +'\n\t'.join(minionsdown))
    if len(minionsdown_glb) != 0:
        send_mail(admin_mail_addr,'Attention: 市场部服务器故障','Minion Down:'+ '\n\t' +'\n\t'.join(minionsdown_glb))
    end_time['check_salt_minion'] = time()
Exemplo n.º 2
0
def IdQuery(request):
    if request.method == 'POST':
        clientip = request.META['REMOTE_ADDR']
        sapi = SaltAPI(url=settings.SALT_API['url'],
                       username=settings.SALT_API['user'],
                       password=settings.SALT_API['password'])
        minionsup, minionsdown = sapi.MinionStatus()
        minion_list = []
        logger.info('%s is requesting. %s' %
                    (clientip, request.get_full_path()))
        for minion_id in minionsup:
            minion_dict = {}
            minion_dict['minion_id'] = minion_id
            minion_dict['minion_status'] = 'up'
            minion_list.append(minion_dict)
        for minion_id in minionsdown:
            minion_dict = {}
            minion_dict['minion_id'] = minion_id
            minion_dict['minion_status'] = 'down'
            minion_list.append(minion_dict)
        return HttpResponse(json.dumps(minion_list))
    elif request.method == 'GET':
        return HttpResponse('You get nothing!')
    else:
        return HttpResponse('nothing!')
Exemplo n.º 3
0
#!/usr/bin/env python
#-_- coding:utf-8 -_-
import os, sys, datetime, logging

sys.path.append(
    os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)))
reload(sys)
sys.setdefaultencoding('utf8')
from monitor import settings
from saltstack.saltapi import SaltAPI
from scripts.tomcat import get_mail_list

basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
#获取salt接口,接入rest接口,获取salt信息
sapi = SaltAPI(url=settings.SALT_API['url'],
               username=settings.SALT_API['user'],
               password=settings.SALT_API['password'])

minionsup, minionsdown = sapi.MinionStatus()