Exemple #1
0
    def stock_telescope(self):
        cf = ConfigParser.ConfigParser()
        cf.read("%s/%s.ini" % (self.Config_path, self.configs['name'])  )  
        host = cf.get("db", "host") 
        port = cf.get("db", "port") 
        user = cf.get("db", "user") 
        password = cf.get("db", "pass") 
        database = cf.get("db", "database") 
        
        conn = Mysql(
            host = host,
            user = user,
            password = password,
            database = database, 
        )

        cid = []        
        if "|" in self.configs['cid']:
            for i in self.configs['cid'].split('|'):
                cid.append(i.strip())
        else:
            cid.append(self.configs['cid'])
        print cid

        now = int(time.time())

        result = {}
        for appid in cid:
            sql_title = "select title from h_appmap where appid = '%s' limit 1" % appid
            appmap_row = conn.fetch(sql_title)
            if not appmap_row['title']: appmap_row['title'] = appid
            line = appmap_row['title']
            print line
            result[line] = []
            rangetime = 1209600

            if self.configs['attr'].has_key('rangetime'):
                if self.configs['attr']['rangetime'] and '|' in self.configs['attr']['rangetime']:
                    rangetime = self.configs['attr']['rangetime'].split('|')[1]
                    times = re.search("^([0-9]+)([a-z|A-Z]+)", rangetime)
                    n, m = int(times.group(1)), times.group(2) 
                    if m == 'h':
                        m = 3600
                    elif m == 'd':
                        m = 86400
                    elif m == 'w':
                        m = 604800
                    rangetime = n*m
            print rangetime                    

            sql_data = "select timestamp, value from h_data where appid = '%s' and timestamp > %d order by timestamp" % (appid, now-rangetime)
            data_rows = conn.fetchall(sql_data)
            for row in data_rows:
                result[line].append([int(row['timestamp']*1000), int(row['value'])]) 

            #print result

        
        return self.highstock(result, self.configs['id'], self.configs['attr'])
Exemple #2
0
from controltier.node import Node
from tools.mysql import Mysql

mysql_conn = Mysql(
    host = '127.0.0.1',
    user = '******',
    password = '******',
    database = 'autorelease',
    )

now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(int(time.time())))

for project in os.listdir('/usr/local/ctier/ctl/projects'):
     n = Node(project)
     for k, v in n.analysis().iteritems():
         result = mysql_conn.fetch("select count(id) from project_node where project = '%s' and hostname = '%s'" % (project, v['hostname']))
         if result['count(id)']:
             mysql_conn.save("""
             update project_node set
             name = '{name}',
             description = '{description}',
             tags = '{tags}',
             ctlusername = '******',
             osfamily = '{osfamily}',
             osname = '{osname}',
             osarch = '{osarch}',
             osversion = '{osversion}',
             updatetime = '{updatetime}'
             where project = '{project}' and hostname = '{hostname}'
             """.format(
                 project = project,