We have a device where the system contact was incorrect (set to the same as default). Once we received an alert, we attempted to change it, down to the level of deleting the device and rediscovering it, with the correct System Contact. Alerts are still coming to the default contact and not to the system contact. Is there something I am missing here?
./validate.php
Component |
Version |
LibreNMS |
1.55-41-g5a8d3aee58 |
DB Schema |
2019_09_05_153524_create_notifications_attribs_index (141) |
PHP |
7.2.17-0ubuntu0.18.04.1 |
MySQL |
10.1.38-MariaDB-0ubuntu0.18.04.1 |
RRDTool |
1.7.0 |
SNMP |
NET-SNMP 5.7.3 |
====================================
[OK] Composer Version: 1.9.0
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct
This gets more confusing…
I realised that the System Contact did not have an email transport, so I created a matching one. Now the default alert claims to have sent an alert there, only it did not…
Running it through test-alert.php, I can see that the syscontact is returned as:
System Contact sys.contact@mydomain
and then I get:
Preformatted text
SQL[SELECT * FROM devices_attribs WHERE device_id
= ? [279] 0.16ms]
SQL[select * from device_perf
where device_id
= ? order by timestamp
desc limit 1 [279] 1.01ms]
SQL[select * from alert_templates
where exists (select * from alert_template_map
where alert_templates
.id
= alert_template_map
.alert_templates_id
and alert_rule_id
= ?) limit 1 [5] 0.69ms]
Issuing Alert-UID #18443/1:
SQL[SELECT rule_id
FROM alerts
WHERE id
=? [3771] 0.24ms]
SQL[SELECT b.transport_id, b.transport_type, b.transport_name FROM alert_transport_map AS a LEFT JOIN alert_transports AS b ON b.transport_id=a.transport_or_group_id WHERE a.target_type=‘single’ AND a.rule_id=? UNION DISTINCT SELECT d.transport_id, d.transport_type, d.transport_name FROM alert_transport_map AS a LEFT JOIN alert_transport_groups AS b ON a.transport_or_group_id=b.transport_group_id LEFT JOIN transport_group_transport AS c ON b.transport_group_id=c.transport_group_id LEFT JOIN alert_transports AS d ON c.transport_id=d.transport_id WHERE a.target_type=‘group’ AND a.rule_id=? [5,5] 0.77ms]
SQL[SELECT transport_id, transport_type, transport_name FROM alert_transports WHERE is_default=true [] 0.27ms] Preformatted text
which then emails the default only…
I got it to work by enabling email alerts in the global config - at least it emailed the sys contact as well as the default. Not really what I want, but I thought email alerts from the global config was deprecated? Am I wrong? …and how do I stop it from emailing the default contact?
uncheck the default contact in the general alert settings. All deprecated settings have been removed now.
Done that thanks - we’ll see how it goes…