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>

上一篇:zabbix-get安装使用


下一篇:安装部署zabbix