使用 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux下Zabbix5.0 LTS新增自定義監控項Linux
- 【監控】Zabbix安裝
- 自定義監控項
- 五、自定義Zabbix監控專案
- zabbix容器化安裝及監控docker應用Docker
- Zabbix監控安裝部署
- 巧用Zabbix自定義監控Mysql效能狀態MySql
- Prometheus Operator自定義監控項Prometheus
- 02 . Zabbix配置監控項及聚合圖形
- 【DB寶39】使用Docker分分鐘搭建Zabbix 5.0配置MySQL監控DockerMySql
- 使用fnm安裝node,並自定義安裝路徑
- Docker下Prometheus和Grafana三部曲之三:自定義監控項開發和配置DockerPrometheusGrafana
- 分散式監控系統之Zabbix巨集、模板和自定義item分散式
- Linux系統安裝zabbix 4.4監控軟體Linux
- Zabbix監控使用進階
- 【Zabbix】如何使用Zabbix進行IPMI監控?
- Docker 容器監控原理及 cAdvisor 的安裝與使用Docker
- python獲取zabbix監控項圖形Python
- 如何使用zabbix內建 key 配置windows服務監控Windows
- Linux監控平臺介紹 zabbix監控介紹 安裝zabbix 忘記Admin密碼如何做Linux密碼
- zabbix監控
- zabbix的安裝配置
- Window10 安裝Docker 自定義安裝路徑Docker
- Munin監控的安裝與配置
- docker 安裝 nginx 並配置反向代理DockerNginx
- 使用Zabbix + Python對Mysql監控PythonMySql
- 使用Docker快速安裝部署ES和Kibana並配置IK中文分詞器以及自定義分詞擴充詞庫Docker中文分詞
- Zabbix監控ActiveMQMQ
- Ubuntu安裝zabbix配置教程Ubuntu
- Docker映像的Zabbix元件安裝Docker元件
- node_exporter 自定義監控Export
- Zabbix監控之遷移Zabbix
- zabbix5.0監控安全配置全過程
- zabbix5.0-04-給主機新增監控項
- CentOS7安裝Docker並配置映象加速CentOSDocker
- zabbix監控平臺
- Zabbix5.0 配置 ODBC 監控 Oracle 資料庫Oracle資料庫
- docker官方mysql映象自定義配置DockerMySql