容器的應用越來越普遍了,但是大量的容器我們怎么進行管理呢?當然是監(jiān)控起來!
今天這篇文章講的就是使用zabbix監(jiān)控docker容器!
關于zabbix監(jiān)控的docker的原理:
- agent2監(jiān)控docker就是通過調用docker的API來獲取數據
- 插件目錄存放于zabbix-agent2/src/go/plugins/docker
- client.go文件定義了 使用Unix套接字地址進行docker客戶端與服務端的通信
- 默認套接字位置為/var/run/docker.sock
通過zabbix監(jiān)控docekr的部署大概分為五個部分:
1.下載zabbix-agent2
- 在被監(jiān)控主機安裝zabbix-agent2,注意:是agent2,而不是agent。
- zabbix-agent2版本要與服務端版本一致
wget https://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-agent2-5.2.7-1.el7.x86_64.rpm
rpm -ivh zabbix-agent2-5.2.7-1.el7.x86_64.rpm
2.修改配置文件,基本配置即可。
vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.1.4
ServerActive=192.168.1.4 #啟動主動推送數據模式
Hostname=192.168.1.5
3.將zabbix用戶加入到docker組,這點很重要,一定不能忽略。
因為安裝完zabbix-agent2會默認創(chuàng)建一個用戶zabbix
id zabbix
uid=997(zabbix) gid=995(zabbix) 組=995(zabbix)
要獲取docker數據,我們需要擁有訪問/var/run/docker.sock套接字的權限。
ll /var/run/docker.sock
srw-rw---- 1 root docker 0 7月 7 09:09 /var/run/docker.sock
我們可以看到,除了root用戶,docker組也是有讀寫權限的,所以我們將zabbix用戶加入到docker組。
usermod -aG docker zabbix
id zabbix
uid=997(zabbix) gid=995(zabbix) 組=995(zabbix),994(docker)
4.運行zabbix-agent2服務
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
5 .在web頁面進行配置
- 本次實驗我們的客戶端依然使用
192.168.1.5
的主機
- 步驟:點擊配置——主機——點擊192.168.1.5主機——模板——選擇鏈接新模板——主機群組——模板——選擇docker——點擊更新




更新后我們就可以在配置——主機
中看到監(jiān)控項中有了docker

稍等片刻我們即可在監(jiān)測——最新數據
查看到監(jiān)控到的docker信息

此時我們運行一個web01的docker容器
docker run -d -p 80:80 --name web01 nginx:1.16.1
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
17095d63ed44 nginx:1.16.1 "nginx -g 'daemon of…" 20 minutes ago Up 20 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp web01
片刻后我們即可看到zabbix檢測docker容器關于web01容器的內容

本文使用的模板為自帶模板
到此,我們關于zabbix監(jiān)控docker的內容完成!
到此這篇關于zabbix監(jiān)控docker應用配置的文章就介紹到這了,更多相關zabbix監(jiān)控docker內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!