Skip to content
Snippets Groups Projects
Commit 3d1bebb5 authored by Jan David Mol's avatar Jan David Mol
Browse files

Resolve L2SS-1821 "Support new pcon"

parent f962c96c
No related branches found
No related tags found
1 merge request!905Resolve L2SS-1821 "Support new pcon"
......@@ -126,6 +126,9 @@ docker_build_image:
script:
# Do not remove 'bash' or statement will be ignored by primitive docker shell
- bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh $IMAGE $tag
artifacts:
paths:
- docker/snmp-exporter/snmp.yml
docker_build_image_device_base:
extends: .base_docker_images
......
......@@ -161,6 +161,7 @@ Next change the version in the following places:
# Release Notes
* 0.33.3 Add support for new PCON devices (ACX)
* 0.33.2 Fix for XSTs in Observations: Also write FPGA_xst_nof_crosslets_RW
* 0.33.1 SDPFirmware: replace FPGA_ucp monitoring points with new TR_ucp ones
* 0.33.0 Run containers with dedicated ethernet devices (ovs/macvlan)
......
SNMP monitoring
======================
The `snmp-exporter` module allows SNMP devices to be periodically queried to obtain Prometheus metrics describing their state.
This setup relies on the following parts:
* `docker/snmp-exporter/`, a daemon derived from `prom/snmp-exporter` that allows on-demand querying of SNMP devices and is extended with custom LOFAR MIBs,
* `infra/jobs/station/snmp-exporter.levant.nomad`, the Nomad job file to run `snmp-exporter`,
* `infra/consul/consul.hcl.j2`, which configures settings for SNMP "services" present,
* `infra/jobs/station/monitoring.levant.nomad`, the Nomad job file that has Prometheus query `snmp-exporter` for each SNMP "service".
......@@ -4,6 +4,12 @@ auths:
version: 1
public_v2:
version: 2
pcon_acc:
community: accread
version: 1
pcon_acx:
community: accread
version: 2
modules:
# Default IF-MIB interfaces table with ifIndex.
......@@ -34,6 +40,76 @@ modules:
readynas:
walk:
- 1.3.6.1.4.1.4526 # Raid/Disks status
# ACX Power Systems / Unipower
#
# https://www.unipowerco.com/MIB_files/ACX-MIB.mib
powecMIB:
allow_nonincreasing_oids: true
walk:
- systemInfo
- 1.3.6.1.4.1.5961.5.2 # powerSystem (this name clashes with the eltek MIBs)
- uFlag
- autoBoostFlag
- autoTestFlag
- numbOfAlarms
- alarmHistoryCount
- rectifierInfo
- powecACXTrap
overrides:
systemVoltage:
scale: 0.01
loadCurrent:
scale: 0.1
batteryCurrent:
ignore: true
rectifierCurrent:
scale: 0.1
dcdcCurrent:
scale: 0.1
meanCurrent:
scale: 0.1
outputCurrent:
scale: 0.1
outputVoltage:
scale: 0.1
batteryDescript:
ignore: true
batteryCapacity:
ignore: true
remainBatteryTime:
ignore: true
# gosnmp does not visit these in GETBULK, even though snmpwalk does
# see https://github.com/gosnmp/gosnmp/issues/467
powecMIB_rectifier3:
allow_nonincreasing_oids: true
walk:
# node: rectifierInfo.moduleTable
- 1.3.6.1.4.1.5961.5.6.2.1.1.3
- 1.3.6.1.4.1.5961.5.6.2.1.2.3
- 1.3.6.1.4.1.5961.5.6.2.1.3.3
- 1.3.6.1.4.1.5961.5.6.2.1.4.3
- 1.3.6.1.4.1.5961.5.6.2.1.5.3
- 1.3.6.1.4.1.5961.5.6.2.1.6.3
- 1.3.6.1.4.1.5961.5.6.2.1.7.3
- 1.3.6.1.4.1.5961.5.6.2.1.8.3
- 1.3.6.1.4.1.5961.5.6.2.1.9.3
- 1.3.6.1.4.1.5961.5.6.2.1.10.3
- 1.3.6.1.4.1.5961.5.6.2.1.11.3
- 1.3.6.1.4.1.5961.5.6.2.1.12.3
- 1.3.6.1.4.1.5961.5.6.2.1.13.3
- 1.3.6.1.4.1.5961.5.6.2.1.14.3
- 1.3.6.1.4.1.5961.5.6.2.1.15.3
overrides:
meanCurrent:
scale: 0.1
outputCurrent:
scale: 0.1
outputVoltage:
scale: 0.1
#
# White Rabbit
#
......
This diff is collapsed.
......@@ -290,6 +290,8 @@ postgres.service.consul:5432:grafana:postgres:password
target_label: __param_module
- source_labels: [__meta_consul_service_address]
target_label: __param_target
- source_labels: [__meta_consul_service_metadata_auth]
target_label: __param_auth
- target_label: __address__
replacement: "snmp-exporter.service.consul:9116"
- source_labels: [__meta_consul_service]
......
......@@ -28,6 +28,7 @@ job "snmp-exporter" {
config {
image = "[[.registry.astron.url]]/snmp-exporter:[[.image_tag]]"
ports = ["http"]
args = ["--config.file=/etc/snmp_exporter/snmp.yml", "--snmp.module-concurrency=3", "--snmp.wrap-large-counters"]
}
resources {
cpu = 100
......
......@@ -59,23 +59,25 @@ services {
}
services {
name = "pcon1-snmp"
id = "pcon1-snmp"
name = "pcon0-snmp"
id = "pcon0-snmp"
address = "10.99.250.70"
port = 161
tags = ["snmp-scrape"]
meta = {
mibs = "eltek"
mibs = "powecMIB,powecMIB_rectifier3"
auth = "pcon_acx"
}
}
services {
name = "pcon2-snmp"
id = "pcon2-snmp"
name = "pcon1-snmp"
id = "pcon1-snmp"
address = "10.99.250.71"
port = 161
tags = ["snmp-scrape"]
meta = {
mibs = "eltek"
mibs = "powecMIB,powecMIB_rectifier3"
auth = "pcon_acx"
}
}
0.33.2
0.33.3
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment