基于docker安裝zabbix的詳細(xì)教程
基于docker安裝zabbix
1、zabbix配置
用途 | ip | 賬戶(hù) |
---|---|---|
zabbix服務(wù)端 | 192.168.1.1 | 賬戶(hù):Admin 密碼:zabbix |
zabbix-mysql數(shù)據(jù)庫(kù) | 192.168.1.2 | 數(shù)據(jù)庫(kù):zabbix,用戶(hù):zabbix 密碼:123456 |
2、存儲(chǔ)配置
存儲(chǔ)規(guī)劃
docker鏡像文件默認(rèn)存儲(chǔ)路徑:/var/lib/docker
為避免系統(tǒng)磁盤(pán)空間不足影響docker服務(wù)正常運(yùn)行,需要調(diào)整docker默認(rèn)存儲(chǔ)路徑。
通用存儲(chǔ)建議:
1、目錄/data
:用于存儲(chǔ)數(shù)據(jù)文件;
2、目錄/app
:用于存儲(chǔ)應(yīng)用文件;
3、數(shù)據(jù)盤(pán)建議使用卷管理模式,便于后期擴(kuò)容
綜上,對(duì)應(yīng)zabbix服務(wù)安裝,建議:
1、目錄/data/docker
用于存儲(chǔ)docker文件;
1、目錄/data/zabbix
用于存儲(chǔ)zabbix相關(guān)配置文件;
格式化磁盤(pán)
[root@s01 ~]# fdisk -l Disk /dev/vda: 64.4 GB, 64424509440 bytes, 125829120 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x0001598a Device Boot Start End Blocks Id System /dev/vda1 2048 8390655 4194304 82 Linux swap / Solaris /dev/vda2 * 8390656 125829086 58719215+ 83 Linux Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes [root@s01 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 60G 0 disk ├─vda1 253:1 0 4G 0 part [SWAP] └─vda2 253:2 0 56G 0 part / vdb 253:16 0 100G 0 disk [root@s01 ~]# fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x4dee972c. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p Partition number (1-4, default 1): First sector (2048-209715199, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): Using default value 209715199 Partition 1 of type Linux and of size 100 GiB is set Command (m for help): p Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x4dee972c Device Boot Start End Blocks Id System /dev/vdb1 2048 209715199 104856576 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@s01 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 60G 0 disk ├─vda1 253:1 0 4G 0 part [SWAP] └─vda2 253:2 0 56G 0 part / vdb 253:16 0 100G 0 disk └─vdb1 253:17 0 100G 0 part
創(chuàng)建pv
[root@s01 ~]# pvcreate /dev/vdb1 Physical volume "/dev/vdb1" successfully created. [root@s01 ~]# pvs PV VG Fmt Attr PSize PFree /dev/vdb1 lvm2 --- <100.00g <100.00g
創(chuàng)建vg
[root@s01 ~]# vgcreate vg0 /dev/vdb1 Volume group "vg0" successfully created [root@s01 ~]# vgs VG #PV #LV #SN Attr VSize VFree vg0 1 0 0 wz--n- <100.00g <100.00g
創(chuàng)建lv
[root@s01 ~]# lvcreate -l 100%VG -n lv_1 vg0 Logical volume "lv_1" created. [root@s01 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv_1 vg0 -wi-a----- <100.00g
創(chuàng)建文件系統(tǒng)
[root@s01 ~]# mkfs.xfs /dev/vg0/lv_1 meta-data=/dev/vg0/lv_1 isize=512 agcount=4, agsize=6553344 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=26213376, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=12799, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
創(chuàng)建掛載目錄
[root@s01 ~]# mkdir /data
掛載分區(qū)
[root@s01 ~]# mount /dev/vg0/lv_1 /data [root@s01 ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 7.8G 0 7.8G 0% /dev tmpfs tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs tmpfs 7.8G 8.7M 7.8G 1% /run tmpfs tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/vda2 ext3 55G 2.7G 50G 6% / /dev/mapper/vg0-lv_1 xfs 100G 33M 100G 1% /data tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
寫(xiě)入啟動(dòng)項(xiàng)
# vi /etc/fstab # 新增內(nèi)容: /dev/vg0/lv_1 /data xfs defaults 1 2
3、安裝docker
# 查看操作系統(tǒng)版本 $ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) # 安裝docker $ yum install -y docker # 查看docker版本 $ docker -v Docker version 1.13.1, build 7d71120/1.13.1
4、修改docker存儲(chǔ)路徑
docker默認(rèn)存儲(chǔ)路徑:/var/lib/docker
新存儲(chǔ)路徑:/data/docker
$ docker -v Docker version 1.13.1, build 7d71120/1.13.1 # 停止docker $ systemctl stop docker # 設(shè)置docker新存儲(chǔ)路徑 $ mv /var/lib/docker /data/docker # 修改docker路徑 $ vim /etc/docker/daemon.json { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"], "graph": "/data/docker" } # 啟動(dòng)docker $ systemctl start docker # 查看docker進(jìn)程信息 $ docker info
5、創(chuàng)建專(zhuān)用于 Zabbix 組件容器的網(wǎng)絡(luò):
# 1.bridge模式 docker默認(rèn)網(wǎng)絡(luò)模式。此模式將容器連接到一個(gè)docker0虛擬網(wǎng)橋,通過(guò)docker0網(wǎng)橋以及Iptables nat表配置與宿主機(jī)通信。開(kāi)啟的容器會(huì)自動(dòng)分配和IP在一個(gè)網(wǎng)段的ip地址,并且開(kāi)啟的容器的ip以IP為基礎(chǔ)遞增關(guān)閉容器之后,ip會(huì)自動(dòng)釋放。bridge模式只有宿主機(jī)才能與運(yùn)行在其上面的容器進(jìn)行通信。 # 2.host模式 容器將不會(huì)虛擬出自己的網(wǎng)卡,配置自己的IP等,而是直接與宿主機(jī)的共享P和端口。 如果啟動(dòng)容器的時(shí)候使用host模式,那么這個(gè)容器將不會(huì)獲得一個(gè)獨(dú)立的Network Namespace,而是和宿主機(jī)共用一個(gè)Network Namespace。容器將不會(huì)虛擬出自己的網(wǎng)卡,配置自己的IP等,而是使用宿主機(jī)的IP和端口。但是,容器的其他方面,如文件系統(tǒng)、進(jìn)程列表等還是和宿主機(jī)隔離的。 使用host模式的容器可以直接使用宿主機(jī)的IP地址與外界通信,容器內(nèi)部的服務(wù)端口也可以使用宿主機(jī)的端口,不需要進(jìn)行NAT,host最大的優(yōu)勢(shì)就是網(wǎng)絡(luò)性能比較好,但是docker host上已經(jīng)使用的端口就不能再用了,網(wǎng)絡(luò)的隔離性不好,網(wǎng)絡(luò)的安全性變差。 # 3.none模式 該模式關(guān)閉了容器的網(wǎng)絡(luò)功能。 使用none模式,Docker容器擁有自己的Network Namespace,但是,并不為Docker容器進(jìn)行任何網(wǎng)絡(luò)配置。也就是說(shuō),這個(gè)Docker容器沒(méi)有網(wǎng)卡、IP、路由等信息。需要我們自己為Docker容器添加網(wǎng)卡、配置IP等。 這種網(wǎng)絡(luò)模式下容器只有l(wèi)o回環(huán)網(wǎng)絡(luò),沒(méi)有其他網(wǎng)卡。none模式可以在容器創(chuàng)建時(shí)通過(guò)–network=none來(lái)指定。這種類(lèi)型的網(wǎng)絡(luò)沒(méi)有辦法聯(lián)網(wǎng),封閉的網(wǎng)絡(luò)能很好的保證容器的安全性。 # 創(chuàng)建專(zhuān)用于 Zabbix 組件容器的網(wǎng)絡(luò) $ docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net # 查看的docker network $ docker network ls NETWORK ID NAME DRIVER SCOPE 14c25119dd06 bridge bridge local 4e2782140647 host host local b25888b8c26a none null local cfc3bf2124af zabbix-net bridge local # 查看新增的網(wǎng)絡(luò) $ ip a 5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:31:ce:6a:ce brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 scope global docker0 valid_lft forever preferred_lft forever 6: br-cfc3bf2124af: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:cd:35:b7:4c brd ff:ff:ff:ff:ff:ff inet 172.20.240.0/16 scope global br-cfc3bf2124af valid_lft forever preferred_lft forever
6、創(chuàng)建mysql庫(kù)
如果生產(chǎn)環(huán)境已有mysql實(shí)例,僅需創(chuàng)建數(shù)據(jù)庫(kù)。
$ mysql -uroot -p -h 192.168.1.2 password root_pwd mysql> create database zabbix character set utf8 collate utf8_bin; mysql> create user zabbix@192.168.1.1 identified by '123456'; mysql> grant all privileges on zabbix.* to zabbix@192.168.1.1; mysql> quit;
[廢棄]6、docker安裝mysql
建議使用平臺(tái)提供mysql實(shí)例。
拉取mysql鏡像
$ docker pull mysql
創(chuàng)建mysql容器
# ----------------------------------------------- # 創(chuàng)建mysql服務(wù)器實(shí)例 # 注意:此命令用于創(chuàng)建mysql容器實(shí)例后提取配置文件,如果已有配置文件,可直接進(jìn)入下一步: $ docker run --name mysql-server -t \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="123456" \ -e MYSQL_ROOT_PASSWORD="root_pwd" \ -e TZ=Asia/Shanghai \ --network=zabbix-net \ --ip=172.20.240.1 \ -p 3306:3306 \ -d mysql:latest \ --character-set-server=utf8 --collation-server=utf8_bin \ --default-authentication-plugin=mysql_native_password # ----------------------------------------------- # 創(chuàng)建mysql配置與數(shù)據(jù)存儲(chǔ)路徑 $ mkdir -p /app/mysql/conf $ mkdir -p /app/mysql/data # 拷貝已有mysql配置文件到宿主機(jī)目錄 $ docker cp mysql-server:/etc/mysql/ /app/mysql/conf/ # 使用新路徑創(chuàng)建mysql-server $ docker run --name mysql-server -t \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="123456" \ -e MYSQL_ROOT_PASSWORD="root_pwd" \ -e TZ=Asia/Shanghai \ -v /app/mysql/conf:/etc/mysql \ -v /app/mysql/data:/var/lib/mysql \ --network=zabbix-net \ --ip=172.20.240.1 \ -p 3306:3306 \ -d mysql:latest \ --character-set-server=utf8 --collation-server=utf8_bin \ --default-authentication-plugin=mysql_native_password # 關(guān)于mysql容器重啟策略 問(wèn)題描述: 如果創(chuàng)建mysql容器時(shí)指定--restart參數(shù),則無(wú)法啟動(dòng)容器 --restart unless-stopped \ 解決辦法: 需要?jiǎng)?chuàng)建后,手工更新容器重啟策略: $ docker update --restart=unless-stopped mysql-server # 查看啟動(dòng)日志 $ docker logs mysql-server 2022-04-15 05:43:59+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.28-1debian10 started. 2022-04-15 05:43:59+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' 2022-04-15 05:43:59+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.28-1debian10 started. 2022-04-15T05:44:00.942337Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.28) starting as process 1 # 查看進(jìn)程 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 28c91f44958a mysql:latest "docker-entrypoint..." 22 hours ago Up 5 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-server # 連接mysql $ docker exec -it mysql-server /bin/bash root@28c91f44958a:/# whereis mysql mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql root@28c91f44958a:/# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.28 MySQL Community Server - GPL Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.01 sec)
添加防火墻端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload firewall-cmd --zone=public --list-ports
7、安裝zabbix-java-gateway
Zabbix Java gateway 的守護(hù)進(jìn)程是用 Java 編寫(xiě)。為了在特定主機(jī)上找到 JMX 計(jì)數(shù)器的值,Zabbix server 向 Zabbix Java gateway 發(fā)送請(qǐng)求,后者使用 JMX 管理 API 來(lái)遠(yuǎn)程查詢(xún)相關(guān)的應(yīng)用。該應(yīng)用不需要安裝額外的軟件。只需要在啟動(dòng)時(shí),命令行添加-Dcom.sun.management.jmxremote
選項(xiàng)即可。
# 運(yùn)行zabbix-java-gateway $ docker run --name zabbix-java-gateway -t \ -e TZ=Asia/Shanghai \ --network=zabbix-net \ --ip=172.20.240.2 \ --restart unless-stopped \ -d zabbix/zabbix-java-gateway:latest # 查看進(jìn)程 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 85a594ad32d9 zabbix/zabbix-java-gateway:latest "docker-entrypoint..." 9 seconds ago Up 9 seconds 10052/tcp zabbix-java-gateway # 查看日志 $ docker logs zabbix-java-gateway ** Preparing Zabbix Java Gateway ** Preparing Zabbix Java Gateway log configuration file Updating /etc/zabbix/zabbix_java_gateway_logback.xml 'DebugLevel' parameter: 'info'... updated 2022-04-15 06:43:36.232 [main] INFO com.zabbix.gateway.JavaGateway - Zabbix Java Gateway 6.0.3 (revision 506e2b5) has started 2022-04-15 06:43:36.247 [main] INFO com.zabbix.gateway.JavaGateway - listening on 0.0.0.0/0.0.0.0:10052
8、安裝zabbix-server
安裝zabbix-server(基于Alphine)
# ------------------------------------------------ # 安裝zabbix-server(latest版本基于Alphine Linux) $ docker run --name zabbix-server-mysql -t \ -e DB_SERVER_HOST="192.168.1.2" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="123456" \ -e MYSQL_ROOT_PASSWORD="root_pwd" \ -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ -e TZ=Asia/Shanghai \ --network=zabbix-net \ --ip=172.20.240.3 \ -p 10051:10051 \ --restart unless-stopped \ -d zabbix/zabbix-server-mysql:latest # 不需要的參數(shù) # --link mysql-server:mysql \ # --link zabbix-java-gateway \ # ------------------------------------------------ # 使用外部存儲(chǔ)目錄 # 創(chuàng)建zabbix-server配置目錄 $ mkdir -p /data/zabbix/conf $ mkdir -p /data/zabbix/alertscripts # 拷貝zabbix配置文件 $ docker cp zabbix-server-mysql:/etc/zabbix/zabbix_server.conf /data/zabbix/conf $ ll /data/zabbix/conf total 28 -rw-rw-r-- 1 root root 24804 May 30 15:14 zabbix_server.conf # 移除容器 $ docker stop zabbix-server-mysql $ docker rm zabbix-server-mysql # 重新創(chuàng)建容器 $ docker run --name zabbix-server-mysql -t \ -e DB_SERVER_HOST="192.168.1.2" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="123456" \ -e MYSQL_ROOT_PASSWORD="root_pwd" \ -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ -e TZ=Asia/Shanghai \ -v /data/zabbix/conf/zabbix_server.conf:/etc/zabbix/zabbix_server.conf \ -v /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \ --network=zabbix-net \ --ip=172.20.240.3 \ -p 10051:10051 \ --restart unless-stopped \ -d zabbix/zabbix-server-mysql:latest # 查看日志,此版本是:5.4.9 $ docker logs zabbix-server-mysql Starting Zabbix Server. Zabbix 5.4.9 (revision d81e506).
配置企業(yè)微信腳本
# 將企業(yè)微信發(fā)送腳本:pyweixin.py,存儲(chǔ)到目錄:alertscripts $ cd /data/zabbix/alertscripts $ vim pyweixin.py $ chmod +x pyweixin.py # 修改python3地址 # 微信腳本默認(rèn)的python3地址為與實(shí)際不符: #!/usr/local/python3/bin/python3.5 # 需要修改為以下地址: #!/usr/bin/python3
安裝python環(huán)境
發(fā)送企業(yè)微信需要python環(huán)境支持。
# 使用root用戶(hù)進(jìn)入容器安裝python $ docker exec --privileged -u root -it zabbix-server-mysql /bin/bash $ cat /etc/issue Welcome to Alpine Linux 3.14 Kernel \r on an \m (\l) # 修改Alpine鏡像源 $ sed -i s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g /etc/apk/repositories # 安裝python $ apk add --update --no-cache curl jq py3-configobj py3-pip py3-setuptools python3 python3-dev # 驗(yàn)證python3版本 $ python3 -V Python 3.9.5
添加防火墻端口
# 開(kāi)啟防火墻 $ systemctl enable firewalld $ systemctl start firewalld # 添加防火墻端口 firewall-cmd --zone=public --add-port=10051/tcp --permanent firewall-cmd --reload firewall-cmd --zone=public --list-ports
9、安裝zabbix-web-nginx-mysql 創(chuàng)建容器
# 創(chuàng)建容器 $ docker run --name zabbix-web-nginx-mysql -t \ -e ZBX_SERVER_HOST="zabbix-server-mysql" \ -e DB_SERVER_HOST="192.168.1.2" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="123456" \ -e MYSQL_ROOT_PASSWORD="root_pwd" \ -e PHP_TZ=Asia/Shanghai \ -e TZ=Asia/Shanghai \ --network=zabbix-net \ --ip=172.20.240.4 \ -p 80:8080 \ --restart unless-stopped \ -d zabbix/zabbix-web-nginx-mysql:latest # 取消以下參數(shù) # --link mysql-server:mysql \ # --link zabbix-server-mysql:zabbix-server \ # 查看日志 $ docker logs zabbix-web-nginx-mysql ** Deploying Zabbix web-interface (Nginx) with MySQL database ** Using MYSQL_USER variable from ENV ** Using MYSQL_PASSWORD variable from ENV ******************** * DB_SERVER_HOST: mysql-server * DB_SERVER_PORT: 3306 * DB_SERVER_DBNAME: zabbix ******************** ** Adding Zabbix virtual host (HTTP) **** Impossible to enable SSL support for Nginx. Certificates are missed. ** Preparing Zabbix frontend configuration file # 進(jìn)程列表 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a707c1ff30c9 zabbix/zabbix-web-nginx-mysql:latest "docker-entrypoint.sh" 6 minutes ago Up 6 minutes 8443/tcp, 0.0.0.0:80->8080/tcp zabbix-web-nginx-mysql 27f3c4948691 zabbix/zabbix-server-mysql:latest "/sbin/tini -- /us..." 24 hours ago Up About an hour 0.0.0.0:10051->10051/tcp zabbix-server-mysql fa0a386f2459 zabbix/zabbix-java-gateway:latest "docker-entrypoint..." 25 hours ago Up About an hour 10052/tcp zabbix-java-gateway
添加防火墻端口
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload firewall-cmd --zone=public --list-ports
訪(fǎng)問(wèn)zabbix服務(wù)
# 經(jīng)過(guò)上述配置后,Zabbix 前端已準(zhǔn)備就緒! 默認(rèn)用戶(hù)名是Admin,密碼zabbix。 http://192.168.1.1 # 訪(fǎng)問(wèn)zabbix-web服務(wù)時(shí),發(fā)現(xiàn)監(jiān)控首頁(yè)提示錯(cuò)誤: Zabbix agent is not available (for 3m) 需要安裝zabbix-agent,并配置zabbix-agent的ip,詳見(jiàn)下面小結(jié):
10、安裝zabbix-agent(yum安裝)
由于zabbix-agent用于監(jiān)控服務(wù)器狀態(tài),建議直接安裝在服務(wù)器上,不要使用docker安裝。
a. 安裝Zabbix資源庫(kù)
產(chǎn)品手冊(cè)
$ rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm $ yum clean all
b. 安裝 Zabbix agent
$ yum install -y zabbix-agent # 配置agent,設(shè)置服務(wù)端地址 $ vim /etc/zabbix/zabbix_agentd.conf # 如果在zabbix-server上安裝agent,需要配置zabbix-server的docker地址: Server=172.20.240.3 ServerActive=172.20.240.3 # 如果在被監(jiān)控服務(wù)器上安裝agent,需要配置zabbix-server的宿主機(jī)地址: Server=192.168.1.1 ServerActive=192.168.1.1 # 注釋掉Hostname配置,讓agent自動(dòng)解析 # Hostname=**** # 如果操作系統(tǒng)不允許創(chuàng)建zabbix用戶(hù),需要使用root運(yùn)行agent,修改配置: AllowRoot=1
c. 啟動(dòng) Zabbix agent
設(shè)置開(kāi)機(jī)zabbix-agent開(kāi)機(jī)啟動(dòng)
$ systemctl enable zabbix-agent $ systemctl restart zabbix-agent $ systemctl status zabbix-agent
d.root用戶(hù)啟動(dòng)
啟動(dòng)agent服務(wù)時(shí),提示以下錯(cuò)誤:
# 問(wèn)題描述:
Failed at step USER spawning /usr/sbin/zabbix_agentd: No such process
zabbix-agent.service: control process exited, code=exited status=217
Failed to start Zabbix Agent.
Unit zabbix-agent.service entered failed state.# 問(wèn)題分析
此問(wèn)題主要是因?yàn)椴僮飨到y(tǒng)限制不允許創(chuàng)建用戶(hù)導(dǎo)致的,需要使用root賬戶(hù)啟動(dòng)服務(wù)。# 解決辦法
修改啟動(dòng)用戶(hù):
vim /usr/lib/systemd/system/zabbix-agent.service
修改默認(rèn)用戶(hù)zabbix為root,
修改前:
User=zabbix
Group=zabbix
修改后:
User=root
Group=root# 然后重載服務(wù)配置,并啟動(dòng)服務(wù)
systemctl daemon-reload
systemctl start zabbix-agent.service
e.配置防火墻
firewall-cmd --zone=public --add-port=10050/tcp --permanent firewall-cmd --reload firewall-cmd --zone=public --list-ports
到此這篇關(guān)于基于docker安裝zabbix的文章就介紹到這了,更多相關(guān)docker安裝zabbix內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。