centos上docker部署zabbix

Posted 桜満三葉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos上docker部署zabbix相关的知识,希望对你有一定的参考价值。

环境

centos7,docker,zabbix-server5.4,zabbix-agent4.0

一、zabbix-server

1. 安装mysql

docker run --name mysql-server -t \\
             -e MYSQL_DATABASE="zabbix" \\
             -e MYSQL_USER="zabbix" \\
             -e MYSQL_PASSWORD="填写你的密码" \\
             -e MYSQL_ROOT_PASSWORD="填写你的密码" \\
             -d mysql:5.7 \\
             --character-set-server=utf8 --collation-server=utf8_bin

2. 安装java监控

docker run --name zabbix-java-gateway -t \\
             -d zabbix/zabbix-java-gateway:latest

3. 安装zabbix-server

docker run --privileged=true -v /home/zabbix-server:/etc/zabbix --name zabbix-server-mysql -t \\
             -e DB_SERVER_HOST="mysql-server" \\
             -e MYSQL_DATABASE="zabbix" \\
             -e MYSQL_USER="zabbix" \\
             -e MYSQL_PASSWORD="填写你的密码" \\
             -e MYSQL_ROOT_PASSWORD="填写你的密码" \\
             -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \\
             --link mysql-server:mysql \\
             --link zabbix-java-gateway:zabbix-java-gateway \\
             -p 10051:10051 \\
             -d zabbix/zabbix-server-mysql:latest

**ps:挂载本地卷启动,本地需要提前创建好目录和放好zabbix_server.conf,不然无法启动容器。如果不进行挂载启动,则修改配置文件会比较麻烦。

4. 安装zabbix-nginx

docker run --name zabbix-web-nginx-mysql -t \\
             -e DB_SERVER_HOST="mysql-server" \\
             -e MYSQL_DATABASE="zabbix" \\
             -e MYSQL_USER="zabbix" \\
             -e MYSQL_PASSWORD="填写你的密码" \\
             -e MYSQL_ROOT_PASSWORD="填写你的密码" \\
             --link mysql-server:mysql \\
             --link zabbix-server-mysql:zabbix-server \\
             -p 8088:8080 \\
             -d zabbix/zabbix-web-nginx-mysql:latest

ps:注意docker的nginx镜像里面配置默认为8080端口,所以要映射到8080端口。

二、zabbix-agent

普通安装

  1. 添加源
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
  1. 安装
yum install zabbix-agent
  1. 启动
systemctl start zabbix-agent

ps:配置文件路径一般在/etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1 # zabbix-server 地址
ServerActive=127.0.0.1 # zabbix-server 地址
Hostname=Zabbix server # 在zabbix-server面板里添加的主机名,需要对应。

docker安装zabbix-agent

  1. 安装
docker run --name zabbix-agent --privileged=true \\
        -e ZBX_HOSTNAME="Zabbix server" \\
        -e ZBX_SERVER_HOST="zabbix-server-mysql" \\
        -p 10050:10050 \\
        --restart unless-stopped \\
        -d zabbix/zabbix-agent:latest

ps:从docker安装的,配置文件都需要进到容器里查看。

三、注意事项

1. server与agent通信

有2种方式

  • docker安装的server与agent,想要监控本机,本机的agent配置需要加上公网ip和docker内网ip。server的面板里则需要使用公网ip,不可使用127.0.0.1。
  • 搭建之前先创建docker网络,把2个容器都加入到docker网络里面

以下是不在一个docker网络的agent安装示例:

docker run --name zabbix-agent --privileged=true \\
        -e ZBX_HOSTNAME="Zabbix server" \\
        -e ZBX_SERVER_HOST="45.63.23.91,172.17.0.1" \\
        -p 10050:10050 \\
        --restart unless-stopped \\
        -d zabbix/zabbix-agent:latest

2. docker日志

1> 找出docker container日志文件所在的路径
docker inspect --format=\'.LogPath\' <container_name_or_id>
2>删除或者清空日志文件内容
echo |sudo tee $(docker inspect --format=\'.LogPath\' <container_name_or_id>)

3>查看日志

docker logs -f <container_name_or_id>

以上是关于centos上docker部署zabbix的主要内容,如果未能解决你的问题,请参考以下文章

docker部署zabbix

docker部署zabbix4.4

docker-compose部署zabbix5.0

Docker拉取镜像搭建Zabbix

基于CentOS 7.x上部署Zabbix 3.4

CentOS 7.5上部署Zabbix 3.4