系統(tǒng)運(yùn)維
一、準(zhǔn)備工作
創(chuàng)新互聯(lián)長(zhǎng)期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為盱眙企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、網(wǎng)站制作,盱眙網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。兩臺(tái)VMware 虛擬機(jī)
一臺(tái)充當(dāng)zabbix server(安裝docker)ip:192.168.73.133
一臺(tái)充當(dāng)zabbix agent(安裝docker)ip:192.168.73.136
基礎(chǔ)環(huán)境
cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
dcoker安裝
#關(guān)閉防火墻:
systemctl stop firewalld
systemctl disable firewalld
#關(guān)閉selinux:
sed -i \'s/enforcing/disabled/\' /etc/selinux/config
setenforce 0
#安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加Docker軟件包源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安裝Docker ce
yum install -y docker-ce
#啟動(dòng)Docker服務(wù)并設(shè)置開(kāi)機(jī)啟動(dòng)
systemctl start docker
systemctl enable docker
#查看版本號(hào)
[root@localhost ~]# docker version
Client: Docker Engine - Community
Version: 19.03.1
API version: 1.40
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:21:07 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.1
API version: 1.40 (minimum version 1.12)
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:19:36 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
#配置鏡像加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io`
#重啟鏡像
systemctl restart docker
docker安裝完畢!
zabbix server端操作
提供兩種不同的安裝方式
1、采用zabbix官網(wǎng)中的docker安裝章節(jié)內(nèi)容,在官方鏡像庫(kù)中拉取鏡像的方式進(jìn)行安裝
https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers
本文檔主機(jī)的本地目錄結(jié)構(gòu)目錄在/home/zabbix下,設(shè)置了用于保存容器的數(shù)據(jù),其它目錄根據(jù)實(shí)際應(yīng)用情況可選,以下操作命令需要連接外網(wǎng)進(jìn)行鏡像拉取,沒(méi)有外網(wǎng)需要離線下載鏡像包
1)啟動(dòng)一個(gè)單獨(dú)的數(shù)據(jù)庫(kù)mysql用于保存zabbix數(shù)據(jù)
docker run --name Mysql-server -t \\
-e MYSQL_DATABASE=zabbix \\
-e MYSQL_USER=zabbix \\
-e MYSQL_PASSWORD=zabbix \\
-e MYSQL_ROOT_PASSWORD=zabbix \\
-v /home/zabbix/data:/var/lib/mysql \\
-d mysql:5.7 \\
--character-set-server=utf8 \\
--collation-server=utf8_bin \\
--restart=always \\
-p 3306:3306
定義了數(shù)據(jù)庫(kù)名zabbix,數(shù)據(jù)庫(kù)用戶zabbix,密碼zabbix,在本地目錄/home/zabbix/data中持久化保存mysql容器運(yùn)行中的數(shù)據(jù),確保容器退出運(yùn)行后,數(shù)據(jù)不會(huì)丟失,最后兩條是定義了數(shù)據(jù)庫(kù)的字符集為utf8,解決了mysql數(shù)據(jù)庫(kù)保存中文的問(wèn)題;
2)啟動(dòng)zabbix server服務(wù),并關(guān)聯(lián)這個(gè)服務(wù)到上面已經(jīng)啟動(dòng)的mysql數(shù)據(jù)庫(kù)實(shí)例上,確保zabbix的數(shù)據(jù)可以保存到mysql數(shù)據(jù)庫(kù)中,掛載在本地目錄中的還有其它一些內(nèi)容,根據(jù)生產(chǎn)環(huán)境實(shí)際情況靈活決定是否掛載,如果掛載可以通過(guò)容器直接加載本地目錄中的腳本或認(rèn)證信息,鏡像版本使用的centos版本,便于后續(xù)能夠使用python腳本,預(yù)裝了py環(huán)境
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=zabbix \\
--link mysql-server:mysql \\
-v /home/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \\
-v /home/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \\
-v /home/zabbix/modules:/var/lib/zabbix/modules \\
-v /home/zabbix/enc:/var/lib/zabbix/enc \\
-v /home/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys \\
-v /home/zabbix/ssl/certs:/var/lib/zabbix/ssl/certs \\
-v /home/zabbix/ssl/keys:/var/lib/zabbix/ssl/keys \\
-v /home/zabbix/ssl/ssl_ca:/var/lib/zabbix/ssl/ssl_ca \\
-v /home/zabbix/snmptraps:/var/lib/zabbix/snmptraps \\
-v /home/zabbix/mibs:/var/lib/zabbix/mibs \\
-p 10051:10051 \\
-d zabbix/zabbix-server-mysql:centos-latest \\
-restart=always
掛載說(shuō)明:
/usr/lib/zabbix/alertscripts
該卷用于保存自定義警報(bào)腳本,它是AlertScriptsPath參數(shù)zabbix_server.conf
/usr/lib/zabbix/externalscripts
外部檢查(項(xiàng)目類型)使用該卷,它是ExternalScripts參數(shù)zabbix_server.conf
/var/lib/zabbix/modules
該卷允許加載其他模塊并使用LoadModule功能擴(kuò)展Zabbix服務(wù)器。
/var/lib/zabbix/enc
該卷用于存儲(chǔ)TLS相關(guān)文件。這些文件的名稱使用規(guī)定ZBX_TLSCAFILE,ZBX_TLSCRLFILE,ZBX_TLSKEY_FILE和ZBX_TLSPSKFILE變量。
/var/lib/zabbix/ssh_keys
該卷用作SSH檢查和操作的公鑰和私鑰的位置。它是SSHKeyLocation參數(shù)zabbix_server.conf。
/var/lib/zabbix/ssl/certs
該卷用作客戶端身份驗(yàn)證的SSL客戶端證書文件的位置。它是SSLCertLocation參數(shù)zabbix_server.conf。
/var/lib/zabbix/ssl/keys
該卷用作客戶端身份驗(yàn)證的SSL私鑰文件的位置。它是SSLKeyLocation參數(shù)zabbix_server.conf。
/var/lib/zabbix/ssl/ssl_ca
該卷用作SSL服務(wù)器證書驗(yàn)證的證書頒發(fā)機(jī)構(gòu)(CA)文件的位置。它是SSLCALocation參數(shù)zabbix_server.conf。
/var/lib/zabbix/snmptraps
該卷用作snmptraps.log文件的位置。它可以由zabbix-snmptraps容器共享,并volumes_from在創(chuàng)建Zabbix服務(wù)器的新實(shí)例時(shí)使用Docker選項(xiàng)繼承。
可以使用共享卷和交換ZBX_ENABLE_SNMP_TRAPS環(huán)境變量來(lái)啟用SNMP陷阱處理功能true。
/var/lib/zabbix/mibs
該卷允許添加新的MIB文件。它不支持子目錄,必須放置所有MIB /var/lib/zabbix/mibs
備注:通常會(huì)用到的是存放腳本的路徑和配置文件的路徑
3)啟動(dòng)zabbix前端web界面實(shí)例,將web界面實(shí)例與前面的mysql數(shù)據(jù)庫(kù)服務(wù)實(shí)例
docker run --rm --name zabbix-web-nginx-mysql -t \\
-e DB_SERVER_HOST=mysql-server \\
-e MYSQL_DATABASE=zabbix \\
-e MYSQL_USER=zabbix \\
-e MYSQL_PASSWORD=zabbix \\
-e MYSQL_ROOT_PASSWORD=zabbix \\
-e PHP_TZ=Asia/Shanghai \\
--link mysql-server:mysql \\
--link zabbix-server-mysql:zabbix-server \\
-p 8080:80 \\
-d zabbix/zabbix-web-nginx-mysql:latest
掛載說(shuō)明:
--link mysql-server:mysql 連接數(shù)據(jù)庫(kù)實(shí)例,mysql-server必須要與第一步的--name mysql-server完全一致
--link zabbix-server-mysql:zabbix-server 連接zabbix服務(wù)器實(shí)例,zabbix-server-mysql必須要與第二步的--name zabbix-server-mysql完全一致
DB_SERVER_HOST變量的值要與第二步指定的-e DB_SERVER_HOST="mysql-server"一致
4)檢查安裝的三個(gè)容器是否都正常啟動(dòng)
以上狀態(tài)就是三個(gè)容器全部正常啟動(dòng)
#如果有沒(méi)有啟動(dòng)可以使用查看所有容器列表
[root@localhost ~]# docker ps -a
#找到未能啟動(dòng)的容器ID,然后查看日志
[root@localhost ~]# docker logs 0eeb1dbdb279
5)宿主機(jī)上,使用正常的zabbix-agent的安裝,不使用容器
#rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.5-1.el7.x86_64.rpm
#yum install zabbix-agent
#vim /etc/zabbix/zabbix_agentd.conf #修改配置文件
Server=172.17.0.3
ServerActive=172.17.0.3:10050
Hostname=Zabbix server
#systemctl restart zabbix-agent
#systemctl enable zabbix-agent
注意:如果要對(duì)宿主機(jī)進(jìn)行監(jiān)控,請(qǐng)編輯宿主機(jī)的zabbix_agentd.conf,將Server地址,默認(rèn)127.0.0.1,修改為docker-server容器地址,否則不通;如果是對(duì)其他主機(jī)的監(jiān)控則使用docker-zabbix-server宿主機(jī)的IP
6)驗(yàn)證登陸主機(jī)8080端口,查看是否能正常登陸
使用安裝zabbix server的主機(jī)ip加端口8080登錄,賬號(hào)Admin,密碼zabbix,默認(rèn)是英文,白色背景,可以在右上角的用戶按鈕選項(xiàng)中調(diào)整語(yǔ)言和背景顏色
2、使用docker-compose,進(jìn)行安裝
1)安裝docker-compose
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
docker-compose version 1.23.1, build b02f1306
2)編寫yml編排文件
創(chuàng)建文件夾
mkdir /docker-compose
cd /docker-compose/
vim docker-compose.yml
編寫docker-compose
version: \'3\'
mysql:
image: mysql:5.7
ports:
- 3306:3306
volumes:
- ./home/zabbix/data:/var/lib/mysql
- ./home/zabbix/data:/etc/mysql
- ./home/zabbix/data:/var/log/mysql
environment:
- MYSQL_USER=zabbix
- MYSQL_DATABASE=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=123321
- LANG=en_US.utf8
- TZ=Asia/Shanghai
restart: always
services:
zabbix-server:
container_name: zabbix-server
image: zabbix/zabbix-server-mysql:centos-latest
restart: always
network_mode: host
# ports:
# - 10051:10051
environment:
- DB_SERVER_HOST=192.168.73.133
- MYSQL_USER=zabbix
- MYSQL_DATABASE=zabbix
- MYSQL_PASSWORD=zabbix
- DB_SERVER_ROOT_USER=root
- DB_SERVER_ROOT_PASS=123321
- TZ=\'Asia/Shanghai\'
volumes:
- /home/zabbix/zabbixconfig:/etc/zabbix
- /home/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
- /home/zabbix/externalscripts:/usr/lib/zabbix/externalscripts
- /home/zabbix/modules:/var/lib/zabbix/modules
- /home/zabbix/enc:/var/lib/zabbix/enc
- /home/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys
- /home/zabbix/ssl/certs:/var/lib/zabbix/ssl/certs
- /home/zabbix/ssl/keys:/var/lib/zabbix/ssl/keys
- /home/zabbix/ssl/ssl_ca:/var/lib/zabbix/ssl/ssl_ca
- /home/zabbix/snmptraps:/var/lib/zabbix/snmptraps
- /home/zabbix/mibs:/var/lib/zabbix/mibs
zabbix-web-nginx:
image: zabbix/zabbix-web-nginx-mysql:latest
restart: always
network_mode: bridge
ports:
- 8080:80
environment:
- DB_SERVER_HOST=192.168.73.133
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=123321
- ZBX_SERVER_HOST=192.168.73.133
- PHP_TZ=Asia/Shanghai
- TZ=\'Asia/Shanghai\'
zabbix-agent:
image: zabbix/zabbix-agent:latest
environment:
- ZBX_HOSTNAME=Zabbix server
- ZBX_SERVER_HOST=127.0.0.1
- ZBX_SERVER_PORT=10051
- TZ=\'Asia/Shanghai\'
network_mode: host
# ports:
# - 10050:10050
restart: always
privileged: true
# links:
# - zabbix-server:zabbixhost
3)根據(jù)自己主機(jī)的ip地址進(jìn)行修改,主要是修改編排文件docker-compose.yml
53行 - DB_SERVER_HOST=當(dāng)前主機(jī)IP
105行 - DB_SERVER_HOST=當(dāng)前主機(jī)IP
115行 - ZBX_SERVER_HOST=當(dāng)前主機(jī)IP
4)加載yml編排文件(需要等待一些時(shí)間,因?yàn)樾枰螺d鏡像)
docker-compose -f docker-compose.yml up -d
5)加載完之后查看容器組是否運(yùn)行
[root@localhost cmp_zabbix_server]# docker-compose ps
Name Command State Ports
--------------------------------------------------------------------------------------------------------------------------
cmp_zabbix_server_zabbix-agent_1_95447af24cfd /sbin/tini -- /usr/bin/doc ... Up
cmp_zabbix_server_zabbix-web-nginx_1_aeec36553371 docker-entrypoint.sh Up 443/tcp, 0.0.0.0:8080->80/tcp
zabbix-server
zabbix agent端操作
1 如果該主機(jī)安裝了docker就可以,一樣可以使用docker-compose,編寫編排yml文件安裝,根據(jù)主機(jī)ip地址修改第8行ip
mkdir /docker-compose
cd /docker-compose/
vim docerk-compose.yml
version: \'3\'
version: \'3\'
services:
zabbix-agent:
image: zabbix/zabbix-agent:latest
container_name: zabbix-agent
environment:
- ZBX_HOSTNAME=192.168.73.136
- ZBX_SERVER_HOST=192.168.73.133
- ZBX_SERVER_PORT=10051
- TZ=\'Asia/Shanghai\'
network_mode: bridge
ports:
- 10050:10050
restart: always
privileged: true
加載編排文件
docker-compose -f docker-compose.yml up -d --build
查看容器是否啟動(dòng)成功
docker-compose ps
如果主機(jī)沒(méi)有安裝docker,則使用rpm包進(jìn)行安裝即可,見(jiàn)zabbix-server主機(jī)的agent安裝步驟
web端操作
驗(yàn)證登陸主機(jī)8080端口,查看是否能正常登陸,使用安裝zabbix server的主機(jī)ip加端口8080登錄,賬號(hào)admin,密碼zabbix,默認(rèn)是英文,白色背景,可以在右上角的用戶按鈕選項(xiàng)中調(diào)整語(yǔ)言和背景顏色,在配置選項(xiàng)中添加剛才安裝的agent的主機(jī)
網(wǎng)站題目:基于Docker部署4.2版本的zabbix監(jiān)控平臺(tái)的兩種方法
轉(zhuǎn)載注明:http://www.rwnh.cn/article20/cjocco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、微信小程序、網(wǎng)站內(nèi)鏈、網(wǎng)站改版、App開(kāi)發(fā)、定制開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容