INT 21h

Hi, I am Vladimir Smagin, SysAdmin and Kaptain. Telegram Email / GIT / RSS / GPG

Zabbix: monitor days before SSL expired

№ 10870 В разделе Sysadmin от December 30th, 2019,
В подшивках: ,

I monitor my SSL enabled domains with automatic discovery feature. On server I placed text file with new line separated domain list /etc/zabbix/scripts/ssl_list.txt, zabbix checking it every minute and creating new items with domains. No empty line at the end! Install jq tool to work with JSON.

See archive file at the end.

Create directory /etc/zabbix/scripts and place 2 files inside:, ssl_list.txt.
Copy configuration file for zabbix agent /etc/zabbix/zabbix_agentd.d/ssl.conf

Now import XML file with template or create discovery rule by hands:

Good! Good! Add new item prototype

And two triggers “expires” and “expired”

Now wait few minutes and you see your domains in latest data

All files you need at once, just import template data in zabbix web interface.


Нет комментариев »

Zabbix calculated item and abschange (change)

№ 10168 В разделе Sysadmin от August 9th, 2019,
В подшивках: ,

Last time I wrote to you how monitor your Nginx instance with Zabbix. Now I tell you how to calculate rates from counters.

You looking at something like that in your template

Now create new Item handled

Ok, see at field with formula, it linked with created earlier Item “Nginx Handled”. As said in official documentation abschange shows you a difference between last and current values. Now set Interval to 60 seconds and you have “Handled per minute” value.

Of course, you want to create some Graphics. All people loves graphics!

Нет комментариев »

War of analytics: Matomo (former Piwik) vs AdBlock

№ 10144. В разделе Sysadmin от July 25th, 2019

В подшивках: , ,

Zabbix: MySQL to Postgresql migration

№ 9662 В разделе Sysadmin от December 28th, 2018,
В подшивках: , , ,

All services containerized by Docker, MySQL and Zabbix containers connected to network “zabbix”.

Start Postgresql container and add it to zabbix network group in Docker, set parameters as you need

docker run --name postgres -d --restart=Always \
    -e POSTGRES_USER=postgres
    -e POSTGRES_PASSWORD=postgres
docker network connect zabbix postgres

Now create database and user

docker exec -it postgres su -c "createuser -P zabbix" postgres
docker exec -it postgres su -c "createdb -E UTF-8 -O zabbix zabbix" postgres

Ok, database online and accessible for Zabbix services.

Now you can stop old containers with Zabbix services for MySQL and run migration

docker stop zabbix-server-mysql zabbix-panel-mysql
docker run --network zabbix --rm -v /tmp/zabbix:/zabbix dimitri/pgloader:latest \
    bash -c "pgloader --debug --verbose \
    mysql://root:pa55w0rd@mariadb/zabbix \

Lets create script to start new Zabbix containers for Postgres DB



docker run --name zabbix-server-pg -p 10051:10051 \
    -v $alertscripts \
    -v $externalscripts \
    -e DB_SERVER_HOST="postgres" \
    -e DB_SERVER_PORT=5432 \
    -e POSTGRES_USER="zabbix" \
    -e POSTGRES_PASSWORD="zabbix" \
    -e POSTGRES_DB="zabbix" \
    -d --restart=always \
    --network zabbix \

docker run --name zabbix-panel-pg -p 5001:80 \
    -e DB_SERVER_HOST="postgres" \
    -e POSTGRES_USER="zabbix" \
    -e POSTGRES_PASSWORD="zabbix" \
    -e POSTGRES_DB="zabbix" \
    -e ZBX_SERVER_HOST="zabbix-server-pg" \
    -e ZBX_SERVER_PORT="10051" \
    -e PHP_TZ="Asia/Novosibirsk" \
    -d --restart=always \
    --network zabbix \

You did it! Take a cookie from shelf.

Нет комментариев »

Zabbix automatic discovery and monitoring Docker containers

№ 9617. В разделе Sysadmin от December 2nd, 2018

В подшивках: , ,

Облачная платформа

Fortune cookie: Today's spam: Goodday. These Needful ladies would like someone to bang them