原创作者:运维工程师 谢晋

zabbix监控docker下的nginx

  1. 部署docker环境
# dpkg -l | grep docker
# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get install ca-certificates curl gnupg lsb-release
# curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# sudo apt-get install docker-ce docker-ce-cli containerd.io
# sudo usermod -aG docker $USER
# sudo reboot
# systemctl start docker
# sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# service docker restart
# sudo mkdir -p /etc/docker
# vi /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://registry.docker-cn.com",
    "https://docker.lpanel.live",
    "https://docker.m.daocloud.io",
    "https://noohub.ru",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud",
    "https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
    "https://5tqw56kt.mirror.aliyuncs.com",
    "https://docker.1panel.live",
    "http://mirrors.ustc.edu.cn/",
    "http://mirror.azure.cn/",
    "https://hub.rat.dev/",
    "https://docker.ckyl.me/",
    "https://docker.chenby.cn",
    "https://docker.hpcloud.cloud",
    "https://docker.xuanyuan.me",
    "https://docker.m.daocloud.io"
  ]
}
# sudo systemctl daemon-reload
# sudo systemctl start docker
# sudo systemctl status docker
  1. 安装nginx
# sudo docker pull nginx
# sudo docker run -d   --name my-nginx   -p 80:80   --restart unless-stopped   nginx
# sudo docker ps
# curl http://localhost
# mkdir -p ~/nginx-html ~/nginx-conf
# sudo docker cp my-nginx:/etc/nginx/conf.d/default.conf ~/nginx-conf/
# sudo docker stop my-nginx
# sudo docker rm my-nginx
# sudo docker run -d   --name my-nginx   -p 80:80   -v ~/nginx-html:/usr/share/nginx/html   -v ~/nginx-conf:/etc/nginx/conf.d   --restart unless-stopped   nginx
# sudo docker ps
# docker run --name my-nginx -p :80 -d nginx
# sudo docker exec -it my-nginx bash

  1. nginx脚本添加
# vi  /etc/zabbix/zabbix_agent2.d/nginx.conf
UserParameter=nginx.active_connections,curl -s http://192.168.1.125/nginx_status 2>/dev/null | head -1 | awk '{print $3}'
UserParameter=nginx.accepts,curl -s http://192.168.1.125/nginx_status 2>/dev/null | head -3 | tail -1 | awk '{print $1}'
UserParameter=nginx.handled,curl -s http://192.168.1.125/nginx_status 2>/dev/null | head -3 | tail -1 | awk '{print $2}'
UserParameter=nginx.requests,curl -s http://192.168.1.125/nginx_status 2>/dev/null | head -3 | tail -1 | awk '{print $3}'
UserParameter=nginx.reading,curl -s http://192.168.1.125/nginx_status 2>/dev/null | tail -1 | awk '{print $2}'
UserParameter=nginx.writing,curl -s http://192.168.1.125/nginx_status 2>/dev/null | tail -1 | awk '{print $4}'
UserParameter=nginx.waiting,curl -s http://192.168.1.125/nginx_status 2>/dev/null | tail -1 | awk '{print $6}'
# systemctl restart zabbix-agent
# systemctl status zabbix-agent.service
# systemctl status zabbix-agent

# zabbix_agent2 -t nginx.active_connections
# zabbix_agent2 -t nginx.requests
# zabbix_agent2 -t nginx.reading
# zabbix_agent2 -p | grep nginx

更多推荐