Я пытаюсь запустить код python на компьютере linux, на котором расположен сервер weblogic , состояние здоровья которого необходимо знать.Я передаю имя пользователя и пароль согласно приведенному ниже коду.Ниже приведена часть кода Python:
import urllib2
import httplib
import getpass
import json
import os
import sys
import time
import math
def getServerJson(url, username, password):
req = urllib2.Request(url)
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, url, username, password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
try:
response = opener.open(url)
json_string = response.read()
if response.getcode() != 200:
print("")
print("Error connecting to WLS Server!")
print("HTTP Error code = " + str(response.getcode()))
print("URL = "+url)
sys.exit(1)
except urllib2.URLError as e:
print(e.reason)
writeHTMLOutputExcep(str(e.reason))
sys.exit(1)
except urllib2.HTTPError, e:
print(e.reason)
writeHTMLOutputExcep(str(e.reason))
sys.exit(1)
except httplib.HTTPException, e:
print(e.reason)
writeHTMLOutputExcep(str(e.reason))
sys.exit(1)
return json.loads(json_string)
Но я получаю ниже ошибку при вводе:
Пожалуйста, введите данные сервера WLS
Пожалуйста, введитесервер и порт: IP: PORT
Пожалуйста, введите имя пользователя weblogic: weblogic
Пожалуйста, введите пароль пользователя weblogic:
[Errno 111] Соединение отклонено
Пожалуйста, найдите ниже URL-адрес вызывающей части кода:
def getServerJson(url, username, password):
req = urllib2.Request(url)
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, url, username, password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
try:
response = opener.open(url)
json_string = response.read()
if response.getcode() != 200:
print("")
print("Error connecting to WLS Server!")
print("HTTP Error code = " + str(response.getcode()))
print("URL = "+url)
sys.exit(1)
except urllib2.URLError as e:
print(e.reason)
writeHTMLOutputExcep(str(e.reason))
sys.exit(1)
except urllib2.HTTPError, e:
print(e.reason)
writeHTMLOutputExcep(str(e.reason))
sys.exit(1)
except httplib.HTTPException, e:
print(e.reason)
writeHTMLOutputExcep(str(e.reason))
sys.exit(1)
return json.loads(json_string)
#Get a list of all of the Admin and Managed Servers in the domain
def getServers(wlsDomain,wlsServerUrl,username,password ):
url = 'http://'+wlsServerUrl+'/management/wls/latest/servers'
serverJson = getServerJson(url, username, password)
for server in serverJson["links"]:
if (server['rel'] != "parent"):
wlsDomain.addServer(WLSServer(server["title"], server["uri"]))
# Get the url of the list of logs, along with some other basic
# server information
def getLogListUrl(server, username, password):
serverJson = getServerJson(server.serverUrl, username, password)
server.setState(serverJson["item"]["state"])
if server.state == "running":
server.setHealth(serverJson["item"]["health"]["state"])
for link in serverJson["links"]:
if link["rel"] == "logs":
logListULR = link["uri"]
return logListULR
#For the given server, get the url for each server log
def getServerLogUrl(server,username,password, logListUrl):
logListJson = getServerJson(logListUrl, username, password)
for link in logListJson["links"]:
if link["rel"] == "items.name":
if not link["title"].startswith("JMSMessageLog") and \
not link["title"].startswith("HTTPAccessLog"):
server.addLog(WLLog(link["title"],link["uri"]))
#Go and find all server logs and read them, and take note of
#the error messages
def searchServerLogs(wlsDomain, username, password):
for server in wlsDomain.serverList:
#get the url to the list of logs for the given server
logListUrl = getLogListUrl(server, username, password)
#we can't get the log of a server that is not running
if server.state != "running":
continue
#get the url for each server log of the given server
getServerLogUrl(server,username,password, logListUrl)
for log in server.logList:
#we are not interested in the HTTPAccessLog
if log.name != "HTTPAccessLog":
if server.state != "running":
continue
startTime = time.time()
print("Reading " + server.name + " : " + log.name)
serverLogJson = getServerJson(log.logUrl, username, password)
for logEntry in serverLogJson["items"]:
if logEntry["severity"] == "Error":
log.addLogEntry(LogEnty(logEntry["severity"],logEntry["timeStamp"],logEntry["message"]))
server.incrementError()
endTime = time.time()
log.setDuration(formatTimeOutput(math.floor(endTime-startTime)))
def run():
print("")
print("")
print("Please enter the WLS Server Details")
print("-------------------------------------------")
print("")
wlsServerUrl = raw_input('Please enter the server and port e.g localhost:7001 ')
username = raw_input("Please enter the weblogic user name: ")
password = getpass.getpass("Please enter the weblogic user password: ")
print("")
wlsDomain = WLSDomain()
getServers(wlsDomain,wlsServerUrl,username,password)
searchServerLogs(wlsDomain,username,password)
outputStatisticsConsole(wlsDomain)
writeHTMLOutput(wlsDomain)