中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Docker部署4.2 版本的zabbix監控平臺的兩種方法

發布時間:2020-07-09 05:00:12 來源:網絡 閱讀:1163 作者:wx5d1b09a9b5a84 欄目:系統運維

一、準備工作



兩臺VMware 虛擬機


一臺充當zabbix server(安裝docker)ip:192.168.73.133

一臺充當zabbix agent(安裝docker)ip:192.168.73.136

基礎環境


cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

dcoker安裝


#關閉防火墻:

systemctl stop firewalld

systemctl disable firewalld

#關閉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

#啟動Docker服務并設置開機啟動

systemctl start docker

systemctl enable docker

#查看版本號

[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官網中的docker安裝章節內容,在官方鏡像庫中拉取鏡像的方式進行安裝

https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers

本文檔主機的本地目錄結構目錄在/home/zabbix下,設置了用于保存容器的數據,其它目錄根據實際應用情況可選,以下操作命令需要連接外網進行鏡像拉取,沒有外網需要離線下載鏡像包

1)啟動一個單獨的數據庫mysql用于保存zabbix數據

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

定義了數據庫名zabbix,數據庫用戶zabbix,密碼zabbix,在本地目錄/home/zabbix/data中持久化保存mysql容器運行中的數據,確保容器退出運行后,數據不會丟失,最后兩條是定義了數據庫的字符集為utf8,解決了mysql數據庫保存中文的問題;

2)啟動zabbix server服務,并關聯這個服務到上面已經啟動的mysql數據庫實例上,確保zabbix的數據可以保存到mysql數據庫中,掛載在本地目錄中的還有其它一些內容,根據生產環境實際情況靈活決定是否掛載,如果掛載可以通過容器直接加載本地目錄中的腳本或認證信息,鏡像版本使用的centos版本,便于后續能夠使用python腳本,預裝了py環境

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

掛載說明:

/usr/lib/zabbix/alertscripts

該卷用于保存自定義警報腳本,它是AlertScriptsPath參數zabbix_server.conf

/usr/lib/zabbix/externalscripts

外部檢查(項目類型)使用該卷,它是ExternalScripts參數zabbix_server.conf

/var/lib/zabbix/modules

該卷允許加載其他模塊并使用LoadModule功能擴展Zabbix服務器

/var/lib/zabbix/enc

該卷用于存儲TLS相關文件。這些文件的名稱使用規定ZBX_TLSCAFILE,ZBX_TLSCRLFILE,ZBX_TLSKEY_FILE和ZBX_TLSPSKFILE變量。

/var/lib/zabbix/ssh_keys

該卷用作SSH檢查和操作的公鑰和私鑰的位置。它是SSHKeyLocation參數zabbix_server.conf。

/var/lib/zabbix/ssl/certs

該卷用作客戶端身份驗證的SSL客戶端證書文件的位置。它是SSLCertLocation參數zabbix_server.conf。

/var/lib/zabbix/ssl/keys

該卷用作客戶端身份驗證的SSL私鑰文件的位置。它是SSLKeyLocation參數zabbix_server.conf。

/var/lib/zabbix/ssl/ssl_ca

該卷用作SSL服務器證書驗證的證書頒發機構(CA)文件的位置。它是SSLCALocation參數zabbix_server.conf。

/var/lib/zabbix/snmptraps

該卷用作snmptraps.log文件的位置。它可以由zabbix-snmptraps容器共享,并volumes_from在創建Zabbix服務器的新實例時使用Docker選項繼承。

可以使用共享卷和交換ZBX_ENABLE_SNMP_TRAPS環境變量來啟用SNMP陷阱處理功能true。

/var/lib/zabbix/mibs

該卷允許添加新的MIB文件。它不支持子目錄,必須放置所有MIB /var/lib/zabbix/mibs

備注:通常會用到的是存放腳本的路徑和配置文件的路徑

3)啟動zabbix前端web界面實例,將web界面實例與前面的mysql數據庫服務實例

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

掛載說明:

--link mysql-server:mysql 連接數據庫實例,mysql-server必須要與第一步的--name mysql-server完全一致

--link zabbix-server-mysql:zabbix-server 連接zabbix服務器實例,zabbix-server-mysql必須要與第二步的--name zabbix-server-mysql完全一致

DB_SERVER_HOST變量的值要與第二步指定的-e DB_SERVER_HOST="mysql-server"一致

4)檢查安裝的三個容器是否都正常啟動

以上狀態就是三個容器全部正常啟動

#如果有沒有啟動可以使用查看所有容器列表

[root@localhost ~]# docker ps -a

#找到未能啟動的容器ID,然后查看日志

[root@localhost ~]# docker logs 0eeb1dbdb279
5)宿主機上,使用正常的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

注意:如果要對宿主機進行監控,請編輯宿主機的zabbix_agentd.conf,將Server地址,默認127.0.0.1,修改為docker-server容器地址,否則不通;如果是對其他主機的監控則使用docker-zabbix-server宿主機的IP

6)驗證登陸主機8080端口,查看是否能正常登陸

使用安裝zabbix server的主機ip加端口8080登錄,賬號Admin,密碼zabbix,默認是英文,白色背景,可以在右上角的用戶按鈕選項中調整語言和背景顏色

2、使用docker-compose,進行安裝

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編排文件

創建文件夾

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)根據自己主機的ip地址進行修改,主要是修改編排文件docker-compose.yml

53行 - DB_SERVER_HOST=當前主機IP
105行 - DB_SERVER_HOST=當前主機IP
115行 - ZBX_SERVER_HOST=當前主機IP
4)加載yml編排文件(需要等待一些時間,因為需要下載鏡像)

docker-compose -f docker-compose.yml up -d

5)加載完之后查看容器組是否運行

[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 如果該主機安裝了docker就可以,一樣可以使用docker-compose,編寫編排yml文件安裝,根據主機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

查看容器是否啟動成功

docker-compose ps

如果主機沒有安裝docker,則使用rpm包進行安裝即可,見zabbix-server主機的agent安裝步驟

web端操作



驗證登陸主機8080端口,查看是否能正常登陸,使用安裝zabbix server的主機ip加端口8080登錄,賬號admin,密碼zabbix,默認是英文,白色背景,可以在右上角的用戶按鈕選項中調整語言和背景顏色,在配置選項中添加剛才安裝的agent的主機
基于Docker部署4.2 版本的zabbix監控平臺的兩種方法
基于Docker部署4.2 版本的zabbix監控平臺的兩種方法

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

电白县| 内黄县| 宿松县| 甘洛县| 洪雅县| 贞丰县| 潍坊市| 大城县| 宁南县| 宜兴市| 邵阳市| 乌兰浩特市| 武川县| 资兴市| 阿合奇县| 庆元县| 资源县| 喀什市| 昆山市| 娄底市| 凉山| 镇江市| 桐庐县| 进贤县| 响水县| 固镇县| 巴马| 扶绥县| 明水县| 琼中| 和政县| 上蔡县| 镇赉县| 高平市| 隆回县| 穆棱市| 商南县| 日照市| 禄丰县| 佳木斯市| 天等县|