一、容器間的互聯
在運行zabbix之前務必要了解容器間互聯的方法
# 創建一個nginx容器
docker run -d -p 80:80 nginx
# 創建容器,做link,並進入容器中
docker run -it --link quirky_brown:web01 centos-ssh /bin/bash
# 在容器中訪問nginx容器可以ping通
ping web01
命令執行過程
# 啟動apache容器
[root@docker01 ~]# docker run -d httpd:2.4
3f1f7fc554720424327286bd2b04aeab1b084a3fb011a785b0deab6a34e56955
^[[A[root@docker01 docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f1f7fc55472 httpd:2.4 "httpd-foreground" 6 seconds ago Up 5 seconds 80/tcp determined_clarke
# 拉取一個busybox 鏡像
[root@docker01 ~]# docker pull busybox
# 啟動容器
[root@docker01 ~]# docker run -it --link determined_clarke:web busybox:latest /bin/sh
/ #
# 使用新的容器訪問最初的web容器
/ # ping web
PING web (172.17.0.2): 56 data bytes
64 bytes from 172.17.0.2: seq=0 ttl=64 time=0.058 ms
^C
--- web ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.058/0.058/0.058 ms
二、啟動zabbix容器
1. 啟動一個mysql的容器
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin
2、啟動java-gateway容器監控java服務
docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest
3、啟動zabbix-mysql容器使用link連接mysql與java-gateway
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-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
4、啟動zabbix web顯示,使用link連接zabbix-mysql與mysql
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="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
三、關於zabbix API
關於zabbix API可以參考官方文檔:https://www.zabbix.com/documentation/3.4/zh/manual/api
獲取token方法
# 獲取token
[root@docker02 ~]# curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1
}' http://10.0.0.100/api_jsonrpc.php
{"jsonrpc":"2.0","result":"d3be707f9e866ec5d0d1c242292cbebd","id":1}
