Expose dnsmasq metrics
Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
parent
7848533e41
commit
47c3050822
|
@ -738,6 +738,103 @@ components:
|
|||
type: boolean
|
||||
description: Whether or not FTL is allowed to perform destructive actions
|
||||
example: true
|
||||
dnsmasq:
|
||||
type: object
|
||||
description: Metrics from the embedded dnsmasq resolver
|
||||
properties:
|
||||
dns_cache_inserted:
|
||||
type: integer
|
||||
description: Number of inserted entries in DNS cache
|
||||
example: 8
|
||||
dns_cache_live_freed:
|
||||
type: integer
|
||||
description: Number of freed live entries in DNS cache
|
||||
example: 0
|
||||
dns_queries_forwarded:
|
||||
type: integer
|
||||
description: Number of forwarded DNS queries
|
||||
example: 2
|
||||
dns_auth_answered:
|
||||
type: integer
|
||||
description: Number of DNS queries for authoritative zones
|
||||
example: 0
|
||||
dns_local_answered:
|
||||
type: integer
|
||||
description: Number of DNS queries answered from local cache
|
||||
example: 74
|
||||
dns_stale_answered:
|
||||
type: integer
|
||||
description: Number of DNS queries answered from local cache (stale entries)
|
||||
example: 0
|
||||
dns_unanswered:
|
||||
type: integer
|
||||
description: Number of unanswered DNS queries
|
||||
example: 0
|
||||
bootp:
|
||||
type: integer
|
||||
description: Number of BOOTP requests
|
||||
example: 0
|
||||
pxe:
|
||||
type: integer
|
||||
description: Number of PXE requests
|
||||
example: 0
|
||||
dhcp_ack:
|
||||
type: integer
|
||||
description: Number of DHCP ACK
|
||||
example: 0
|
||||
dhcp_decline:
|
||||
type: integer
|
||||
description: Number of DHCP DECLINE
|
||||
example: 0
|
||||
dhcp_discover:
|
||||
type: integer
|
||||
description: Number of DHCP DISCOVER
|
||||
example: 0
|
||||
dhcp_inform:
|
||||
type: integer
|
||||
description: Number of DHCP INFORM
|
||||
example: 0
|
||||
dhcp_nak:
|
||||
type: integer
|
||||
description: Number of DHCP NAK
|
||||
example: 0
|
||||
dhcp_offer:
|
||||
type: integer
|
||||
description: Number of DHCP OFFER
|
||||
example: 0
|
||||
dhcp_release:
|
||||
type: integer
|
||||
description: Number of DHCP RELEASE
|
||||
example: 0
|
||||
dhcp_request:
|
||||
type: integer
|
||||
description: Number of DHCP REQUEST
|
||||
example: 0
|
||||
noanswer:
|
||||
type: integer
|
||||
description: Number of DHCP requests without answer (rapid commit)
|
||||
example: 0
|
||||
leases_allocated_4:
|
||||
type: integer
|
||||
description: Number of allocated IPv4 leases
|
||||
example: 0
|
||||
leases_pruned_4:
|
||||
type: integer
|
||||
description: Number of pruned IPv4 leases
|
||||
example: 0
|
||||
leases_allocated_6:
|
||||
type: integer
|
||||
description: Number of allocated IPv6 leases
|
||||
example: 0
|
||||
leases_pruned_6:
|
||||
type: integer
|
||||
description: Number of pruned IPv6 leases
|
||||
example: 0
|
||||
tcp_connections:
|
||||
type: integer
|
||||
description: Number of dedicated TCP workers
|
||||
example: 0
|
||||
|
||||
database:
|
||||
type: object
|
||||
properties:
|
||||
|
|
|
@ -590,6 +590,11 @@ static int get_ftl_obj(struct ftl_conn *api, cJSON *ftl)
|
|||
|
||||
JSON_ADD_BOOL_TO_OBJECT(ftl, "allow_destructive", config.webserver.api.allow_destructive.v.b);
|
||||
|
||||
// dnsmasq struct
|
||||
cJSON *dnsmasq = JSON_NEW_OBJECT();
|
||||
get_dnsmasq_metrics_obj(dnsmasq);
|
||||
JSON_ADD_ITEM_TO_OBJECT(ftl, "dnsmasq", dnsmasq);
|
||||
|
||||
// All okay
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -3428,3 +3428,9 @@ static const char *check_dnsmasq_name(const char *name)
|
|||
// else
|
||||
return name;
|
||||
}
|
||||
|
||||
void get_dnsmasq_metrics_obj(cJSON *json)
|
||||
{
|
||||
for (unsigned int i = 0; i < __METRIC_MAX; i++)
|
||||
cJSON_AddNumberToObject(json, get_metric_name(i), daemon->metrics[i]);
|
||||
}
|
|
@ -10,6 +10,8 @@
|
|||
#ifndef METRICS_H
|
||||
#define METRICS_H
|
||||
|
||||
#include "webserver/cJSON/cJSON.h"
|
||||
|
||||
// defined in src/dnsmasq/cache.c
|
||||
const char *rrtype_name(unsigned short type);
|
||||
|
||||
|
@ -88,4 +90,6 @@ struct metrics
|
|||
|
||||
void get_dnsmasq_metrics(struct metrics *ci);
|
||||
|
||||
void get_dnsmasq_metrics_obj(cJSON *json);
|
||||
|
||||
#endif // METRICS_H
|
||||
|
|
|
@ -108,7 +108,7 @@ src/dnsmasq/lease.c
|
|||
src/dnsmasq/log.c
|
||||
my_syslog(LOG_WARNING, _("overflow: %d log entries lost"), e);
|
||||
src/dnsmasq/network.c
|
||||
my_syslog(LOG_WARNING, s, daemon->addrbuff, strerror(errno));
|
||||
my_syslog(LOG_WARNING, s, daemon->addrbuff, strerror(errno));
|
||||
src/dnsmasq/network.c
|
||||
my_syslog(LOG_WARNING,
|
||||
_("LOUD WARNING: listening on %s may accept requests via interfaces other than %s"),
|
||||
|
|
Loading…
Reference in New Issue