Skip to content

Commit aa5f898

Browse files
Merge branch 'release/v12.0.0' into backlog/v12_integation_index_patterns
Signed-off-by: Alex Sánchez <alex.sanchez@utmstack.com>
2 parents f0aa999 + 866498f commit aa5f898

23 files changed

Lines changed: 38 additions & 30 deletions

frontend/src/features/datasources/pages/DataSourcesPage.tsx

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ export function DataSourcesPage() {
197197

198198
// Side data (groups, usage, ingestion stats) — load once + on manual refresh.
199199
const loadAux = useCallback(async () => {
200+
setLoading(true)
200201
const [g, u, totals, tl] = await Promise.allSettled([
201202
svc.groups(),
202203
svc.usage(),
@@ -215,23 +216,27 @@ export function DataSourcesPage() {
215216
// Per-tab counts for the health summary + tab badges. Cheap size:1 queries
216217
// that only read total_items; reflect global health (no search/group filter).
217218
const staleIso = new Date(Date.now() - IDLE_MS).toISOString()
218-
const [cAll, cAgent, cPuller, cDirect, cOffline] = await Promise.allSettled([
219-
svc.list({ page: 1, size: 1 }),
220-
svc.list({ page: 1, size: 1, kind: 'agent' }),
221-
svc.list({ page: 1, size: 1, kind: 'puller' }),
222-
svc.list({ page: 1, size: 1, kind: 'direct' }),
223-
svc.list({ page: 1, size: 1, staleBefore: staleIso }),
219+
const [cAll, cAgent, cPuller, cDirect, cOffline,cNotConnected] = await Promise.allSettled([
220+
svc.list({ page: 1, size: 1 ,groupId: groupId??undefined }),
221+
svc.list({ page: 1, size: 1, kind: 'agent' ,groupId: groupId??undefined }),
222+
svc.list({ page: 1, size: 1, kind: 'puller',groupId: groupId??undefined }),
223+
svc.list({ page: 1, size: 1, kind: 'direct',groupId: groupId??undefined}),
224+
svc.list({ page: 1, size: 1, staleBefore: staleIso,groupId: groupId??undefined }),
225+
svc.list({ page: 1, size: 1, pingNull: true,groupId: groupId??undefined }),
224226
])
227+
228+
225229
const tot = (r: PromiseSettledResult<ListResponse<Datasource>>) =>
226230
r.status === 'fulfilled' ? r.value.total_items ?? 0 : 0
227231
setCounts({
228232
all: tot(cAll),
229233
agent: tot(cAgent),
230234
puller: tot(cPuller),
231235
direct: tot(cDirect),
232-
offline: tot(cOffline),
236+
offline: tot(cOffline)+tot(cNotConnected),
233237
})
234-
}, [])
238+
setLoading(false)
239+
}, [groupId,setLoading])
235240

236241
useEffect(() => {
237242
void loadAux()
@@ -255,8 +260,8 @@ export function DataSourcesPage() {
255260
)
256261

257262
const refresh = () => {
258-
void load()
259263
void loadAux()
264+
void load()
260265
}
261266

262267
const events24h = (name: string) => stats[name]?.count ?? 0
@@ -528,6 +533,7 @@ function HealthSummary({ counts }: { counts: Record<TabId, number> }) {
528533
]
529534
return (
530535
<div className="mt-4 flex flex-wrap items-center gap-x-5 gap-y-2 rounded-lg border border-border bg-card px-4 py-2.5">
536+
531537
{items.map((it) => (
532538
<div key={it.key} className="flex items-center gap-2 text-sm">
533539
<span className={cn('h-2 w-2 rounded-full', it.dot)} />

frontend/src/features/datasources/services/datasources-http.service.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export interface ListParams {
2727
groupId?: number
2828
label?: string // matches the comma-separated labels column (ILIKE %label%)
2929
staleBefore?: string // RFC3339 → last_ping_at.lt.<iso> (the "offline" filter)
30+
pingNull?:boolean,
3031
sort?: string // e.g. "last_ping_at.desc"
3132
}
3233

@@ -43,6 +44,7 @@ export const datasourcesHttpService = {
4344
p.groupId != null ? `group_id.eq.${p.groupId}` : null,
4445
p.label ? `labels.like.${p.label}` : null,
4546
p.staleBefore ? `last_ping_at.lt.${p.staleBefore}` : null,
47+
p.pingNull ? `last_ping_at.null` : null,
4648
])
4749
if (filter) q.set('search_query', filter)
4850
return api.get<ListResponse<Datasource>>(`/datasources?${q.toString()}`)

frontend/src/features/integrations/components/setup/collector/collectors/aix.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function AixGuide({ module: _module }: { module: Integration }) {
1515
<ForwarderGuide source={t(`${ROOT}.source`)} port={PORT} sourceType="ibm-aix">
1616
<Section title={t(`${ROOT}.step1.title`)} step={2}>
1717
<p className="mb-2 text-sm text-foreground/90">{t(`${ROOT}.step1.body`)}</p>
18-
<CodeBlock code={`/opt/utmstack-forwarder/utmstack_forwarder enable-integration ibm-aix udp`} />
18+
<CodeBlock code={`sudo /opt/utmstack-forwarder/utmstack_forwarder enable-integration ibm-aix udp`} />
1919
<p className="mt-2 text-[11px] text-muted-foreground">{t(`${ROOT}.step1.note`)}</p>
2020
</Section>
2121
<Section title={t(`${ROOT}.step2.title`)} step={3}>

frontend/src/features/integrations/components/setup/collector/collectors/cisco.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function CiscoAsaGuide({ module: _module }: { module: Integration }) {
1515
<ForwarderGuide source={t(`${ROOT}.source`)} port={PORT} sourceType="firewall-cisco-asa">
1616
<Section title={t(`${ROOT}.step1.title`)} step={2}>
1717
<p className="mb-2 text-sm text-foreground/90">{t(`${ROOT}.step1.body`)}</p>
18-
<CodeBlock code={`/opt/utmstack-forwarder/utmstack_forwarder enable-integration firewall-cisco-asa udp`} />
18+
<CodeBlock code={`sudo /opt/utmstack-forwarder/utmstack_forwarder enable-integration firewall-cisco-asa udp`} />
1919
<p className="mt-2 text-[11px] text-muted-foreground">{t(`${ROOT}.step1.note`)}</p>
2020
</Section>
2121
<Section title={t(`${ROOT}.step2.title`)} step={3}>

frontend/src/features/integrations/components/setup/collector/collectors/ciscoFirepower.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function CiscoFirepowerGuide({ module: _module }: { module: Integration }) {
1515
<ForwarderGuide source={t(`${ROOT}.source`)} port={PORT} sourceType="firewall-cisco-firepower">
1616
<Section title={t(`${ROOT}.step1.title`)} step={2}>
1717
<p className="mb-2 text-sm text-foreground/90">{t(`${ROOT}.step1.body`)}</p>
18-
<CodeBlock code="/opt/utmstack-forwarder/utmstack_forwarder enable-integration firewall-cisco-firepower udp" />
18+
<CodeBlock code="sudo /opt/utmstack-forwarder/utmstack_forwarder enable-integration firewall-cisco-firepower udp" />
1919
<p className="mt-2 text-[11px] text-muted-foreground">{t(`${ROOT}.step1.note`)}</p>
2020
</Section>
2121
<Section title={t(`${ROOT}.step2.title`)} step={3}>

frontend/src/features/integrations/components/setup/collector/collectors/ciscoMeraki.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function CiscoMerakiGuide({ module: _module }: { module: Integration }) {
1515
<ForwarderGuide source={t(`${ROOT}.source`)} port={PORT} sourceType="firewall-meraki">
1616
<Section title={t(`${ROOT}.step1.title`)} step={2}>
1717
<p className="mb-2 text-sm text-foreground/90">{t(`${ROOT}.step1.body`)}</p>
18-
<CodeBlock code="/opt/utmstack-forwarder/utmstack_forwarder enable-integration firewall-meraki udp" />
18+
<CodeBlock code="sudo /opt/utmstack-forwarder/utmstack_forwarder enable-integration firewall-meraki udp" />
1919
<p className="mt-2 text-[11px] text-muted-foreground">{t(`${ROOT}.step1.note`)}</p>
2020
</Section>
2121
<Section title={t(`${ROOT}.step2.title`)} step={3}>

frontend/src/features/integrations/components/setup/collector/collectors/ciscoSwitch.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function CiscoSwitchGuide({ module: _module }: { module: Integration }) {
1515
<ForwarderGuide source={t(`${ROOT}.source`)} port={PORT} sourceType="cisco-switch">
1616
<Section title={t(`${ROOT}.step1.title`)} step={2}>
1717
<p className="mb-2 text-sm text-foreground/90">{t(`${ROOT}.step1.body`)}</p>
18-
<CodeBlock code="/opt/utmstack-forwarder/utmstack_forwarder enable-integration cisco-switch udp" />
18+
<CodeBlock code="sudo /opt/utmstack-forwarder/utmstack_forwarder enable-integration cisco-switch udp" />
1919
<p className="mt-2 text-[11px] text-muted-foreground">{t(`${ROOT}.step1.note`)}</p>
2020
</Section>
2121
<Section title={t(`${ROOT}.step2.title`)} step={3}>

frontend/src/features/integrations/components/setup/collector/collectors/deceptivebytes.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function DeceptiveBytesGuide({ module: _module }: { module: Integration }) {
1515
<ForwarderGuide source={t(`${ROOT}.source`)} port={PORT} sourceType="deceptive-bytes">
1616
<Section title={t(`${ROOT}.step1.title`)} step={2}>
1717
<p className="mb-2 text-sm text-foreground/90">{t(`${ROOT}.step1.body`)}</p>
18-
<CodeBlock code={`/opt/utmstack-forwarder/utmstack_forwarder enable-integration deceptive-bytes udp`} />
18+
<CodeBlock code={`sudo /opt/utmstack-forwarder/utmstack_forwarder enable-integration deceptive-bytes udp`} />
1919
<p className="mt-2 text-[11px] text-muted-foreground">{t(`${ROOT}.step1.note`)}</p>
2020
</Section>
2121
<Section title={t(`${ROOT}.step2.title`)} step={3}>

frontend/src/features/integrations/components/setup/collector/collectors/eset.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function EsetGuide({ module: _module }: { module: Integration }) {
2525
<ForwarderGuide source={t(`${ROOT}.source`)} port={PORT} sourceType="antivirus-esmc-eset">
2626
<Section title={t(`${ROOT}.step1.title`)} step={2}>
2727
<p className="mb-2 text-sm text-foreground/90">{t(`${ROOT}.step1.body`)}</p>
28-
<CodeBlock code={`/opt/utmstack-forwarder/utmstack_forwarder enable-integration antivirus-esmc-eset udp`} />
28+
<CodeBlock code={`sudo /opt/utmstack-forwarder/utmstack_forwarder enable-integration antivirus-esmc-eset udp`} />
2929
<p className="mt-2 text-[11px] text-muted-foreground">{t(`${ROOT}.step1.note`)}</p>
3030
</Section>
3131

frontend/src/features/integrations/components/setup/collector/collectors/fortigate.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function FortigateGuide({ module: _module }: { module: Integration }) {
1616
<ForwarderGuide source={t(`${ROOT}.source`)} port={PORT} sourceType="firewall-fortigate-traffic">
1717
<Section title={t(`${ROOT}.step1.title`)} step={2}>
1818
<p className="mb-2 text-sm text-foreground/90">{t(`${ROOT}.step1.body`)}</p>
19-
<CodeBlock code={`/opt/utmstack-forwarder/utmstack_forwarder enable-integration firewall-fortigate-traffic udp`} />
19+
<CodeBlock code={`sudo /opt/utmstack-forwarder/utmstack_forwarder enable-integration firewall-fortigate-traffic udp`} />
2020
<p className="mt-2 text-[11px] text-muted-foreground">{t(`${ROOT}.step1.note`)}</p>
2121
</Section>
2222
<Section title={t(`${ROOT}.step2.title`)} step={3}>

0 commit comments

Comments
 (0)