使用 Docker 安裝 Zabbix,並配置自定義監控項
一、Zabbix 簡介
1.監控功能
1)監控物件
2)主機效能指標監控
2.Zabbix 工作原理
3.Zabbix 元件
4.Zabbix 程式
二、使用 Zabbix 配置自定義監控項
1.安裝 Zabbix
1)安裝 Docker
[root@Zabbix ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo [root@Zabbix ~]# yum -y install epel-release [root@Zabbix ~]# yum -y install yum-utils device-mapper-persistent-data lvm2 [root@Zabbix ~]# yum-config-manager \ --add-repo \ [root@Zabbix ~]# yum -y install docker-ce-19.03.12 docker-ce-cli-19.03.12 [root@Zabbix ~]# systemctl enable docker --now
2)安裝 Docker-Compose
[root@Zabbix ~]# wget "(uname -s)-$(uname -m)" -O /usr/local/bin/docker-compose [root@Zabbix ~]# chmod +x /usr/local/bin/docker-compose [root@Zabbix ~]# docker-compose --version
3)安裝 Agent
[root@Zabbix ~]# rpm -ivh [root@Zabbix ~]# egrep -v '^$|#' zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbix server Include=/etc/zabbix/zabbix_agentd.d/*.conf [root@Zabbix ~]# systemctl enable zabbix-agent --now
[root@Zabbix ~]# mkdir -p /app/zabbix [root@Zabbix ~]# cd /app/zabbix/ [root@Zabbix zabbix]# cat <<END > docker-compose.yml version: "3" services: mysql-server: image: mysql:5.7 ports: - "3306:3306" volumes: - "/app/mysql:/var/lib/mysql" # 配置資料卷 (防止監控資料丟失) environment: MYSQL_ROOT_PASSWORD: 123123 TZ: Asia/Shanghai command: --character-set-server=utf8 --collation-server=utf8_bin restart: always zabbix-server: image: zabbix/zabbix-server-mysql:5.4.8-centos environment: DB_SERVER_HOST: 127.0.0.1 DB_SERVER_PORT: 3306 MYSQL_DATABASE: zabbix MYSQL_USER: root MYSQL_PASSWORD: 123123 TZ: Asia/Shanghai depends_on: - mysql-server restart: always network_mode: "host" # 使用主機網路 zabbix-web: image: zabbix/zabbix-web-nginx-mysql:5.4.8-centos ports: - "8000:8080" # Zabbix WebUI 對映埠 volumes: # 當在 Web 介面配置成中文後,監控介面會出現亂碼 - "./simkai.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf" environment: DB_SERVER_HOST: mysql-server DB_SERVER_PORT: 3306 MYSQL_DATABASE: zabbix MYSQL_USER: root MYSQL_PASSWORD: 123123 TZ: Asia/Shanghai ZBX_SERVER_HOST: 192.168.1.1 depends_on: - mysql-server - zabbix-server restart: always END [root@Zabbix zabbix]# docker-compose up -d [root@Zabbix zabbix]# docker-compose ps
5)驗證:http://192.168.1.1:8000(賬號:Admin/zabbix)
2.開啟自定義監控項
[root@Zabbix ~]# echo "UnsafeUserParameters=1" >> /etc/zabbix/zabbix_agentd.conf
3.編寫 Nginx 自定義監控指令碼
[root@Zabbix ~]# yum -y install nginx [root@Zabbix ~]# cat <<END > /etc/nginx/conf.d/status.conf server { listen 80; server_name 127.0.0.1; location /status { stub_status on; allow 127.0.0.1; allow 192.168.1.0/24; deny all; } } END
1)編寫自定義監控指令碼
[root@Zabbix ~]# mkdir /etc/zabbix/scripts [root@Zabbix ~]# vim /etc/zabbix/scripts/nginx_status.sh #!/bin/bash HOST="127.0.0.1" PORT="80" # 監控 Nginx 程式是否存在 function Ping { /sbin/pidof nginx | wc -l } # 監控 Nginx 狀態資訊 function Active { /usr/bin/curl "http://$HOST:$PORT/status" 2> /dev/null | grep "Active" | awk '{print $NF}' } function Reading { /usr/bin/curl "http://$HOST:$PORT/status" 2> /dev/null | grep "Reading" | awk '{print $2}' } function Writing { /usr/bin/curl "http://$HOST:$PORT/status" 2> /dev/null | grep "Writing" | awk '{print $4}' } function Waiting { /usr/bin/curl "http://$HOST:$PORT/status" 2> /dev/null | grep "Waiting" | awk '{print $6}' } function Server { /usr/bin/curl "http://$HOST:$PORT/status" 2> /dev/null | awk NR==3 | awk '{print $1}' } function Accepts { /usr/bin/curl "http://$HOST:$PORT/status" 2> /dev/null | awk NR==3 | awk '{print $2}' } function Requests { /usr/bin/curl "http://$HOST:$PORT/status" 2> /dev/null | awk NR==3 | awk '{print $3}' } # 執行 function $1 [root@Zabbix ~]# chmod +x /etc/zabbix/scripts/nginx_status.sh
2)定義監控指令碼
[root@Zabbix ~]# cat <<"END" > /etc/zabbix/zabbix_agentd.d/nginx_status.conf UserParameter=nginx.status[*],/etc/zabbix/scripts/nginx_status.sh $1 END [root@Zabbix ~]# systemctl restart zabbix-agent
3)驗證
[root@Zabbix ~]# docker exec -it zabbix-zabbix-server-1 /bin/bash
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70003733/viewspace-2886831/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- zabbix_sender自定義監控
- 【監控】Zabbix安裝
- 五、自定義Zabbix監控專案
- mysql監控:zabbix上自定義keyMySql
- 自定義監控項
- Linux下Zabbix5.0 LTS新增自定義監控項Linux
- zabbix容器化安裝及監控docker應用Docker
- ZABBIX安裝以及監控磁碟、mysql、oracle配置MySqlOracle
- zabbix監控系統的安裝與配置
- Zabbix-2.4.3監控系統安裝配置
- Zabbix監控安裝部署
- 巧用Zabbix自定義監控Mysql效能狀態MySql
- Prometheus Operator自定義監控項Prometheus
- zabbix監控客戶端安裝客戶端
- 【DB寶39】使用Docker分分鐘搭建Zabbix 5.0配置MySQL監控DockerMySql
- 使用fnm安裝node,並自定義安裝路徑
- zabbix docker - 安裝和初始化配置Docker
- zabbix監控單例項redis單例Redis
- Docker下Prometheus和Grafana三部曲之三:自定義監控項開發和配置DockerPrometheusGrafana
- 分散式監控系統之Zabbix巨集、模板和自定義item分散式
- 分散式監控系統Zabbix--完整安裝記錄(7)-使用percona監控MySQL分散式MySql
- Zabbix監控使用進階
- 【Zabbix】如何使用Zabbix進行IPMI監控?
- Docker部署zabbix3.2監控系統Docker
- 分散式監控系統Zabbix--完整安裝記錄 -新增apache監控分散式Apache
- 分散式監控系統Zabbix-完整安裝記錄 -新增埠監控分散式
- zabbix監控
- Linux系統安裝zabbix 4.4監控軟體Linux
- 如何使用zabbix內建 key 配置windows服務監控Windows
- Window10 安裝Docker 自定義安裝路徑Docker
- docker 安裝 nginx 並配置反向代理DockerNginx
- zabbix使用perconaplugin監控mysqlPluginMySql
- Munin監控的安裝與配置
- zabbix的安裝配置
- 網路監控-iptraf安裝配置使用中文文件
- zabbix分散式監控環境完全編譯安裝部署分散式編譯
- zabbix安裝—–nginx安裝和配置Nginx
- 分散式監控系統Zabbix--完整安裝記錄 -新增web頁面監控分散式Web