У меня есть панель инструментов, которая использует базовый поиск, а также 4 других панели, которые ссылаются на нее и по-разному форматируют результаты в зависимости от диаграммы, которую я хочу использовать.
Когда я запускаю базовый запрос сам по себе, он возвращает данные, как и ожидалось.
Базовый запрос:
index=mail sourcetype=barracuda bcProcess="outbound/smtp"
[ search index=mail sourcetype=barracuda
[ search index=mail sourcetype=sendmail_syslog msgid="<*@sfdc.net>"
| rex field=from "<(?<bcSender>.*)>"
| stats count by bcSender
| fields bcSender
| format
]
| stats count by bcMsgId
| fields bcMsgId
]
На одной панели я показываю одно общее число, отправленное следующим образом:
<search base="main_results">
<query>
| stats count(bcMsgId) as total
</query>
</search>
То же самое с другой панелью, которая показывает это ежечасно с использованием линейного графика:
<search base="main_results">
<query>
| timechart span=1h count AS "Total Sends"
</query>
</search>
Обе приведенные выше панели отлично работают при обращении к базовому запросу.
Проблема, с которой я столкнулся, изображена на круговой диаграмме.
<panel>
<chart>
<title>Send Action Breakdown</title>
<search base="main_results">
<query>| rename bcSendAction as "Send Action"
| chart count as Total by "Send Action"
| eval "Send Action"="Send Action"." (".Total.")"
| replace 1 WITH "Success" , 2 WITH "Block" , 3 WITH "Deferral" IN "Send Action"</query>
</search>
<option name="charting.chart">pie</option>
<option name="charting.drilldown">none</option>
<option name="height">460</option>
<option name="refresh.display">progressbar</option>
<option name="charting.chart.showPercent">true</option>
</chart>
</panel>
Когда панель управления пытается загрузить эту панель, она всегда возвращает «Результаты не найдены». Однако, если я скопирую базовый запрос в поиск, а затем вставлю запрос из этой панели прямо под ним, я получу ожидаемые результаты.
Вопрос:
Почему эта панель, использующая один и тот же базовый запрос, имеет проблемы с получением данных, если я могу вручную вставить обе части, и она работает нормально?
Обновление для Bounty Clarity: Моя панель управления имеет 4 панели, и 3 из них в значительной степени используют идентичный поисковый запрос, поэтому я пытался настроить базовый поиск, чтобы все они могли ссылаться на него.
Вот мои 4 отдельных поиска для 4 панелей, если это помогает показать, как я пытался разделить их, чтобы моя база работала правильно.
// Total Emails Sent
index=mail sourcetype=barracuda bcProcess="outbound/smtp"
[ search index=mail sourcetype=barracuda
[ search index=mail sourcetype=sendmail_syslog msgid="<*@sfdc.net>"
| rex field=from "<(?<bcSender>.*)>"
| stats count as Total by bcSender
| fields bcSender
| format
]
| stats count as Total by bcMsgId
| fields bcMsgId, bcSendAction
]
| stats count(bcMsgId) as total
// Emails per hour
index=mail sourcetype=barracuda bcProcess="outbound/smtp"
[ search index=mail sourcetype=barracuda
[ search index=mail sourcetype=sendmail_syslog msgid="<*@sfdc.net>"
| rex field=from "<(?<bcSender>.*)>"
| stats count as Total by bcSender
| fields bcSender
| format
]
| stats count as Total by bcMsgId
| fields bcMsgId, bcSendAction
]
| bin _time as hour span=1h
| stats count as hourcount by hour
| eval hour=strftime(hour,"%H:%M")
| chart sum(hourcount) as count by hour
// Top 10 Senders
index=mail sourcetype=sendmail_syslog msgid="<*@sfdc.net>"
| rex field=from "<(?<bcSender>.*)>"
| stats count as Total by bcSender
| rename bcSender as "From Address"
| sort -Total | head 10
// Action Breakdown
index=mail sourcetype=barracuda bcProcess="outbound/smtp"
[ search index=mail sourcetype=barracuda
[ search index=mail sourcetype=sendmail_syslog msgid="<*@sfdc.net>"
| rex field=from "<(?<bcSender>.*)>"
| stats count as Total by bcSender
| fields bcSender
| format
]
| stats count as Total by bcMsgId
| fields bcMsgId, bcSendAction
]
| stats count as Total by bcSendAction
| rename bcSendAction as Action
| replace 1 WITH "Success" , 2 WITH "Block" , 3 WITH "Deferral" IN Action
| eval "Action"=Action." (".Total.")"
