Sign inSign up

monitoringartist/zabbix-db-mariadb

By monitoringartist

Updated over 8 years ago

Docker image of MariaDB optimized for Zabbix

Image
13

5M+

monitoringartist/zabbix-db-mariadb repository overview

Zabbix XXL

Zabbix XXL is a standard Zabbix prepared for Docker world. You must install Zabbix package (rpm, deb, ...) in the old world. Similarly, you need to pull Zabbix Docker image in the Docker world. This Docker image contains standard Zabbix + additional XXL (community) extensions. Routine tasks such as import of Zabbix DB are automated, so it's prepared for easy deployment.

If you like or use this project, please provide feedback to author - Star it ★.

Overview of Monitoring Artist (dockerized) monitoring ecosystem:

Zabbix DB - MariaDB 10.0

This is a MariaDB 10.0 Docker zabbix/zabbix-db-mariadb image. Built on top of official centos:centos7 image. Inspired by Tutum's tutum/mariadb image.

Note: be aware that, by default MariaDB in this container is configured to use 1GB memory (innodb_buffer_pool_size in tuning.cnf). If you try to run it on node with less memory, it will fail.

Usage

Run the image as daemon and bind it to port 3306:

	docker run \
		-d \
		--name zabbix-db \
		-p 3306:3306 \
		--env="MARIADB_USER=username" \
		--env="MARIADB_PASS=my_password" \
        --env="DB_innodb_buffer_pool_size=768M" \
		monitoringartist/zabbix-db-mariadb:latest

Environmental variables

You can use environmental variables to config MariaDB. Available variables:

VariableDefault value
DB_max_allowed_packet64M
DB_open_files_limit4096
DB_max_connections300
DB_query_cache_size0
DB_query_cache_type0
DB_sync_binlog0
DB_innodb_buffer_pool_size768M
DB_innodb_log_file_size128M
DB_innodb_flush_methodO_DIRECT
DB_innodb_old_blocks_time1000
DB_innodb_flush_log_at_trx_commit0

Configuration from volume

Full config files can be also used. Environment configs will be overriden by values from config files in this case. You need only to add /etc/custom-config/ volume:

-v /host/custom-config/:/etc/custom-config/

Available files:

FileDescription
mariadb-tuning.cnfMariaDB configuration file

The first time that you run your container, a new user admin with all privileges will be created in MariaDB with a random password. To get the password, check the logs of the container by running:
docker logs <CONTAINER_ID>

You will see an output like the following:

	========================================================================
    You can now connect to this MariaDB Server using:

        mysql -uadmin -pCoFlnc3ZBS58 -h<host>

    Please remember to change the above password as soon as possible!       
    MariaDB user 'root' has no password but only allows local connections
    ========================================================================

In this case, CoFlnc3ZBS58 is the password generated for the admin user.

Custom Password for user admin

If you want to use a preset password instead of a random generated one, you can set the environment variable MARIADB_PASS to your specific password when running the container:

docker run -d -p 3306:3306 -e MARIADB_PASS="mypass" monitoringartist/zabbix-db-mariadb

Mounting the database file volume from other containers

One way to persist the database data is to store database files in another container. To do so, first create a container that holds database files:

docker run -d -v /var/lib/mysql --name db-data busybox:latest

This will create a new container and use its folder /var/lib/mysql to store MariaDB database files. You can specify any name of the container by using --name option, which will be used in next step.

After this you can start your MariaDB image using volumes in the container created above (put the name of container in --volumes-from).

docker run -d --volumes-from db-data -p 3306:3306 monitoringartist/zabbix-db-mariadb

Tag summary

Content type

Image

Digest

Size

192.2 MB

Last updated

over 8 years ago

docker pull monitoringartist/zabbix-db-mariadb