Skip to content
/ sheepskin Public

Zabbix loadable module for monitoring website certificates

License

Notifications You must be signed in to change notification settings

i-ky/sheepskin

Repository files navigation

sheepskin Build Status Gitpod ready-to-code

Zabbix loadable module for monitoring website certificates

summary

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.

compile

You will need an environment with working C and Go compilers.

  1. 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!

  1. Configure Zabbix sources:
cd /path/to/zabbix/source
./bootstrap.sh
./configure
  1. Get module sources, point them to Zabbix source directory and run make to build, it should produce sheepskin.so and sheepskin-cgo.so shared libraries.
cd /path/to/sheepskin/source
export ZABBIX_SOURCE=/path/to/zabbix/source
make

install

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!

configure

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().

use

Configure web.certificate.get checks:

Please refer to official documentation of web.certificate.get for further details.