From 86ab7240d26a69fd5969835b4fa2ae7be66e2092 Mon Sep 17 00:00:00 2001 From: "Andreas Danzer (DE-701)" Date: Tue, 4 Jul 2023 11:10:58 +0000 Subject: [PATCH] getOneAgentVersions_TLM.py online editiert mit Bitbucket Andi --- getOneAgentVersions_TLM.py | 220 +------------------------------------ 1 file changed, 1 insertion(+), 219 deletions(-) diff --git a/getOneAgentVersions_TLM.py b/getOneAgentVersions_TLM.py index 30f8a00..4e807f8 100644 --- a/getOneAgentVersions_TLM.py +++ b/getOneAgentVersions_TLM.py @@ -1,219 +1 @@ -#from decouple import config -import yaml -import requests -import json -import pandas as pd -import time -from distutils.version import LooseVersion -from datetime import datetime - - -#now = datetime.now() # current date and time -# -#def my_function(fname, lname): - - # GatherReportingInfo("okay2") - -#my_function("Emil", "Test") - - - - -def make_request(url, headers): - try: - response = requests.get(url, headers=headers) - response.raise_for_status() - except requests.exceptions.HTTPError as errh: - return "An Http Error occurred:" + repr(errh) - except requests.exceptions.ConnectionError as errc: - return "An Error Connecting to the API occurred:" + repr(errc) - except requests.exceptions.Timeout as errt: - return "A Timeout Error occurred:" + repr(errt) - except requests.exceptions.RequestException as err: - return "An Unknown Error occurred" + repr(err) - - return response - - - -def GatherReportingInfo(test, env, DTAPIToken): - reportingFolder = 'C:/Users/Andre/OneDrive/Desktop/OneAgent/' - - print(reportingFolder) - - friendlyName = test - - #NA - #env = 'https://wgv50241.live.dynatrace.com' - #DTAPIToken = 'dt0c01.46HF3MDD7WIWXE7XUW4WSCE2.T3WEX7W5JTAQWZ7KGFIFMDX5JNGQ3KV6GVOZZZPL2YJSRTVWZQRISB24QRW5FCEW' - - #Emea - #env = "https://xxu26128.live.dynatrace.com" - # DTAPIToken = 'dt0c01.FHL6HUUTDAHS3Q2XWQOZUVR2.RH6S5OFXQC2AA46NDAZFRU2HR5FK4TFWD7NEUPGLX2RHACNEP5DHWQEDNILTQ73F' - - #NA DEV - #env = 'https://onb44935.live.dynatrace.com' - #DTAPIToken = 'dt0c01.2ZFJYF5IHFHIPU4LAIDNWL5Y.UBLH4H7RZ6FYZTOGN4HKIEFDCO5BSTCU37IPKXJUT7GKI5N4QWM7CDDNBHIS5C3G' - - - #Emea DEV - #env = "https://qqk70169.live.dynatrace.com" - #DTAPIToken = 'dt0c01.W4YZT34MOVYIA5VQTEAZBOGR.ZN7GXBQTYHWAUJNJUFL4MLBFOD3NCKDY3XQQZG7J5RRBACZI6HMF6FNNEHSWD46X' - - - #NA DEV - #env = "https://onb44935.live.dynatrace.com" - # DTAPIToken = 'dt0c01.2ZFJYF5IHFHIPU4LAIDNWL5Y.UBLH4H7RZ6FYZTOGN4HKIEFDCO5BSTCU37IPKXJUT7GKI5N4QWM7CDDNBHIS5C3G' - - - - - DTAPIURL= env + "/api/v1/oneagents" - headers = { - 'Content-Type': 'application/json', - 'Authorization': 'Api-Token ' + DTAPIToken - } - print(DTAPIURL) - - r = make_request(DTAPIURL,headers) - - data = r.json() - print(DTAPIURL) - hosts = [] - - for host in data['hosts']: - hosts.append(host) - - - - while 'nextPageKey' in data.keys(): - if data['nextPageKey'] == None: - break - DTAPIURL= env + "/api/v1/oneagents?nextPageKey=" + data['nextPageKey'] - r = make_request(DTAPIURL,headers) - data = r.json() - for host in data['hosts']: - hosts.append(host) - - df = pd.DataFrame() - mgmt = pd.DataFrame() - - for Host in hosts: - row={'Name':Host['hostInfo']['displayName'],'ID':Host['hostInfo']['entityId'],'availabilityState':Host['detailedAvailabilityState'],'autoUpdateSetting':Host['autoUpdateSetting'],'UpdateStatus':Host['updateStatus'],'comsumedHostUnits':Host['hostInfo']['consumedHostUnits']} - - for tag in Host['hostInfo']['tags']: - if tag['key'] == 'Cloud': - try: - row.update({ tag['key']:tag['value']}) - except: - row.update({ tag['key']:tag['key']}) - - if tag['key'] == 'Hub': - try: - row.update({ tag['key']:tag['value']}) - except: - row.update({ tag['key']:tag['key']}) - if tag['key'] == 'Platform': - try: - row.update({ tag['key']:tag['value']}) - except: - row.update({ tag['key']:tag['key']}) - if tag['key'] == 'licensing-base': - try: - row.update({ tag['key']:tag['value']}) - except: - row.update({ tag['key']:tag['key']}) - if tag['key'] == 'PaaS': - try: - row.update({ tag['key']:tag['value']}) - except: - row.update({ tag['key']:tag['key']}) - if tag['key'] == 'compass-id': - try: - row.update({ tag['key']:tag['value']}) - except: - row.update({ tag['key']:tag['key']}) - if tag['key'] == 'Namespace': - try: - row.update({ tag['key']:tag['value']}) - except: - row.update({ tag['key']:tag['key']}) - - if tag['key'] == 'DynatraceOperatorVersion': - try: - row.update({ tag['key']:tag['value']}) - except: - row.update({ tag['key']:tag['key']}) - - if tag['key'] == 'ms-id': - try: - row.update({ tag['key']:tag['value']}) - except: - row.update({ tag['key']:tag['key']}) - - - - try: - agentVersion = str(Host['hostInfo']['agentVersion']['major']) + '.' + str(Host['hostInfo']['agentVersion']['minor']) + '.' + str(Host['hostInfo']['agentVersion']['revision']) + '.' + Host['hostInfo']['agentVersion']['timestamp'] - row.update({'agentVersion':agentVersion}) - except: - - row.update({'agentVersion':'NOT_FOUND'}) - - try: - paasagentVersion = str(Host['hostInfo']['paasAgentVersions'][0]['major']) + '.' + str(Host['hostInfo']['paasAgentVersions'][0]['minor']) + '.' + str(Host['hostInfo']['paasAgentVersions'][0]['revision']) + '.' + Host['hostInfo']['paasAgentVersions'][0]['timestamp'] - row.update({'PaasagentVersion':paasagentVersion}) - except: - row.update({'PaasagentVersion':'NOT_FOUND'}) - - - try: - osVersion = str(Host['hostInfo']['osVersion']).replace('"','') - osVersion.replace('"','') - row.update({'osVersion':osVersion}) - - except: - row.update({'osVersion':'NOT_FOUND'}) - - - - - - - - df = df.append(row,ignore_index=True) - - - df.to_csv(reportingFolder + friendlyName + 'oa_versions.csv') - -#GatherReportingInfo('na_pre_final_30.06.2023',"https://onb44935.live.dynatrace.com",'dt0c01.2ZFJYF5IHFHIPU4LAIDNWL5Y.UBLH4H7RZ6FYZTOGN4HKIEFDCO5BSTCU37IPKXJUT7GKI5N4QWM7CDDNBHIS5C3G') -#GatherReportingInfo("emea_pre_finl_30.06.2023", "https://qqk70169.live.dynatrace.com", 'dt0c01.W4YZT34MOVYIA5VQTEAZBOGR.ZN7GXBQTYHWAUJNJUFL4MLBFOD3NCKDY3XQQZG7J5RRBACZI6HMF6FNNEHSWD46X') -GatherReportingInfo("emea_prod_final_30.06.2023", "https://xxu26128.live.dynatrace.com", 'dt0c01.FHL6HUUTDAHS3Q2XWQOZUVR2.RH6S5OFXQC2AA46NDAZFRU2HR5FK4TFWD7NEUPGLX2RHACNEP5DHWQEDNILTQ73F') -GatherReportingInfo("nap_prod_final_30.06.2023", "https://wgv50241.live.dynatrace.com", 'dt0c01.46HF3MDD7WIWXE7XUW4WSCE2.T3WEX7W5JTAQWZ7KGFIFMDX5JNGQ3KV6GVOZZZPL2YJSRTVWZQRISB24QRW5FCEW') - - #NA - #env = 'https://wgv50241.live.dynatrace.com' - #DTAPIToken = 'dt0c01.46HF3MDD7WIWXE7XUW4WSCE2.T3WEX7W5JTAQWZ7KGFIFMDX5JNGQ3KV6GVOZZZPL2YJSRTVWZQRISB24QRW5FCEW' - - #Emea - #env = "https://xxu26128.live.dynatrace.com" - # DTAPIToken = 'dt0c01.FHL6HUUTDAHS3Q2XWQOZUVR2.RH6S5OFXQC2AA46NDAZFRU2HR5FK4TFWD7NEUPGLX2RHACNEP5DHWQEDNILTQ73F' - - - -#with open('./environment.yaml') as file: - # doc = yaml.safe_load(file) - -#for item, doc in doc.items(): - # url = dict(doc[1]) - # print("Crawling through: " + item) - # print("Check if token exists in environment...") - # if(config(token.get('env-token-name')) != ""): - # print("Gather data, hold on a minute") - # DTTOKEN = config(token.get('env-token-name')) - # DTURL = url.get('env-url') - - # GatherReportingInfo(DTTOKEN,DTURL,item) - - #else: - # print("token not found, skipping " + item) \ No newline at end of file +Andi Vesion nur Lokal