zabbix监控nginx的状态页面

news2024/11/18 18:23:39

zabbix监控nginx的状态页面

文章目录

  • zabbix监控nginx的状态页面
    • 1.环境说明
    • 2.所涉及到的知识点
    • 3.在nginx主机上安装zabbix_agent
    • 4.开启nginx状态显示页面
    • 5.进入zabbix的web页面配置主机,监控项,触发器
        • 5.1.添加主机
        • 5.2.创建监控项
        • 5.3.创建触发器

1.环境说明

主机名称IP地址充当角色所需软件
zabbbix192.168.195.130zabbix服务端zabbix_server、zabbix_agent(需在lamp或lnmp上部署)
nginx192.168.195.133nginx、zabbix客户端nginx+zabbix_agent

2.所涉及到的知识点

1.安装部署nginx请阅读源码编译安装部署lnmp

2.安装部署zabbix服务端请阅读监控服务zabbix部署

3.配置邮箱告警和自定义监控请阅读zabbix服务配置邮箱告警(定义媒介、配置动作和zabbix服务自定义监控_碳烤小肥杨…的博客-CSDN博客

3.在nginx主机上安装zabbix_agent

//通过zabbix主机将zabbix源码包发送到nginx主机上
[root@zabbix src]# scp zabbix-6.4.6.tar.gz root@192.168.195.133:/root/
The authenticity of host '192.168.195.133 (192.168.195.133)' can't be established.
ECDSA key fingerprint is SHA256:KtCxYXSsV732izj+QL2uzJDCS2G/X1MOMV+uUkriDno.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.195.133' (ECDSA) to the list of known hosts.
root@192.168.195.133's password: 
zabbix-6.4.6.tar.gz                                                                 100%   42MB 169.9MB/s   00:00    
[root@zabbix src]#

//在客户端安装代理,创建zabbix用户用来运行zabbix
[root@nginx ~]# useradd -r -M -s /sbin/nologin zabbix

//前往nginx主机上查看,并将其解压至/usr/lcoal/目录
[root@nginx ~]# ls
anaconda-ks.cfg                             nginx-1.24.0.tar.gz     php-8.2.11.tar.gz
mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz  oniguruma-6.9.4.tar.gz  zabbix-6.4.6.tar.gz
[root@nginx ~]# tar xf zabbix-6.4.6.tar.gz -C /usr/local/
[root@nginx ~]# ls /usr/local/ && cd /usr/local/
bin    include  libexec                              nginx            php8        share
etc    lib      mysql                                nginx-1.24.0     php-8.2.11  src
games  lib64    mysql-5.7.39-linux-glibc2.12-x86_64  oniguruma-6.9.4  sbin        zabbix-6.4.6
[root@nginx local]#

//安装编译安装所需要的软件包
[root@nginx local]# yum -y install gcc gcc-c++ make

//进入zabbix-6.4.6的目录进行编译
[root@nginx local]# cd zabbix-6.4.6/
[root@nginx zabbix-6.4.6]# ./configure --enable-agent
. . .
***********************************************************
*            Now run 'make install'                       *
*                                                         *
*            Thank you for using Zabbix!                  *
*              <http://www.zabbix.com>                    *
***********************************************************
最后报这个则表示编译成功,可直接使用make install安装

[root@nginx zabbix-6.4.6]# make install

//修改zabbix客户端的配置文件
[root@nginx zabbix-6.4.6]# cd /usr/local/etc
[root@nginx etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d
[root@nginx etc]# vim zabbix_agentd.conf
[root@nginx etc]# grep -A2 '# ServerActive=' zabbix_agentd.conf
# ServerActive=

ServerActive=192.138.195.130    //改为server端的ip
[root@centos2 etc]# grep -A2 '# Server=' zabbix_agentd.conf
# Server=

Server=192.168.195.130          //改为server端的ip
[root@centos2 etc]# grep -A2 '# Hostname=' zabbix_agentd.conf
# Hostname=

Hostname=nginx              //修改主机名,必须全局唯一

//设置zabbix_agentd开机自启,将zabbix主机上的service文件传送到nginx主机
[root@zabbix src]# scp /usr/lib/systemd/system/zabbix_agentd.service root@192.168.195.133:/usr/lib/systemd/system/
root@192.168.195.133's password: 
zabbix_agentd.service                                                               100%  227   212.3KB/s   00:00    
[root@zabbix src]#

[root@nginx ~]# systemctl daemon-reload     //重新加载
[root@nginx ~]# systemctl enable --now zabbix_agentd  //设置开机自启
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix_agentd.service → /usr/lib/systemd/system/zabbix_agentd.service.
[root@nginx ~]# systemctl status zabbix_agentd
● zabbix_agentd.service - zabbix agentd daemon
   Loaded: loaded (/usr/lib/systemd/system/zabbix_agentd.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-10-18 22:57:55 CST; 55s ago
  Process: 12261 ExecStart=/usr/local/sbin/zabbix_agentd (code=exited, status=0/SUCCESS)
 Main PID: 12263 (zabbix_agentd)
    Tasks: 6 (limit: 23790)
   Memory: 3.1M
   CGroup: /system.slice/zabbix_agentd.service
           ├─12263 /usr/local/sbin/zabbix_agentd
           ├─12264 /usr/local/sbin/zabbix_agentd: collector [idle 1 sec]
           ├─12265 /usr/local/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ├─12266 /usr/local/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ├─12267 /usr/local/sbin/zabbix_agentd: listener #3 [waiting for connection]
           └─12268 /usr/local/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

Oct 18 22:57:55 nginx systemd[1]: Starting zabbix agentd daemon...
Oct 18 22:57:55 nginx systemd[1]: Started zabbix agentd daemon.

//查看10050端口是否存在
[root@nginx ~]# ss -antlp | grep 10050
LISTEN    0         128                0.0.0.0:10050            0.0.0.0:*        users:(("zabbix_agentd",pid=12268,fd=7),("zabbix_agentd",pid=12267,fd=7),("zabbix_agentd",pid=12266,fd=7),("zabbix_agentd",pid=12265,fd=7),("zabbix_agentd",pid=12264,fd=7),("zabbix_agentd",pid=12263,fd=7))

4.开启nginx状态显示页面

[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
[root@nginx ~]# cat /usr/local/nginx/conf/nginx.conf
......
location /status {
          stub_status on;
          allow 192.168.195.0/24;       //放行的ip,要放行本机和zabbix服务端   
        }
       
//重启服务后查看nginx状态页面
[root@nginx ~]# nginx -s stop 
[root@nginx ~]# nginx
[root@nginx ~]# curl http://192.168.195.133/status
Active connections: 1 
server accepts handled requests
 1 1 1 
Reading: 0 Writing: 1 Waiting: 0

//为监控nginx状态编写脚本文件
[root@nginx ~]# mkdir /scripts && cd /scripts
[root@nginx scripts]# vim nginx_status.sh
[root@nginx scripts]# chmod +x nginx_status.sh
[root@nginx scripts]# cat nginx_status.sh 
#!/bin/bash
  
if [ $1 == 'reading' ]; then
      curl -s 192.168.195.133/status | awk 'NR==4{print $2}'

elif [ $1 == 'writing' ]; then
      curl -s 192.168.195.133/status | awk 'NR==4{print $4}'

elif [ $1 == 'waiting' ]; then
      curl -s 192.168.195.133/status | awk 'NR==4{print $6}'
fi
[root@nginx scripts]# 

//进入配置文件,创建自定义监控任务
[root@nginx ~]# vim /usr/local/etc/zabbix_agentd.conf
[root@nginx ~]# tail -1 /usr/local/etc/zabbix_agentd.conf
UserParameter=check_nginx[*],/scripts/nginx_status.sh $1

//因为我们修改了配置文件,所以需要重启服务,重新读取配置文件内容
[root@nginx ~]# systemctl restart zabbix_agentd.service

//创建自定义监控任务后,我们需要在server端去测试一下是否能接受到被监控端的值
[root@zabbix ~]# zabbix_get -s 192.168.195.133 -k check_nginx['reading']
0
[root@zabbix ~]# zabbix_get -s 192.168.195.133 -k check_nginx['writing']
1
[root@zabbix ~]# zabbix_get -s 192.168.195.133 -k check_nginx['waiting']
0
[root@zabbix ~]#            //成功接收到值

主机上的配置完成

5.进入zabbix的web页面配置主机,监控项,触发器

5.1.添加主机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2.创建监控项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.3.创建触发器

在这里插入图片描述
在这里插入图片描述

另外的writing数值和waiting数值与此相似,数值自己定义
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1112794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android高版本读取沙盒目录apk解析安装失败解决方案

bug场景&#xff1a; 应用内升级下载apk完成后安装&#xff0c;vivo&#xff08;Android13&#xff09;手机会报解析包错误&#xff0c;7.0及以上的手机是没问题的。开始以为是v1,v2签名问题导致的&#xff0c;但是我用浏览器下载下来的安装包是能够正确安装的。排除v1,v2签名的…

蓝桥杯(刷题统计,特别数的和 C++)

思路&#xff1a; 1、这题很简单&#xff0c;分两种情况累加和 &#xff0c;&#xff08;day%60||day%70&#xff09;即周六周天加上b&#xff0c;其它时候加上a。 2、注意的点在于数据可能达到&#xff0c;所以数据类型首先要开long long。 3、因为数据达到&#xff0c;所以直…

上海市通过区块链技术攻关 构建数字经济可信安全技术底座

日前&#xff0c;上海市印发《上海区块链关键技术攻关专项行动方案&#xff08;2023—2025年&#xff09;》&#xff08;以下简称《行动方案》&#xff09;&#xff0c;提出到2025年&#xff0c;在区块链体系安全、密码算法等基础理论以及区块链专用处理器、智能合约、跨链、新…

Canvas系列绘制图片学习:绘制图片和渐变效果

我们现在已经可以绘制好多东西了&#xff0c;不过在实际开发中&#xff0c;绘制最多的当然是图片了&#xff0c;这章我们就讲讲图片的绘制。 绘制图片 绘制图片的API是drawImage&#xff0c;它的参数有三种情况&#xff1a; // 将图片绘制在canvas的(dX, dY)坐标处 context.…

搭建react项目

一、环境准备 1、安装node 官网下载安装&#xff1a;https://nodejs.org/en 注&#xff1a; npm5.2以后&#xff0c;安装node会自动安装npm和npx 2、安装webpack npm install -g webpack3、安装create-react-app npm install -g create-react-app二、创建react项目 1、初…

宏offsetof的使用及其模拟实现

使用宏offsetof的时候需要包含<stddef.h>这个头文件。 宏offsetof有两个参数&#xff0c;第一个参数是结构体类型&#xff0c;第二个参数是结构体成员&#xff0c;计算的是结构体成员相较于结构体起始位置的偏移量&#xff0c;我们来看一个例子&#xff1a; 在这个例子中…

【试题027】C语言宏定义小例题

1.题目&#xff1a; #define MOD(a,b) a%b int main() { int x4,y16,z; zMOD(y,x); printf("%dn".z)&#xff1b;} 则程序执行的结果是? 2.代码分析&#xff1a; #include <stdio.h> #define MOD(a,b) a%b int main() {int x 4, y 16, z;z MOD(y, …

02、Python ------- 简单爬取下载小视频

简单爬取小视频 1、装模块 按键盘 winr 输入cmd , 输入命令&#xff1a; pip install requests 也有说在这个目录下面执行命令 pip install requests 执行失败 执行如果失败&#xff0c;在命令后面添加镜像 pip install requests -i https://mirrors.aliyun.com/pypi/sim…

23-数据结构-内部排序-归并排序

目录 归并排序 一、简介&#xff1a; 二、思路 三、代码 归并排序 一、简介&#xff1a; 归并&#xff0c;也叫合并&#xff0c;合二为一嘛&#xff0c;归并排序实际上相当于二叉树递归&#xff0c;先左右拆分&#xff0c;最后给数组拆分为每个数据为独立个体&#xff0c;…

易基因:WGBS等揭示植物基因体动态DNA甲基化与基因表达可塑性相关|Genome Biol

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 在一些真核生物中&#xff0c;DNA甲基化发生在基因编码区&#xff0c;称为基因体甲基化(gene body methylation&#xff0c;GbM)。尽管DNA甲基化在转座子和重复DNA沉默中的作用已得到很好…

MyBatis--多案例让你熟练使用CRUD操作

目录 一、前期准备 二、两种实现CRUD方式 三、增加数据&#xff08;INSERT&#xff09; 四、删除数据&#xff08;DELETE&#xff09; 五、查询数据&#xff08;SELECT&#xff09; 六、更新数据&#xff08;UPDATE&#xff09; 一、前期准备 1.创建maven项目并在pom文件…

vue3+element-plus 封装高度搜索组件,支持多种类型

目录 一、应用场景 二、开发流程 三、详细开发流程 1.新建文件 2.开始步骤 3.详细代码 (1).index.vue (2).搜索组件 (3).单个搜索组件 总结 一、应用场景 一般很多网站&#xff0c;有很多数据列表&#xff0c;基本都要做搜索的功能&#xff0c;如果涉及很多页面&…

从裸机启动开始运行一个C++程序(十一)

前序文章请看&#xff1a; 从裸机启动开始运行一个C程序&#xff08;十&#xff09; 从裸机启动开始运行一个C程序&#xff08;九&#xff09; 从裸机启动开始运行一个C程序&#xff08;八&#xff09; 从裸机启动开始运行一个C程序&#xff08;七&#xff09; 从裸机启动开始运…

Vant和ElementPlus在vue的hash模式的路由下路由离开拦截使用Dialog和MessageBox失效

问题复现 ElementPlus&#xff1a;当点击返回或者地址栏回退时&#xff0c;MessageBox无效 <template><div>Element Plus Dialog 路由离开拦截测试</div><el-button type"primary" click"$router.back()">返回</el-button>…

Vue3 + TypeScript

Vue3 TS开发环境创建 1. 创建环境 vite除了支持基础阶段的纯TS环境之外&#xff0c;还支持 Vue TS开发环境的快速创建, 命令如下&#xff1a; $ npm create vitelatest vue-ts-pro -- --template vue-ts 说明&#xff1a; npm create vitelatest 基于最新版本的vite进行…

Linux搭建文件服务器

搭建简单文件服务器 基于centos7.9搭建http文件服务器基于centos7.9搭建nginx文件服务器基于ubuntu2204搭建http文件服务器 IP环境192.168.200.100VMware17 基于centos7.9搭建http文件服务器 安装httpd [rootlocalhost ~]# yum install -y httpd关闭防火墙以及selinux [roo…

【Qt-20】Qt信号与槽

一、什么是信号和槽 信号是特定情况下被发射的事件&#xff0c;发射信号使用emit关键字&#xff0c;定义信号使用signals关键字&#xff0c;在signals前面不能使用public、private、protected等限定符&#xff0c;信号只用声明&#xff0c;不需也不能对其进行定义实现。另外&am…

【Jetson 设备】window10主机下使用VNC可视化控制Jetson Orin NX

文章目录 前言VNC连接搭建(WiFi模式)Jetson Orin NX操作本地主机操作 VNC连接搭建(以太网模式)Jetson Orin NX操作本地主机操作 总结 前言 最近需要使用Jetson Orin NX对一些深度学习算法进行测试&#xff0c;为了方便主机与Jetson Orin NX之间的数据的传输&#xff0c;以及方…

MATLAB - 不能使用PYTHON,缺少matplotlib模块的解决办法

matlab缺少python-matplotlib模块的解决办法 1. 前言、概述2. 解决办法3. 可能出现问题4. 结果 1. 前言、概述 起因是我用习惯的colormap函数getPyPlot_cMap不能用了&#xff1a;【这个函数要调用PYTHON】 报错的地方&#xff1a; ModuleNotFoundError: No module named ‘ma…

html中公用css、js提取、使用

前言 开发中&#xff0c;页面会有引用相同的css、js的情况&#xff0c;如需更改则每个页面都需要调整&#xff0c;重复性工作较多&#xff0c;另外在更改内容之后上传至服务器中会有缓存问题&#xff0c;特针对该情况对公用css、js进行了提取并对引用时增加了版本号 一、提取…