Alert Tranport rules - mattermost/ca issue

Hi All

Fairly new to LibreNMS, but got the hang of what we are doing for the most part now I believe.

We are running LibreNMS running in Docker Containers - v25.3.0 running on Rocky 8, MariaDB 10.6 and redis 7.2

I work on disconnected/dark site, so me getting screenshots/logs is problematic, so will try and explain as best as I can or screenshots from my home setup and describe issues and if required follow up with some details, we’ve got Libre Polling successfully, to a couple of hundred end points, we’ve created some rules but we have one issue we haven’t got fixed yet and that is the Alert Transport Notifications.

I can click the transport Test tick button here and successfully get a message in the channel in Mattermost, but if we assign that same transport to a Rule for example as below

it fails, as mentioned earlier we’re on a disconnected environment, so we have our own CA, we’ve mounted the CA files in the docker container and since then the test button from the initial screen shot worked, if we run test-alert.php ( Testing - LibreNMS Docs ) with the rule from above the message goes to Mattermost with all the relevant info, but in the Device Overview UI we see SSL Certificate errors under Recent Events and no alerts in MM.

Could not issue critical alert for rule "Rule Name" to transport 'mattermost' Error GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see libcurl-errors.html).
Stack Trace to CurlFactory.php (can populate more if needed)

I understand the issue is that our CA isn’t trusted, but I’m missing where to amend it as it works for some tests but doesn’t work once assigned to a rule.

I’ve also tried amending the /etc/php83/php.ini and reloaded nginx in the container with the curl.cainfo="/path/to/ca.pem" to see if we can get php to trust it for laravel, I’ve also tried editing the curl library in guzzle src code to verify=false just to try and confirm the issue, but I think I edited the wrong file as this made no difference (also been a few years since I’ve looked at php)

I can’t build the docker container within the environment I work at as we don’t have all the repositories to do a full build, so I need to fix it once on site, so any suggestions I’m all ears!

When you mounted your CA files, did you mount them for both the librenms and the dispatcher containers? The test I believe would originate from the librenms container as that’s the WebUI. But the actual alert would probably originate from the dispatcher container since it’s run during polling.

@slashdoom : I Don’t believe I did! Didn’t even think of that, I will test when back in the office in the morning and update. Appreciate the input, thank you.

Thank you @slashdoom - can’t believe I hadn’t tried that before going into the weeds of the code!

Working now thanks.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.