Zabbix loadable module for monitoring website certificates
This module provides Zabbix agent 2 feature of monitoring certificates in the form compatible with Zabbix server / proxy as was originally requested. Agent (the "old" one) is supported too.
Module uses some of Zabbix code completely unchanged,
so the behaviour should be identical to native web.certificate.get
item and
templates designed for agent 2
should require only minor modifications.
You will need an environment with working C and Go compilers.
- Download Zabbix source or check it out from Git repository:
git clone https://git.zabbix.com/scm/zbx/zabbix.git --depth 1 /path/to/zabbix/source
Note that you need to compile module using sources of the version you will be using it with!
- Configure Zabbix sources:
cd /path/to/zabbix/source
./bootstrap.sh
./configure
- Get module sources,
point them to Zabbix source directory
and run
make
to build, it should producesheepskin.so
andsheepskin-cgo.so
shared libraries.
cd /path/to/sheepskin/source
export ZABBIX_SOURCE=/path/to/zabbix/source
make
Copy sheepskin.so
and sheepskin-cgo.so
to a desired location, set up necessary permissions.
Note that both have to be located in the same directory!
Set LoadModulePath
and LoadModule
parameters in Zabbix
agent /
proxy /
server
configuration file.
LoadModulePath=/path/to/modules/
LoadModule=sheepskin.so
or
LoadModulePath=/path/to/modules/sheepskin.so
Restart Zabbix agent / proxy / server.
Note that you don't need to mention sheepskin-cgo.so
in Zabbix configuration file.
It will be loaded in runtime using dlopen()
.
Configure web.certificate.get
checks:
- use item type Simple check if the module is loaded by server or proxy;
- use item type Zabbix agent or Zabbix agent (active) if the module is loaded by agent.
Please refer to
official documentation of web.certificate.get
for further details.