Enabling SNMP for Domino – Revisited

Over 4 years ago, I wrote an article on how to set up SNMP for Domino on a Linux server. Since then, I’ve regularly used that document myself, as I have to set up SNMP regularly for our customers. Last week, however, I had to set up SNMP for the first time on a Domino 14 server, which made me realise that it was time to revisit this subject. Not because Domino 14 is any different SNMP-wise, but because Domino 14 has to be installed on a Linux version with at least kernel 5.14, like RHEL 9, and those OSes are different.

The part where the previous article is no longer sufficient is the fact that RHEL no longer supports init.d to start up processes. Both my article and HCL’s documentation refer to making a symlink in /etc/init.d, and therefore are no longer valid for Domino 14. Despite the fact that HCL’s documentation is for Domino 14, their documentation is still referring to /etc/init.d and is therefore incorrect. Even worse is the fact that HCL doesn’t offer any solution in the form of a systemd-script, which is needed to start the Domino lnsnmp agent.

I vaguely remembered that Daniel Nashed and I discussed SNMP in the past and that he wanted to script the installation, so I contacted him about it. It turns out that he did script it and that he scripted it for modern Linux installations, which includes RHEL 9. He never documented it, but the script is in his Domino start script repository. I’ll therefore describe the new procedure to set up SNMP for Domino 14 using Daniel’s script. Prerequisites are an installed Domino server and a download of Daniel’s Domino startscript somewhere on your server (if you haven’t used that already for setting up Domino, you should seriously ask yourself why you didn’t as it would have saved you a ton of time). I’m assuming that you’re running below commands as the root user. Otherwise, you need to use sudo.

dnf install -y net-snmp
systemctl enable snmpd
systemctl start snmpd
cd <path-to-startscript>/domino-startscript/snmp
chmod +x install.sh

Daniel might set the executable bit at some stage in the file in the repo, but till that time you’ll have to set it yourself. If everything went as planned, you should be greeted by a message like this:

[root@xxx snmp]# ./install.sh
Created symlink /etc/systemd/system/multi-user.target.wants/dominosnmp.service → /etc/systemd/system/dominosnmp.service.

Starting Domino SNMP agent...

● dominosnmp.service - HCL Domino SNMP Agent
     Loaded: loaded (/etc/systemd/system/dominosnmp.service; enabled; preset: disabled)
     Active: active (running) since Wed 2024-03-20 10:46:10 CET; 14ms ago
    Process: 53313 ExecStart=/opt/hcl/domino/notes/latest/linux/lnsnmp -F (code=exited, status=0/SUCCESS)
   Main PID: 53314 (lnsnmp)
      Tasks: 1 (limit: 203452)
     Memory: 400.0K
        CPU: 5ms
     CGroup: /system.slice/dominosnmp.service
             └─53314 /opt/hcl/domino/notes/latest/linux/lnsnmp -F

Mar 20 10:46:10 xxx systemd[1]: Starting HCL Domino SNMP Agent...
Mar 20 10:46:10 xxx systemd[1]: Started HCL Domino SNMP Agent.
Mar 20 10:46:10 xxx lnsnmp[53314]: HCL Domino SNMP Agent (Version 8.0)
Mar 20 10:46:10 xxx lnsnmp[53314]: Copyright (c) HCL Technologies 1994, 2019. All Rights Reserved.

Note: Ensure that the quryset and intrcpt server tasks are started on your Domino server

As the message says, the last thing you need to do to finish the configuration, is starting the necessary Domino server tasks: quryset and intrcpt. I prefer to do this in a program document that runs on server startup, but of course adding them to your “ServerTasks”-line in your notes.ini works too.