zabbix监控nginx
- 电脑硬件
- 2025-07-21 19:19:52

zabbix是什么
web界面提供的一种可视化的监控服务软件
以分布式的方式系统监控以及网络监控,硬件监控等等开源的软件
zabbix的架构1、c/s模式 客户端和服务端,zabbix server服务端 zabbix agent 客户端
2、通过B/S B是浏览器 S服务端,通过浏览器可以直接访问服务器数据
zabbix的组件程序1、zabbix server(作用) 通过一系列的组件SNMP,zabbix agent ,ping通过端口远程的监控客户端的数据,把数据收集到服务端进行展示,以及体现用户分析的界面(web)
2、zabbix agent 就是被监控的目标机器,把需要收集的数据以及自定义的监控项数据,发送给zabbix server
3、zabbix_proxy 代理服务器,是安装在监控的目标系统的软件组件,可以代替zabbix_server收集数据,然后由代理软件传送给服务端zabbix-server 减轻主服务器的压力
4、zabbix_get 可选组件,提供命令行的工具(zabbix的命令行)
5、zabbix_sender 可选组件,提供命令行的工具,可以将自定义数据发送到zabbix服务器,对于不直接由zabbix代理监控的数据或者从脚本来的数据,比较方便的
zabbix工作方式工作流程图
被监控的对象1、Agent 服务器,代理的方式,收集数据
2、SNMP 协议,和被监控对象进行通信
3、JMX 管理java的扩展程序和扩展应用
4、IPMI 监控系统的硬件信息
5、VMware 监控虚拟机的运行情况
6、APP nginx、httpd、mysql
zabbix-server 所有的监控收集数据都在主服务,主服务器监控和告警 zabbix-database 保存数据 zabbix-web 可视化操作界面 zabbix实验部署两台虚拟机
20.0.0.11 服务端
20.0.0.12 客户端
关闭防火墙和安全机制 获取 zabbix 的下载源 rpm -ivh mirrors.aliyun /zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 更换 zabbix.repo 为阿里源 cd /etc/yum.repos.d sed -i 's#http://repo.zabbix # mirrors.aliyun /zabbix#' zabbix.repo yum clean all && yum makecache yum install -y zabbix-server-mysql zabbix-agent zabbix-server-mysql 执行安装zabbix之后,使用mysql作为数据库后端 zabbix-agent 把主服务器加入监控当中 yum install -y centos-release-scl centos-release-scl SCL 基于rehhat centos系统软件安装使用的一种机制,可以是一个系统运行一个进程的不同版本,而且不会发生冲突 解决zabbix与其他web组件的兼容性 开启安装源 vim zabbix.repo 11行 enabled=1 安装web组件和Apache组件 yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl 可以安装zabbix的依赖环境PHP,以及mysql依赖环境,可以安装多个版本 安装所有的Apache组件(web组件),可以安装多个版本 Apache提供了所有的可兼容性的进程,确保zabbix的前端组件能够 安装数据库 yum -y install zabbix-mariadb.service 重启服务 systemctl restart mariadb.service 开机自启 systemctl enable mariadb.service 重置数据库 mysql_secure_installlation 都是y 登录mysql mysql -uroot -p123456 创建zabbix库 create database zabbix character set utf8 collate utf8_bin; 查看库 show databases; 给权限 grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix'; 刷新权限 flush privieges; 把数据导入zabbix-server 查看mysql的sql文件 rpm -ql zabbix-server-mysql zcat /usr/share/doc/zabbix-server-mysql-5.0.39/create.sql.gz | mysql -uroot -p123456 zabbix vim /etc/zabbix/zabbix_server.conf 124行 DBPassword=zabbix vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 25行 php_value[date.timezone] = Asia/Shanghai 启动 zabbix 相关服务 systemctl restart zabbix-server zabbix-agent httpd rh-php72-fpm systemctl enable zabbix-server zabbix-agent httpd rh-php72-fpm 网页访问20.0.0.11/zabbix server服务端端口 10050 Agent监控端端口 10051 默认的账号密码 Admin zabbix 点击左边菜单栏的【User settings】,【Language】选择 Chinese(zh_CN),再点击 Update 更新。 解决 zabbix-server Web页面中文乱码问题 yum install -y wqy-microhei-fonts \cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf 修改 配置文件 vim /etc/zabbix/zabbix_agentd.conf 80行 Server=20.0.0.11 125行 ServerActive=20.0.0.11 136行 Hostname=host2 启动 zabbix-agentd systemctl start zabbix-agentd systemctl enable zabbix-agentd客户端和服务端必须要做时间同步
客户端 安装 zabbix-agent2 rpm -ivh mirrors.aliyun /zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm cd /etc/yum.repos.d sed -i 's#http://repo.zabbix # mirrors.aliyun /zabbix#' /etc/yum.repos.d/zabbix.repo yum clean all && yum makecache yum install -y zabbix-agent2 修改 agent2 配置文件 vim /etc/zabbix/zabbix_agent2.conf 80行 Server=20.0.0.11 125行 ServerActive=20.0.0.11 136行 Hostname=host4 启动 zabbix-agent2 systemctl start zabbix-agent2 systemctl enable zabbix-agent2 netstat -natp | grep zabbix tcp6 0 0 :::10050 :::* LISTEN 43654/zabbix_agent2 在服务端验证 zabbix-agent2 的连通性 yum install -y zabbix-get zabbix_get -s '20.0.0.13' -p 10050 -k 'agent.ping' zabbix_get -s '20.0.0.13' -p 10050 -k 'system.hostname'添加客户端主机(点击创建)
添加主机完毕
自定义脚本监控
客户端 who | wc -l cd /etc/zabbix/zabbix_agent2.d/ vim UserParameter_login.conf UserParameter=login.user,who|wc -l systemctl restart zabbix-agent2 服务端验证新建的监控项 zabbix_get -s '20.0.0.13' -p 10050 -k 'login.user'Web 页面创建自定义监控项模板
1、创建模板
2、创建应用集
3、创建监控项
4、创建触发器
5、创建图形
主机添加模版
设置邮件报警
密码这一项是打开qq邮箱--->设置---账号---打开这个POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务---生成授权码----复制授权码
菜单栏用户设置----报警媒介---添加
菜单栏配置---动作
监控nginx的状态 客户端 修改nginx的配置文件 cd /etc/nginx/conf.d vim default.conf server { .... location /nginx_status { stub_status on; access_log off; } ...... nginx -t systemctl start nginx vim test1_nginx.conf UserParameter=nginx.status[*],/opt/host4-nginx.sh $1 cd /opt vim /host4-nginx.sh #!/bin/bash #Description:Automated monitoring nginx performance and process nginx_status scripts HOST="localhost" PORT=80 stub_status="stub_status" NGINX_COMMAND=$1 nginx_check() { if [ -f /sbin/pidof ]; then /sbin/pidof nginx | wc -w else ps aux | grep -v "grep" | grep -c "nginx:" fi } nginx_active(){ /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Active/ {print $NF}' } nginx_reading(){ /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Reading/ {print $2}' } nginx_writing(){ /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Writing/ {print $4}' } nginx_waiting(){ /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Waiting/ {print $6}' } nginx_accepts(){ /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $1}' } nginx_handled(){ /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $2}' } nginx_requests(){ /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $3}' } case $NGINX_COMMAND in check) nginx_check ;; active) nginx_active ;; reading) nginx_reading ;; writing) nginx_writing ;; waiting) nginx_waiting ;; accepts) nginx_accepts ;; handled) nginx_handled ;; requests) nginx_requests ;; *) echo $"USAGE:$0 {check|active|reading|writing|waiting|accepts|handled|requests}" esac 服务端测试 zabbix_get -s '20.0.0.13' -p 10050 -k nginx.status[check]Web 页面创建自定义监控项模板
1、创建模版
2、创建应用集
3、创建监控项
4、创建触发器
5、创建图形
主机和模版关联起来
关闭nginx服务
这边就会显示信息
zabbix监控nginx由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“zabbix监控nginx”