mirror of
https://github.com/zabbix/zabbix-docker.git
synced 2024-11-25 09:13:50 +01:00
138 lines
8.2 KiB
Markdown
138 lines
8.2 KiB
Markdown
![logo](https://assets.zabbix.com/img/logo/zabbix_logo_500x131.png)
|
|
|
|
# What is Zabbix?
|
|
|
|
Zabbix is an enterprise-class open source distributed monitoring solution.
|
|
|
|
Zabbix is software that monitors numerous parameters of a network and the health and integrity of servers. Zabbix uses a flexible notification mechanism that allows users to configure e-mail based alerts for virtually any event. This allows a fast reaction to server problems. Zabbix offers excellent reporting and data visualisation features based on the stored data. This makes Zabbix ideal for capacity planning.
|
|
|
|
For more information and related downloads for Zabbix components, please visit https://hub.docker.com/u/zabbix/ and https://zabbix.com
|
|
|
|
# What is Zabbix Java Gateway?
|
|
|
|
Zabbix Java Gateway performs native support for monitoring JMX applications. Java gateway accepts incoming connection from Zabbix server or Zabbix proxy and can only be used as a "passive proxy".
|
|
|
|
# Zabbix Java Gateway images
|
|
|
|
These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.12, Ubuntu 20.04 (focal) and CentOS 8 images. The available versions of Zabbix Java Gateway are:
|
|
|
|
Zabbix Java Gateway 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) (unsupported)
|
|
Zabbix Java Gateway 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) (unsupported)
|
|
Zabbix Java Gateway 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) (unsupported)
|
|
Zabbix Java Gateway 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) (unsupported)
|
|
Zabbix Java Gateway 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest) (unsupported)
|
|
Zabbix Java Gateway 3.4.* (tags: alpine-3.4.*, ubuntu-3.4.*, centos-3.4.*) (unsupported)
|
|
Zabbix Java Gateway 4.0 (tags: alpine-4.0-latest, ubuntu-4.0-latest, centos-4.0-latest)
|
|
Zabbix Java Gateway 4.0.* (tags: alpine-4.0.*, ubuntu-4.0.*, centos-4.0.*)
|
|
Zabbix Java Gateway 4.2 (tags: alpine-4.2-latest, ubuntu-4.2-latest, centos-4.2-latest) (unsupported)
|
|
Zabbix Java Gateway 4.2.* (tags: alpine-4.2.*, ubuntu-4.2.*, centos-4.2.*) (unsupported)
|
|
Zabbix Java Gateway 4.4 (tags: alpine-4.4-latest, ubuntu-4.4-latest, centos-4.4-latest) (unsupported)
|
|
Zabbix Java Gateway 4.4.* (tags: alpine-4.4.*, ubuntu-4.4.*, centos-4.4.*) (unsupported)
|
|
Zabbix Java Gateway 5.0 (tags: alpine-5.0-latest, ubuntu-5.0-latest, centos-5.0-latest)
|
|
Zabbix Java Gateway 5.0.* (tags: alpine-5.0.*, ubuntu-5.0.*, centos-5.0.*)
|
|
Zabbix Java Gateway 5.2 (tags: alpine-5.2-latest, ubuntu-5.2-latest, centos-5.2-latest, alpine-latest, ubuntu-latest, centos-latest, latest)
|
|
Zabbix Java Gateway 5.2.* (tags: alpine-5.2.*, ubuntu-5.2.*, centos-5.2.*)
|
|
Zabbix Java Gateway 5.4 (tags: alpine-trunk, ubuntu-trunk, centos-trunk)
|
|
|
|
Images are updated when new releases are published. The image with ``latest`` tag is based on Alpine Linux.
|
|
|
|
# How to use this image
|
|
|
|
## Start `zabbix-java-gateway`
|
|
|
|
Start a Zabbix Java Gateway container as follows:
|
|
|
|
docker run --name some-zabbix-java-gateway -d zabbix/zabbix-java-gateway:tag
|
|
|
|
Where `some-zabbix-java-gateway` is the name you want to assign to your container and `tag` is the tag specifying the version you want. See the list above for relevant tags, or look at the [full list of tags](https://hub.docker.com/r/zabbix/zabbix-java-gateway/tags/).
|
|
|
|
## Linking the container to Zabbix server or Zabbix proxy
|
|
|
|
docker run --name some-zabbix-java-gateway --link some-zabbix-server:zabbix-server -d zabbix/zabbix-java-gateway:tag
|
|
|
|
## Container shell access and viewing Zabbix Java Gateway logs
|
|
|
|
The `docker exec` command allows you to run commands inside a Docker container. The following command line will give you a bash shell inside your `zabbix-java-gateway` container:
|
|
|
|
```console
|
|
$ docker exec -ti some-zabbix-java-gateway /bin/bash
|
|
```
|
|
|
|
The Zabbix Java Gateway log is available through Docker's container log:
|
|
|
|
```console
|
|
$ docker logs some-zabbix-java-gateway
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
When you start the `zabbix-java-gateway` image, you can adjust the configuration of the Zabbix Java Gateway by passing one or more environment variables on the `docker run` command line.
|
|
|
|
### `ZBX_START_POLLERS`
|
|
|
|
This variable is specified amount of pollers. By default, value is `5`.
|
|
|
|
### `ZBX_TIMEOUT`
|
|
|
|
This variable is used to specify timeout for outgoing connections. By default, value is `3`.
|
|
|
|
### `ZBX_DEBUGLEVEL`
|
|
|
|
This variable is used to specify log level. By default, value is `info`. The variable allows next values: ``trace``, ``debug``, ``info``, ``want``, ``error``, ``all``, ``off``
|
|
|
|
### `ZBX_PROPERTIES_FILE`
|
|
|
|
Name of properties file. Can be used to set additional properties using a key-value format in such a way that they are not visible on a command line or to overwrite existing ones.
|
|
|
|
### `ZABBIX_OPTIONS`
|
|
|
|
Additional arguments for Zabbix Java Gateway. Useful to enable additional libraries and features.
|
|
|
|
## Allowed volumes for the Zabbix Java Gateway container
|
|
|
|
### ``/usr/sbin/zabbix_java/ext_lib``
|
|
|
|
The volume allows include additional JAR files to extend allowed protocols for Zabbix Java Gateway.
|
|
|
|
# The image variants
|
|
|
|
The `zabbix-java-gateway` images come in many flavors, each designed for a specific use case.
|
|
|
|
## `zabbix-java-gateway:ubuntu-<version>`
|
|
|
|
This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
|
|
|
|
## `zabbix-java-gateway:alpine-<version>`
|
|
|
|
This image is based on the popular [Alpine Linux project](http://alpinelinux.org), available in [the `alpine` official image](https://hub.docker.com/_/alpine). Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
|
|
|
|
This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use [musl libc](http://www.musl-libc.org) instead of [glibc and friends](http://www.etalabs.net/compare_libcs.html), so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See [this Hacker News comment thread](https://news.ycombinator.com/item?id=10782897) for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.
|
|
|
|
To minimize image size, it's uncommon for additional related tools (such as `git` or `bash`) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the [`alpine` image description](https://hub.docker.com/_/alpine/) for examples of how to install packages if you are unfamiliar).
|
|
|
|
# Supported Docker versions
|
|
|
|
This image is officially supported on Docker version 1.12.0.
|
|
|
|
Support for older versions (down to 1.6) is provided on a best-effort basis.
|
|
|
|
Please see [the Docker installation documentation](https://docs.docker.com/installation/) for details on how to upgrade your Docker daemon.
|
|
|
|
# User Feedback
|
|
|
|
## Documentation
|
|
|
|
Documentation for this image is stored in the [`java-gateway/` directory](https://github.com/zabbix/zabbix-docker/tree/current/java-gateway) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request.
|
|
|
|
## Issues
|
|
|
|
If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/zabbix/zabbix-docker/issues).
|
|
|
|
### Known issues
|
|
|
|
## Contributing
|
|
|
|
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
|
|
|
|
Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/zabbix/zabbix-docker/issues), especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.
|