CentOS7 默認使用的是firewall作為防火牆
查看防火牆狀態
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
開啟firewall
firewall-cmd --state
禁止firewall開機啟動
systemctl disable firewalld.service
0)安裝mysql
0.1 下載鏡像
docker pull mysql:5.7
0.2 創建容器
docker run --name mysql-server -t \ -p 3307:3306 \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="admins" \ -d mysql:5.7 \ --character-set-server=utf8 --collation-server=utf8_bin
1)安裝zabbix-java-gateway
1.1 下載鏡像
docker pull zabbix/zabbix-java-gateway
1.2 創建容器
docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest
2)安裝zabbix-server-mysql
2.1 下載鏡像
docker pull zabbix/zabbix-server-mysql
2.2 創建容器
docker run --name zabbix-server-mysql -t \ -e DB_SERVER_HOST="192.168.20.223" \ -e DB_SERVER_PORT=3307 \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="admins" \ -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ --link mysql-server:mysql \ --link zabbix-java-gateway:zabbix-java-gateway \ -p 10051:10051 \ -d zabbix/zabbix-server-mysql:latest
3)安裝zabbix-web-nginx-mysql
3.1 下載鏡像
docker pull zabbix/zabbix-web-nginx-mysql
3.2 創建容器(注意:nginx在docker中默認端口是8080)
docker run --name zabbix-web-nginx-mysql -t \ -e PHP_TZ="Asia/Shanghai" \ -e DB_SERVER_HOST="192.168.20.223" \ -e DB_SERVER_PORT=3307 \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="admins" \ --link mysql-server:mysql \ --link zabbix-server-mysql:zabbix-server \ -p 80:8080 \ -d zabbix/zabbix-web-nginx-mysql:latest
4)登錄zabbix
登錄賬號:Admin
登錄密碼:zabbix
5)解決中文亂碼問題
5.1 上傳字體
找到C:\Windows\Fonts\simkai.ttf(楷體),搜索楷體能找到該字體,將該字體上傳到服務器
5.2 拷貝到容器
docker cp simkai.ttf zabbix-web-nginx-mysql:/usr/share/zabbix/assets/fonts/
5.3 進入容器修改配置
[root@tfryb-04-30-02 ~]# docker exec -it zabbix-web-nginx-mysql /bin/bash bash-5.0$ ls /usr/share/zabbix/assets/fonts/ DejaVuSans.ttf simkai.ttf bash-5.0$ vi /usr/share/zabbix/include/defines.inc.php #更改前 // define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name #更改后 define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
搜索文件內容命令,進入編輯模式時按下“/”鍵,然后輸入搜索內容,找到相關文字以后,按下小寫n,向下查找,
按下大寫N,向上查找。
修改完輸入exit退出編輯,查看界面發現亂碼已解決。
6)Liunx安裝zabbix-agent
5.1 下載安裝包
wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/6/x86_64/zabbix-agent-5.0.0-1.el6.x86_64.rpm
5.2 安裝
[root@localhost ~]# ll -h zabbix-agent-5.0.0-1.el6.x86_64.rpm -rw-r--r-- 1 root root 436K 5月 11 20:06 zabbix-agent-5.0.0-1.el6.x86_64.rpm [root@localhost ~]# rpm -ivh zabbix-agent-5.0.0-1.el6.x86_64.rpm 警告:zabbix-agent-5.0.0-1.el6.x86_64.rpm: 頭V4 RSA/SHA512 Signature, 密鑰 ID a14fe591: NOKEY 錯誤:依賴檢測失敗: libpcre.so.0()(64bit) 被 zabbix-agent-5.0.0-1.el6.x86_64 需要
如果下載的zabbix-agent 5.0安裝包使用rpm安裝時提示錯誤:
依賴檢測失敗:libpcre.so.0()(64bit),則可以使用zabbix 5.0 Yum源來安裝zabbix-agent 5.0軟件。
5.3 修改配置
安裝Zabbix Yum源倉庫
[root@localhost ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm [root@localhost ~]# yum clean all
使用Zabbix 5.0 Yum源文件安裝zabbix-agent 5.0軟件,並且將gpgcheck=1修改為gpgcheck=0,防止出現“獲取GPG密鑰失敗”報錯。
修改Zabbix 5.0 Yum源配置文件:
[root@localhost ~]# sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/zabbix.repo [root@localhost ~]# cat /etc/yum.repos.d/zabbix.repo [zabbix] name=Zabbix Official Repository - $basearch baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/ enabled=1 gpgcheck=0 //修改gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 [zabbix-frontend] name=Zabbix Official Repository frontend - $basearch baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend enabled=1 gpgcheck=0 //修改gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 [zabbix-debuginfo] name=Zabbix Official Repository debuginfo - $basearch baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/debuginfo/ enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 gpgcheck=0 //修改gpgcheck=0 [zabbix-non-supported] name=Zabbix Official Repository non-supported - $basearch baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/ enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=0 //修改gpgcheck=0 [root@localhost ~]# yum -y install zabbix-agent //安裝zabbix-agent 5.0軟件 ... 已安裝: zabbix-agent.x86_64 0:5.0.0-1.el7 完畢! 12345678910111213141516171819202122232425262728293031323334353637
修改zabbix-agent配置文件:
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf 119 Server=127.0.0.1,192.168.2.128 //Zabbix-server地址,多個用","隔開 160 ServerActive=192.168.2.128 //主動檢查本主機數據發送給Zabbix-server 171 #Hostname=Zabbix server 172 Hostname=192.168.2.129 //客戶端IP地址 [root@localhost ~]# systemctl start zabbix-agent [root@localhost ~]# systemctl enable zabbix-agent [root@localhost ~]# ss -antulp | grep :10050 tcp LISTEN 0 128 *:10050 *:* users:(("zabbix_agentd",pid=3389,fd=4),("zabbix_agentd",pid=3388,fd=4),("zabbix_agentd",pid=3387,fd=4),("zabbix_agentd",pid=3386,fd=4),("zabbix_agentd",pid=3385,fd=4),("zabbix_agentd",pid=3384,fd=4)) tcp LISTEN 0 128 :::10050 :::* users:(("zabbix_agentd",pid=3389,fd=5),("zabbix_agentd",pid=3388,fd=5),("zabbix_agentd",pid=3387,fd=5),("zabbix_agentd",pid=3386,fd=5),("zabbix_agentd",pid=3385,fd=5),("zabbix_agentd",pid=3384,fd=5))
注意:上面的Zabbix-server地址對應的是docker里面的ip地址,不是宿主機的地址;如果配置錯誤,則在設置主機時,zabbix會報錯:
Received empty response from Zabbix Agent at [192.168.20.223]. Assuming that agent dropped connection because of access permissions.
查看容器所有信息:
docker inspect 容器名稱或容器ID
查看IP:
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名稱或容器ID
7)修正Zabbix時間
查看當前時間:
date
修改服務器時間為上海時間:
rm -rf /etc/localtime #刪除當前默認時區www.kwx.gd
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #復制替換默認時區為上海
在創建容器的時候帶上參數即可更正Zabbix時間格式:
-e PHP_TZ="Asia/Shanghai"
8)掛載配置文件
zabbix_server.conf配置文件在容器里面,不方便修改,先將zabbix-server-mysql容器刪除,再執行下面命令:
docker run --privileged=true -v /usr/zabbix:/etc/zabbix --name zabbix-server-mysql -t \ -e DB_SERVER_HOST="192.168.20.223" \ -e DB_SERVER_PORT=3307 \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="admins" \ -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ --link mysql-server:mysql \ --link zabbix-java-gateway:zabbix-java-gateway \ -p 10051:10051 \ -d zabbix/zabbix-server-mysql:latest
這時發現容器創建成功,但是無法啟動,如果是CentOS7中的安全模塊selinux把權限禁掉了,無法使用-v命令進
行掛載,解決方案如下:
先刪除創建的容器,然后選擇下面方式解決之后,再創建容器
方式一:在創建命令上加:--privileged=true
方式二:添加selinux規則,將要掛載的目錄添加到白名單
chcon -Rt svirt_sandbox_file_t /usr/zabbix
方式三:關閉Selinux
臨時關閉:
[root@localhost ~]# getenforce Enforcing [root@localhost ~]# setenforce 0 [root@localhost ~]# getenforce Permissive
永久關閉:
[root@localhost ~]# vi /etc/sysconfig/selinux
SELINUX=enforcing 改為 SELINUX=disabled
重啟服務reboot
如果最終還是無法解決,則使用如下方式:
先創建一個沒有掛載目錄的容器,在執行文件拷貝:
docker cp zabbix-server-mysql:/etc/zabbix/zabbix_server.conf /usr/zabbix
刪除容器,創建一個掛載目錄的容器,這時應該啟動成功
9)Window安裝zabbix-agent
9.1 下載安裝包
官網下載地址:https://www.zabbix.com/cn/download_agents
9.2 手動安裝,設置如下
9.3 安裝包與啟動
配置文件和日志文件所在目錄如下: