系統(tǒng)運維
一、準備工作
兩臺vmware 虛擬機
一臺充當zabbix server(安裝docker)ip:192.168.73.133
一臺充當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
#啟動docker服務并設(shè)置開機啟動
systemctl start docker
systemctl enable docker
#查看版本號
[root@localhost ~]# docker versionclient: 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: falseserver: 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)容,在官方鏡像庫中拉取鏡像的方式進行安裝
https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers
本文檔主機的本地目錄結(jié)構(gòu)目錄在/home/zabbix下,設(shè)置了用于保存容器的數(shù)據(jù),其它目錄根據(jù)實際應用情況可選,以下操作命令需要連接外網(wǎng)進行鏡像拉取,沒有外網(wǎng)需要離線下載鏡像包
1)啟動一個單獨的數(shù)據(jù)庫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ù)庫名zabbix,數(shù)據(jù)庫用戶zabbix,密碼zabbix,在本地目錄/home/zabbix/data中持久化保存mysql容器運行中的數(shù)據(jù),確保容器退出運行后,數(shù)據(jù)不會丟失,最后兩條是定義了數(shù)據(jù)庫的字符集為utf8,解決了mysql數(shù)據(jù)庫保存中文的問題;
2)啟動zabbix server服務,并關(guān)聯(lián)這個服務到上面已經(jīng)啟動的mysql數(shù)據(jù)庫實例上,確保zabbix的數(shù)據(jù)可以保存到mysql數(shù)據(jù)庫中,掛載在本地目錄中的還有其它一些內(nèi)容,根據(jù)生產(chǎn)環(huán)境實際情況靈活決定是否掛載,如果掛載可以通過容器直接加載本地目錄中的腳本或認證信息,鏡像版本使用的centos版本,便于后續(xù)能夠使用python腳本,預裝了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掛載說明:
/usr/lib/zabbix/alertscripts
該卷用于保存自定義警報腳本,它是alertscriptspath參數(shù)zabbix_server.conf
/usr/lib/zabbix/externalscripts
外部檢查(項目類型)使用該卷,它是externalscripts參數(shù)zabbix_server.conf
/var/lib/zabbix/modules
該卷允許加載其他模塊并使用loadmodule功能擴展zabbix服務器。
/var/lib/zabbix/enc
該卷用于存儲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
該卷用作客戶端身份驗證的ssl客戶端證書文件的位置。它是sslcertlocation參數(shù)zabbix_server.co