Esempio n. 1
0
 def record_command(self):
     try:
         if self.start_record.text() == '开始':
             self.download_record.setDisabled(True)
             self.timerDialog = timerDialog()
             if self.timerDialog.exec_():
                 self.nmon_infos = self.timerDialog.getInfos()
                 if self.nmon_infos['name'] == '':
                     self.showMessage("名称未输入,无法启动")
                     return
                 conf = config()
                 infos = conf.sentionAll(self.name)
                 monitor = Monitor_server()
                 ssh = monitor.sshConnect(infos['ip'], int(infos['port']), infos['user'],
                                          conf.decrypt(infos['password']))
                 get_msgs = monitor.nmon_run(ssh, self.nmon_infos['name'], self.nmon_infos['time'], self.nmon_infos['tap'])
                 self.showMessage(get_msgs)
                 self.start_record.setText('中止')
                 self.record_name.setText(self.nmon_infos['name'] + '.nmon')
                 self.fileName = self.nmon_infos['name'] + '.nmon'
                 self.timer.start((int(self.nmon_infos['time']) * int(self.nmon_infos['tap']) + 1) * 1000)
             self.timerDialog.destroy()
         else:
             self.cancel()
     except Exception as e:
         self.showMessage(str(e))
         pass
Esempio n. 2
0
 def showWidget(self):
     try:
         conf = config()
         sention = self.server_listWidget.item(self.server_listWidget.currentRow()).text()
         info = conf.sentionAll(sention)
         ip = info['ip']
         self.serverConfigDialog = serverConfigDialog()
         self.serverConfigDialog.setDict(info)
         self.serverConfigDialog.disable()
         if self.serverConfigDialog.exec_():
             self.tab = simpleForm()
             self.tab.setIp(ip)
             self.tab.name = sention
             self.tab.checknmon()
             self.mointorThread = Thread()
             self.mointorThread.sendinfosSignal.connect(self.tab.set_data)
             self.mointorThread.sendExptionSignal.connect(self.tab.showMessage)
             self.tab.stop.connect(self.mointorThread.__del__)
             self.tab.nameSignal.connect(lambda: self.mointorThread.getInfos(sention))  # 通过信号槽设置名称
             self.tab.nameSignal.emit()
             self.tabWidget.addTab(self.tab, sention)
             self.tabWidget.setCurrentWidget(self.tab)
             self.mointorThread.start()
         self.serverConfigDialog.destroy()
     except Exception as e:
         self.Tips("线程启动异常,请重试或联系管理员")
Esempio n. 3
0
 def setDict(self, dict):
     conf = config()
     self.nameEdit.setText(dict['name'])
     self.ipEdit.setText(dict['ip'])
     self.portEdit.setText(dict['port'])
     self.userEdit.setText(dict['user'])
     self.passwordEdit.setText(conf.decrypt(dict['password']))
Esempio n. 4
0
 def loadConfig(self):
     try:
         conf = config()
         SentionList = conf.getSection()
         self.server_listWidget.clear()
         self.server_listWidget.addItems(SentionList)
     except Exception as e:
         self.Tips("配置文件出现异常,请重置配置文件")
Esempio n. 5
0
 def getInfos(self, name):
     try:
         conf = config()
         infos = conf.sentionAll(name)
         infos['password'] = conf.decrypt(infos['password'])
         self.infos = infos
     except Exception as e:
         self.sendDownExptionSignal.emit("下载异常,请重试")
Esempio n. 6
0
 def unlock(self):
     conf = config()
     if self.password_lineEdit.text() == conf.decrypt(conf.getOption('sysconfig', 'password')):
         WindowShow.show()
         self.close()
     else:
         self.Tips("密码错误,请重试")
         self.widget.setStyleSheet("border-image: url(:/icon/error_password.jpg);")
Esempio n. 7
0
 def getInfos(self, name):
     try:
         conf = config()
         infos = conf.sentionAll(name)
         infos['password'] = conf.decrypt(infos['password'])
         self.infos = infos
     except Exception as e:
         self.sendExptionSignal.emit("配置读取异常,请关闭tab页并检查配置")
Esempio n. 8
0
 def getDict(self):
     conf = config()
     info = {}
     info['cpuwarnline'] = str(self.CPU_spinBox.value())
     info['memwarnline'] = str(self.MEM_spinBox.value())
     info['diskwarnline'] = str(self.DISK_spinBox.value())
     info['simplerating'] = str(self.Simple_Rate_spinBox.value())
     info['password'] = conf.encrypt(self.password_lineEdit.text())
     return info
Esempio n. 9
0
 def getDict(self):
     conf = config()
     info = {}
     info['name'] = self.nameEdit.text()
     info['ip'] = self.ipEdit.text()
     info['port'] = self.portEdit.text()
     info['user'] = self.userEdit.text()
     info['password'] = conf.encrypt(self.passwordEdit.text())
     return info
Esempio n. 10
0
 def sysConfigDialogShow(self):
     try:
         conf = config()
         self.sysConfigDialog = sysConfigDialog()
         if self.sysConfigDialog.exec_():
             infos = self.sysConfigDialog.getDict()
             conf.cmdSection('sysconfig', infos)
         self.sysConfigDialog.destroy()
     except Exception as e:
         self.Tips("保存配置异常,请稍后重试")
Esempio n. 11
0
 def serverAdd_Open(self):
     try:
         conf = config()
         self.serverConfigDialog = serverConfigDialog()
         if self.serverConfigDialog.exec_():
             infos = self.serverConfigDialog.getDict()
             conf.cmdSection(infos['name'], infos)
         self.serverConfigDialog.destroy()
         self.loadConfig()
     except Exception as e:
         self.Tips("保存配置异常,请稍后重试")
Esempio n. 12
0
 def loadConfig(self):
     try:
         conf = config()
         sysconfig = conf.sentionAll('sysconfig')
         self.CPU_spinBox.setValue(int(sysconfig['cpuwarnline']))
         self.MEM_spinBox.setValue(int(sysconfig['memwarnline']))
         self.DISK_spinBox.setValue(int(sysconfig['diskwarnline']))
         self.Simple_Rate_spinBox.setValue(int(sysconfig['simplerating']))
         self.password_lineEdit.setText(conf.decrypt(sysconfig['password']))
     except Exception as e:
         self.Tips("配置文件出现异常,请重置配置文件")
Esempio n. 13
0
 def cancel(self):
     try:
         conf = config()
         infos = conf.sentionAll(self.name)
         monitor = Monitor_server()
         ssh = monitor.sshConnect(infos['ip'], int(infos['port']), infos['user'], conf.decrypt(infos['password']))
         get_msg = monitor.nmon_cancel(ssh, self.nmon_infos['name'], self.nmon_infos['time'], self.nmon_infos['tap'])
         self.timer.stop()
         if get_msg == '取消成功':
             self.start_record.setText('开始')
             self.showMessage('已中止nmon运行')
     except Exception as e:
         self.showMessage(str(e))
Esempio n. 14
0
 def totalrun(self):
     try:
         conf = config()
         if self.added_listWidget.count() == 0:
             self.Tips("未添加服务器")
             return
         if self.groupName_lineEdit.text() == '':
             self.Tips("未输入组名")
             return
         self.remove_pushButton.setDisabled(True)
         self.add_pushButton.setDisabled(True)
         self.tap_spinBox.setDisabled(True)
         self.time_spinBox.setDisabled(True)
         self.download_pushButton.setDisabled(True)
         self.groupName_lineEdit.setDisabled(True)
         self.start_pushButton.setDisabled(True)
         self.time_progressBar.setValue(0)
         for i in range(self.added_listWidget.count()):
             sention = self.added_listWidget.item(i).text()
             infos = conf.sentionAll(sention)
             monitor = Monitor_server()
             ssh = monitor.sshConnect(infos['ip'], int(infos['port']), infos['user'],
                                      conf.decrypt(infos['password']))
             if monitor.nmon_checked(ssh) == False:
                 text = monitor.sftp_upload_file(infos['ip'], int(infos['port']), infos['user'],
                                                 conf.decrypt(infos['password']))
             get_msgs = monitor.nmon_run(ssh, self.groupName_lineEdit.text() + str(i),
                                         str(self.time_spinBox.value()),
                                         str(self.tap_spinBox.value()))
             if get_msgs != '启动运行,请稍后':
                 self.Tips('批量启动异常,请检查服务器配置,并重试')
                 self.remove_pushButton.setDisabled(False)
                 self.add_pushButton.setDisabled(False)
                 self.tap_spinBox.setDisabled(False)
                 self.time_spinBox.setDisabled(False)
                 self.groupName_lineEdit.setDisabled(False)
                 self.start_pushButton.setDisabled(False)
             monitor.sshClose(ssh)
         self.time_progressBar.setMaximum((self.time_spinBox.value() * self.tap_spinBox.value()))
         self.timer.start(1000)
         self.Tips('已启动nmon,请稍候')
         self.totalFile_label.setText(str(self.added_listWidget.count()))
     except Exception as e:
         self.Tips(str(e))
         self.remove_pushButton.setDisabled(False)
         self.add_pushButton.setDisabled(False)
         self.tap_spinBox.setDisabled(False)
         self.time_spinBox.setDisabled(False)
         self.groupName_lineEdit.setDisabled(False)
         self.start_pushButton.setDisabled(False)
Esempio n. 15
0
 def serverDel(self):
     try:
         conf = config()
         sention = self.server_listWidget.item(self.server_listWidget.currentRow()).text()
         msg = QMessageBox.question(self, "删除警告", "你确定删除吗?", QMessageBox.Yes | QMessageBox.No,
                                    QMessageBox.No)  # 这里是固定格式,yes/no不能动
         # 判断消息的返回值
         if msg == QMessageBox.Yes:
             conf.delSection(sention)
         else:
             return
         self.loadConfig()
     except:
         pass
Esempio n. 16
0
 def serverModif_Open(self):
     try:
         conf = config()
         self.serverConfigDialog = serverConfigDialog()
         sention = self.server_listWidget.item(self.server_listWidget.currentRow()).text()
         info = conf.sentionAll(sention)
         self.serverConfigDialog.setDict(info)
         self.serverConfigDialog.disableName()
         if self.serverConfigDialog.exec_():
             infos = self.serverConfigDialog.getDict()
             conf.cmdSection(infos['name'], infos)
         self.serverConfigDialog.destroy()
         self.loadConfig()
     except:
         pass
Esempio n. 17
0
 def uploadfile(self):
     try:
         conf = config()
         infos = conf.sentionAll(self.name)
         monitor = Monitor_server()
         text = monitor.sftp_upload_file(infos['ip'], int(infos['port']), infos['user'],
                                         conf.decrypt(infos['password']))
         if text == '上传成功':
             self.showMessage('文件已上传')
             self.nmon_label.setText('当前服务器已安装nmon,可进行性能监控')
             self.upload_nmon.setDisabled(True)
             self.start_record.setDisabled(False)
         else:
             self.nmon_label.setText('当前服务器安装nmon失败,请点击再次上传')
     except Exception as e:
         self.showMessage(str(e))
         pass
Esempio n. 18
0
 def checknmon(self):
     try:
         conf = config()
         infos = conf.sentionAll(self.name)
         monitor = Monitor_server()
         ssh = monitor.sshConnect(infos['ip'], int(infos['port']), infos['user'], conf.decrypt(infos['password']))
         nmon_checked = monitor.nmon_checked(ssh)
         if nmon_checked:
             self.nmon_label.setText('当前服务器已安装nmon,可进行性能监控')
             self.upload_nmon.setDisabled(True)
             self.start_record.setDisabled(False)
         else:
             self.nmon_label.setText('当前服务器未安装nmon,请点击上传')
         monitor.sshClose(ssh)
     except Exception as e:
         self.showMessage(str(e))
         pass
Esempio n. 19
0
 def cancel(self):
     try:
         conf = config()
         for i in range(self.added_listWidget.count()):
             sention = self.added_listWidget.item(i).text()
             infos = conf.sentionAll(sention)
             monitor = Monitor_server()
             ssh = monitor.sshConnect(infos['ip'], int(infos['port']), infos['user'],
                                      conf.decrypt(infos['password']))
             get_msgs = monitor.nmon_cancel(ssh, self.groupName_lineEdit.text() + str(i),
                                         str(self.time_spinBox.value()),
                                         str(self.tap_spinBox.value()))
             monitor.sshClose(ssh)
             self.timer.stop()
     except Exception as e:
         self.Tips(str(e))
     self.close()
Esempio n. 20
0
 def run(self):
     conf = config()
     for i in range(len(self.serverList)):
         try:
             infos = conf.sentionAll(self.serverList[i])
             infos['password'] = conf.decrypt(infos['password'])
             t = paramiko.Transport((infos['ip'], int(infos['port'])))
             t.connect(username=infos['user'], password=infos['password'])
             sftp = paramiko.SFTPClient.from_transport(t)
             sftp.stat('/home/monitor/' + self.fileName + str(i) + '.nmon')
             sftp.get('/home/monitor/' + self.fileName + str(i) + '.nmon',
                      'temp/' + self.fileName + str(i) + '.nmon')
             t.close()
             self.sendDownMsgSignal.emit(
                 'success', int((i + 1) / len(self.serverList) * 100))
         except Exception as e:
             self.sendDownMsgSignal.emit('failed', 0.0)
             t.close()
             pass
Esempio n. 21
0
 def __init__(self):
     super().__init__()
     conf = config()
     self.time = int(conf.getOption('sysconfig', 'simplerating'))
     self.working = True
     self.infos = {}
Esempio n. 22
0
 def setWarnLine(self):
     conf = config()
     self.CpuHLine.setPos(int(conf.getOption('sysconfig', 'cpuwarnline')))
     self.MemHLine.setPos(int(conf.getOption('sysconfig', 'memwarnline')))
     self.DiskHLine.setPos(int(conf.getOption('sysconfig', 'diskwarnline')))