Я работаю над кодом для создания панели инструментов json файлов, специфицирующих c для Solarwinds.
Мне нужно создать набор панелей для мониторинга всех критических ссылок в солнечных ветрах. Проблема, с которой я сталкиваюсь, находится в текстовой панели Grafana, которая должна содержать описание каждой ссылки. Нет запросов, я подаю в суд на CSV-файл, созданный со всеми ссылками соответствующей информации.
Python код для загрузки CSV-файла
# Python source to read csv fileSource csv file
## load list with csv data
with open('crit_links.csv', newline='') as f:
reader = csv.reader(f)
data = list(reader)
Пример строки файла CSV
образец crilinks.csv
businesshq;17;SWLINKS-bus;121;Unit: 1 Slot: 0 Port: 2 Gbit - Level · L2L_HLD-area_comp;111.111.111.110;103;OSPF;FALSE;02/03/20 05:19;;;;
Python код, который генерирует список панелей для панель инструментов
grid_Xa = [0,6,8,10]
grid_Xb = [12,18,20,22]
for i, row in enumerate(data):
rowlist = str(row).split(';')
if i == 0:
titlerow = rowlist #row of titles froms list columns dos items da lista
grid_y = initial_y
continue
if i % 2 == 1:
for x in grid_Xa:
if x == 0:
panelsList.append(createTextPanel(rowlist[0],rowlist[2],rowlist[4],x,grid_y, i+1))
continue
createTextPanel python функция
def createTextPanel(siteName,nodeName,interfaceName,grid_X,grid_Y,g_id):
template = jenv.get_or_select_template('p-text.json.jinja')
return template.render( site=siteName, node=nodeName,interface=interfaceName ,grid_x = grid_X, grid_y = grid_Y,id=g_id)
шаблон дзиндзя:
{
"content": "Site: " + {{site}} + "Node: " + {{node}} + "Interface: " + {{interface}},
"gridPos": {
"h": 3,
"w": 6,
"x": {{ grid_x }},
"y": {{ grid_y }}
},...}
Проблема:
Строка {{site}} в выходных данных. json появляется с [', и это приводит к падению кавычек
output json:
{
"content": "Site: " + ['businessh1 + "Node: " + SWLINKS-bus + "Interface: " + Unit: 1 Slot: 0 Port: 2 Gbit - Level · L2L_HLD-area_comp,
"gridPos": {
"h": 3,
"w": 6,
"x": 0,
"y": 3
},
...}
Мое намерение состояло в том, чтобы содержимое: параметр вывода выглядел следующим образом:
"output": "Site: businessh1 Node: SWLINKS-bus Interface: Unit: 1 Slot: 0 Port: 2 Gbit - Level · L2L_HLD-area_comp..."
Спасибо!