agent docker zabbix_docker部署zabbix
我相信大家都已經會再物理機上跑zabbix并且監控了,那么有沒有想過在docker中跑zabbix?下面咱們來看看如何在docker中搭建zabbix并且監控
部署環境
2臺物理機機器:
zabbix-server:192.168.254.13
zabbix-agent:192.168.254.17
docker版本:Server Version: 19.03.1
zabbix版本:4.0
docker的鏡像網站(清華大學):https://mirrors.tuna.tsinghua.edu.cn/
安裝docker
cd /etc/yum.repos.d/
wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
部署zabbix
1.部署mysql數據庫
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="root" \
-v /mysql/data/:/var/lib/mysql -v /mysql/conf/:/etc/my.cnf.d/ \
-d mariadb:10.2
2.部署zabbix-server
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"\-e MYSQL_ROOT_PASSWORD="root"\--link mysql-server:mysql \-p 10051:10051\-d zabbix/zabbix-server-mysql:latest
3.部署apache web
docker run --name zabbix-web-apache-mysql -t \-e DB_SERVER_HOST="mysql-server"\-e MYSQL_DATABASE="zabbix"\-e MYSQL_USER="zabbix"\-e MYSQL_PASSWORD="zabbix"\-e MYSQL_ROOT_PASSWORD="root"\--link mysql-server:mysql \--link zabbix-server-mysql:zabbix-server \-p 80:80\-d zabbix/zabbix-web-apache-mysql:latest
4.打開瀏覽器
用戶名為Admin,密碼為zabbix
5.安裝zabbix客戶端agent
docker run --name zabbix-agent \-e ZBX_HOSTNAME="self"\-e ZBX_SERVER_HOST="192.168.254.13"\-e ZBX_METADATA="client"\-p 10050:10050\-d zabbix/zabbix-agent:latest
6.在zabbix server端開啟自動注冊規則
過一會我們就可以看到宿主機192.168.254.17上的容器已經被注冊進來了
最后說明一下上面用到的命令和參數解釋
說明一下各個參數的意義:--name:代表容器的名字,或者標簽-e:代表要執行的環境變量-p:代表映射的端口,:前面為宿主機,:后面代表容器的端口-d:代表后臺運行-v:代表映射卷--character-set-server:字符集--collation-server:大小寫是否敏感
MYSQL_USER:代表zabbix用戶名
MYSQL_PASSWORD:代表zabbix的密碼
MYSQL_DATABASE:zabbix創建的數據庫名字為zabbixMYSQL_ROOT_PASSWORD:代表數據庫root密碼,沒有指定USER是因為默認就是root
更多參數詳情請參照以下網站:
mariadb10.2參考手冊:https://hub.docker.com/_/mariadb
zabbix-server參考手冊:https://hub.docker.com/r/zabbix/zabbix-server-mysql
zabbix-web-apache-mysql參考手冊:https://hub.docker.com/r/zabbix/zabbix-web-apache-mysql
zabbix-agent參考手冊:https://hub.docker.com/r/zabbix/zabbix-agent
用docker-compose部署zabbix
編輯docker-compose.yaml文件
[root@master ~]# catdocker-compose.yaml
version:'3.3'services:
mysql-server:
container_name: mariadb-server
image: mariadb:10.2restart: always
environment:
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix
MYSQL_ROOT_PASSWORD: root
volumes:- /data/mysql/data/:/var/lib/mysql- /data/mysql/conf/:/etc/my.cnf.d/server.cnf
zabbix-server:
container_name: zabbix-server
image: zabbix/zabbix-server-mysql
restart: always
environment:
DB_SERVER_HOST:"mysql-server"MYSQL_DATABASE:"zabbix"MYSQL_USER:"zabbix"MYSQL_PASSWORD:"zabbix"MYSQL_ROOT_PASSWORD:"root"ports:- 10051:10051links:- mysql-server
zabbix-web:
container_name: zabbix-web
image: zabbix/zabbix-web-apache-mysql
restart: always
depends_on:- mysql-server- zabbix-server
environment:
DB_SERVER_HOST:"mysql-server"MYSQL_DATABASE:"zabbix"MYSQL_USER:"zabbix"MYSQL_PASSWORD:"zabbix"MYSQL_ROOT_PASSWORD:"root"ports:- 80:80links:- mysql-server- zabbix-server
用docker-compose執行創建容器
#啟動docker-compose.yaml文件中定義的容器,并且是后臺運行
[root@master~]# docker-compose up -d
說明
docker-compose命令的用法
Commands:
build Build or rebuild services
bundle Generate a Docker bundle from the Composefileconfig Validate and view the Composefilecreate Create services
down Stop and remove containers, networks, images, and volumes
events Receive realtimeevents from containers
exec Execute a commandina running container
help Get help on a command
images List imageskillKill containers
logs View output from containers
pause Pause services
port Print the public portfora port bindingpsList containers
pull Pull service images
push Push service images
restart Restart servicesrmRemove stopped containers
run Run a one-off command
scale Set number of containersfora service
start Start services
stop Stop services
top Display the running processes
unpause Unpause services
up Create and start containers
version Show the Docker-Compose version information
build 構建或重建服務
help 命令幫助
pause 暫停服務
exec 進入到一個docker容器的交互界面kill殺死容器
logs 顯示docker-compose.yaml文件中容器的輸出內容ps顯示啟動的容器
pull 拉取服務鏡像
restart 重啟服務rm刪除停止的容器
run 運行容器
scale 設置服務的容器數目
start 開啟服務
stop 停止服務
up 創建并啟動容器config 測試docker-comose.yaml文件的語法是否ok
docker-compose.yaml文件中的語法參數說明
一個docker-compose.yaml文件大致分為:version,services,network
version
version可以是1,2,3這是大版本,還有小版本,比如1.0,2.2,3.3等,在定義yaml文件時必須制定version版本,每個版本的語法可能不太相同,可以參照文章下方給的官方文檔了解詳情
service
1.service中定義服務名稱,service的下一級定義服務名稱
version: '3.3'services:
服務名稱:
2.在服務名稱下一級標簽有container_name,image,restart,privileged,environment,volumes,ports,links等
container_name:定義容器名稱
image:鏡像名稱
restart
restart:"no"#不重啟
restart: always #總是重啟
restart: on-failure #失敗時才重啟
restart: unless-stopped #除非停止
privileged:獲取最高權限
environment:設置系統環境變量
KEY1:VALUE1
KEY2:VALUE2
volumes 映射容器卷-HOST_PATH:CONTAINER_PATH-HOST_PATH:CONTAINER_PATH
ports: 映射容器端口-HOST_PORT: CONTAINER_PORT
links: 連接容器-SERVICE_NAME
depends_on:定義容器的先后順序- zabbix-server- zabbix-web- mysql-server
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的agent docker zabbix_docker部署zabbix的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ffplay flv mp4 转_FFm
- 下一篇: ibm r50隐藏分区_探索王道霸气:I