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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7c319b0 · Jan 1, 2025

History

30 Commits
Aug 26, 2021
Feb 21, 2022
Feb 21, 2022
Aug 23, 2022
Nov 3, 2023
Aug 26, 2021
Aug 31, 2021
Jun 4, 2024
Aug 26, 2021
Jan 1, 2025
Aug 6, 2021
Jul 5, 2022
Aug 23, 2022
Aug 31, 2021
Aug 31, 2021
Aug 31, 2021
Feb 21, 2022
Feb 21, 2022

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.