From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4bjgry5x8Wz34QM for ; Thu, 17 Jul 2025 18:08:18 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4bjgrv2Zztz2y7D for ; Thu, 17 Jul 2025 18:08:15 +0000 (UTC) Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mail01.ipfire.org (Postfix) with ESMTPS id 4bjgrt5GMFzlL for ; Thu, 17 Jul 2025 18:08:14 +0000 (UTC) Authentication-Results: mail01.ipfire.org; dkim=pass header.d=disroot.org header.s=mail header.b=hRYiOnbr; spf=pass (mail01.ipfire.org: domain of robin.roevens@disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=robin.roevens@disroot.org; dmarc=pass (policy=reject) header.from=disroot.org ARC-Seal: i=1; s=202003rsa; d=lists.ipfire.org; t=1752775694; a=rsa-sha256; cv=none; b=WjuxnATJNsnmvgm8VtFhGy83HhXpd3XuhS3zuPsnPtVPyyktg+q3hSm8nmls71RpXaib02 NDAAR5sEGep0mMAJYcq7S5gyIVX+wPed8aDzfIdnG5LX+RV15gcpaSn3E3v897Vn1kCdKM FvOrYyWc1VRvr/ZxpIMtjL1CuAL08nKS+xT4PT3lZXrJzIlnICfK6sRRmivf3VwpluRHPZ LdT2rF0YMrf5fn9M+ljsXs5VyQr6nIuVg5BwNKJ9Zfgfg5nE6Uht98LfM3ebfSNl0mbwwC yJv3Qi5Up6Vl1s9CUceAvi5WUjXndI4vEXw7phoJJEhTME4T+Q12IwrlOsH7/A== ARC-Authentication-Results: i=1; mail01.ipfire.org; dkim=pass header.d=disroot.org header.s=mail header.b=hRYiOnbr; spf=pass (mail01.ipfire.org: domain of robin.roevens@disroot.org designates 178.21.23.139 as permitted sender) smtp.mailfrom=robin.roevens@disroot.org; dmarc=pass (policy=reject) header.from=disroot.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=lists.ipfire.org; s=202003rsa; t=1752775694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=KaNmyv+/n/huQzyuAtecGTLYbJI337zV25XMXU2KyFU=; b=lSv74YSwoFIayeGrYQEMSHjyixgF1m90ksNwWO8Sd+ZVb32Nnzy3m0lmBbJe0IfRItkTbW vgmUHIRQhjfqa71fnGL2NS/xKyZZYYhdm1g3aqxJxv18nAGNoroMw01pBrlSLTuG5n9ug/ 18zuvaBLKOWh/8FFly3AvDZzU8o0XmUGmXKlzmtRdPp/jAA4IvCF4EccAYjY+kUys/J5H7 VcCF1iE4EM9js1LxW+zsMzpGa74dQqb0L3t5T/uQDXVOz6PzXPZcPcjgsA176N+REjTpFZ LnhGdE9SfQsuANSenSaerzeOW98K6UaD1lycSOWCytrF7iQggbNbxF/mj1BQ3Q== Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 29B0825F8D for ; Thu, 17 Jul 2025 20:08:14 +0200 (CEST) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id WRwzd9PfQwnc for ; Thu, 17 Jul 2025 20:08:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1752775693; bh=08N2AdZmxvNYuLq+lORCuln2UlM+/4XRii807Gl5skU=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=hRYiOnbrkO21rmaLSLFb8vGSZgHglfOmwGb6QJ96Ip2jJ3Q2LNnP4oTKkDe1wyBB0 mB+PWuSSE7HPjdNY639oShk83KjYPXdpxV9kKC9nmVVX4S31sdOioTmrXPHFuOFg2S zj6D8gusQZRJ54fznnVBd4M4o9AEPU5hP08d8/9BcXt+1vcAMOIJw35b6y1IsSYMuE wHq96A0YZ+lyb7GpdVqLNo2wB8XyNDkuB9sZ89SnK8qxPyYejc+PJHdgVjUQ0xYQvN GjkvQ5JlWSN7QXXdxNrCfyVH9nMacpZxHa4US3jAIc8RW7f40nJFOC3STsP/UKhV0+ 17tbN84Ib1cow== Received: from chojin.roevenslambrechts.be (chojin.roevenslambrechts.be [192.168.0.50]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (no client certificate requested) (Authenticated sender) by hachiman (MailScanner Milter) with SMTP id B800839691F; Thu, 17 Jul 2025 20:08:10 +0200 (CEST) From: Robin Roevens To: development@lists.ipfire.org Cc: Robin Roevens Subject: [PATCH 4/6] zabbix_agentd: Add LocationDB functionality Date: Thu, 17 Jul 2025 19:52:03 +0200 Message-ID: <20250717180805.5754-5-robin.roevens@disroot.org> In-Reply-To: <20250717180805.5754-1-robin.roevens@disroot.org> References: <20250717180805.5754-1-robin.roevens@disroot.org> Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-RoevensLambrechts-MailScanner-ID: B800839691F.AD543 X-RoevensLambrechts-MailScanner: Found to be clean X-RoevensLambrechts-MailScanner-From: robin.roevens@disroot.org X-RoevensLambrechts-MailScanner-Watermark: 1753380491.69771@re6qabUZLtP6iP4g4pJYhA X-Spamd-Result: default: False [-3.20 / 11.00]; R_DKIM_ALLOW(-1.70)[disroot.org:s=mail]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM(-0.98)[-0.975]; DKIM_REPUTATION(-0.97)[-0.97425615749869]; BAYES_HAM(-0.86)[85.51%]; SPF_REPUTATION_SPAM(0.62)[0.20691067161651]; DMARC_POLICY_ALLOW(-0.50)[disroot.org,reject]; R_MISSING_CHARSET(0.50)[]; R_SPF_ALLOW(-0.20)[+a:c]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; IP_REPUTATION_HAM(-0.01)[asn: 50673(0.00), country: NL(-0.01), ip: 178.21.23.139(0.00)]; FUZZY_RATELIMITED(0.00)[rspamd.com]; ASN(0.00)[asn:50673, ipnet:178.21.23.0/24, country:NL]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_COUNT_THREE(0.00)[3]; RCVD_TLS_LAST(0.00)[]; MISSING_XM_UA(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[disroot.org:+]; ARC_SIGNED(0.00)[lists.ipfire.org:s=202003rsa:i=1]; PREVIOUSLY_DELIVERED(0.00)[development@lists.ipfire.org]; FROM_HAS_DN(0.00)[] X-Rspamd-Action: no action X-Rspamd-Server: mail01.haj.ipfire.org X-Rspamd-Queue-Id: 4bjgrt5GMFzlL Adds new IPFire specific monitoring capabilities to Zabbix Agent: - ipfire.locationdb.lookup[,,...]: Perform IPFire LocationDB lookups from within Zabbix. Returns a JSON dict. - ipfire.locationdb.version: Get LocationDB version timestamp in unixtime. Signed-off-by: Robin Roevens --- config/rootfiles/packages/zabbix_agentd | 1 + config/zabbix_agentd/userparameter_locationdb.conf | 6 ++++++ lfs/zabbix_agentd | 2 ++ 3 files changed, 9 insertions(+) create mode 100644 config/zabbix_agentd/userparameter_locationdb.conf diff --git a/config/rootfiles/packages/zabbix_agentd b/config/rootfiles/packages/zabbix_agentd index 52cb37e93..7f1f39b64 100644 --- a/config/rootfiles/packages/zabbix_agentd +++ b/config/rootfiles/packages/zabbix_agentd @@ -23,6 +23,7 @@ var/ipfire/zabbix_agentd/userparameters/userparameter_ipfire.conf var/ipfire/zabbix_agentd/userparameters/userparameter_ovpn.conf var/ipfire/zabbix_agentd/userparameters/userparameter_gateway.conf var/ipfire/zabbix_agentd/userparameters/userparameter_wireguard.conf +var/ipfire/zabbix_agentd/userparameters/userparameter_locationdb.conf var/ipfire/zabbix_agentd/scripts var/ipfire/zabbix_agentd/scripts/ipfire_certificate_detail.sh var/ipfire/zabbix_agentd/scripts/ipfire_services.pl diff --git a/config/zabbix_agentd/userparameter_locationdb.conf b/config/zabbix_agentd/userparameter_locationdb.conf new file mode 100644 index 000000000..4aa540762 --- /dev/null +++ b/config/zabbix_agentd/userparameter_locationdb.conf @@ -0,0 +1,6 @@ +# Parameters for querying IPFire Location DB +# +# Returns Location DB lookup for one or more IP addresses +UserParameter=ipfire.locationdb.lookup[*],/usr/bin/location lookup $1 $2 $3 $4 $5 $6 $7 $8 $9 2>&1 | awk -F"[[:space:]]*:[[:space:]]*" 'BEGIN { printf "{" } /[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+:/ { printf "%s\"%s\":{",separator,$$1; separator = "," } /^[[:space:]]*Network/ { printf "\"network\":\"" $$2 "\"" } /^[[:space:]]*Country/ { printf ",\"country\":\"" $$2 "\"" } /^[[:space:]]*Autonomous System/ { printf ",\"as\":\"" $$2 "\"}" } /Errno [[:digit:]]+/ { printf "\"error\":\"%s\"",$$0 } END { printf "}" }' +# Returns the Unix timestamp of the IPFire Location DB version +UserParameter=ipfire.locationdb.version,date -d"$(/usr/bin/location version)" +%s diff --git a/lfs/zabbix_agentd b/lfs/zabbix_agentd index 6d0a6b4ea..db43bd611 100644 --- a/lfs/zabbix_agentd +++ b/lfs/zabbix_agentd @@ -116,6 +116,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) /var/ipfire/zabbix_agentd/userparameters/userparameter_gateway.conf install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/userparameter_wireguard.conf \ /var/ipfire/zabbix_agentd/userparameters/userparameter_wireguard.conf + install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/userparameter_locationdb.conf \ + /var/ipfire/zabbix_agentd/userparameters/userparameter_locationdb.conf # Install IPFire-specific Zabbix Agent scripts -mkdir -pv /var/ipfire/zabbix_agentd/scripts -- 2.50.1 -- Dit bericht is gescanned op virussen en andere gevaarlijke inhoud door MailScanner en lijkt schoon te zijn.