# src_cs_na_01_tmp ``` import requests import datetime import base64 import re def main(): try: with open("D:\KPI_List\FW_API_TK.txt", "r") as f: tokens={} lines = f.readlines() for line in lines: (key,value)= line.replace("\n", "").split(',') tokens[key] = value #print(tokens) requests.packages.urllib3.disable_warnings() fortigates=['inter-fw-01','sf-fw-02','extra-fw-03','inter-fw-05','nh_inter-fw-05','qp_inter-fw-05'] for fortigate in fortigates: token = 'Bearer '+ tokens.get(fortigate,'') headers = { 'User-Agent':'Mozilla/5.0 (Windows NI 6.1;WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/56.0.2924.76 Safari/537.36', 'Authorization':token } # nowTime = f"{datetime.datetime.now().strftime('%Y%m%d%H%M%S')}" if fortigate == 'inter-fw-01': interface_name = ['ha','port5','x1','x3','x2','x4','port1','port2','port3','port4'] for interface in interface_name: print(interface,token) url = 'https://172.18.15.1/api/v2/monitor/system/interface/select/?interface_name='+ interface #print (url) #response = requests.get(url, headers=headers,verify=False) #fData = response.json() #print (f"{nowTime},{fortigate},{interface},{fData['result'][interface]['id']},{fData[interface]['tx_bytes']},{fData[interface]['rx_bytes']}") elif fortigate == 'sf-fw-02': interface_name = ['ha','port5','x1','x2'] include_vlan = ['vlan502','vlan1','vlan8','vlan60','vlan190','vlan201','vlan202','vlan203','vlan204','vlan206','vlan207','vlan208'] for interface in interface_name: print(interface,token) url = 'https://172.18.15.9/api/v2/monitor/system/interface/select/?interface_name='+ interface #print (url) #response = requests.get(url, headers=headers,verify=False) #fData = response.json() #print (f"{nowTime},{fortigate},{interface},{fData['result'][interface]['id']},{fData[interface]['tx_bytes']},{fData[interface]['rx_bytes']}") url='https://172.18.15.9/api/v2/monitor/system/interface/select/?include_vlan=1' response = requests.get(url, headers=headers,verify=False) vlanData = response.json() for vlan in include_vlan: print(vlan) print (f"{nowTime},{fortigate},{vlan},{vlanData['result'][vlan]['id']},{vlanData[vlan]['tx_bytes']},{vlanData[vlan]['rx_bytes']}") elif fortigate == 'extra-fw-03': interface_name = ['ha1','ha2','port1','port3','port2','port4'] include_vlan = ['vlan621','vlan622','vlan623','vlan624','vlan625','vlan626'] for interface in interface_name: print(interface,token) url = 'https://172.18.15.17/api/v2/monitor/system/interface/select/?interface_name='+ interface #print (url) #response = requests.get(url, headers=headers,verify=False) #fData = response.json() #print (f"{nowTime},{fortigate},{interface},{fData['result'][interface]['id']},{fData[interface]['tx_bytes']},{fData[interface]['rx_bytes']}") url='https://172.18.15.17/api/v2/monitor/system/interface/select/?include_vlan=1' response = requests.get(url, headers=headers,verify=False) vlanData = response.json() for vlan in include_vlan: print(vlan) print (f"{nowTime},{fortigate},{vlan},{vlanData['result'][vlan]['id']},{vlanData[vlan]['tx_bytes']},{vlanData[vlan]['rx_bytes']}") elif fortigate == 'inter-fw-05': interface_name = ['dmz','wan1','wan2'] include_vlan = ['internal3','internal4','internal1','internal2','Vlan250','Vlan249'] for interface in interface_name: print(interface,token) url = 'https://10.198.250.254/api/v2/monitor/system/interface/select/?interface_name='+ interface #print (url) #response = requests.get(url, headers=headers,verify=False) #fData = response.json() #print (f"{nowTime},{fortigate},{interface},{fData['result'][interface]['id']},{fData[interface]['tx_bytes']},{fData[interface]['rx_bytes']}") url='https://10.198.250.254/api/v2/monitor/system/interface/select/?include_vlan=1' response = requests.get(url, headers=headers,verify=False) vlanData = response.json() for vlan in include_vlan: print(vlan) print (f"{nowTime},{fortigate},{vlan},{vlanData['result'][vlan]['id']},{vlanData[vlan]['tx_bytes']},{vlanData[vlan]['rx_bytes']}") except Exception as a: print(a) print(',') if __name__ == '__main__': main() ```