zabbix监控nginx的状态页面
zabbix监控nginx的状态页面
文章目录
- zabbix监控nginx的状态页面
- 1.环境说明
- 2.所涉及到的知识点
- 3.在nginx主机上安装zabbix_agent
- 4.开启nginx状态显示页面
- 5.进入zabbix的web页面配置主机,监控项,触发器
- 5.1.添加主机
- 5.2.创建监控项
- 5.3.创建触发器
1.环境说明
主机名称 | IP地址 | 充当角色 | 所需软件 |
---|---|---|---|
zabbbix | 192.168.195.130 | zabbix服务端 | zabbix_server、zabbix_agent(需在lamp或lnmp上部署) |
nginx | 192.168.195.133 | nginx、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 daemonLoaded: 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 agoProcess: 12261 ExecStart=/usr/local/sbin/zabbix_agentd (code=exited, status=0/SUCCESS)Main PID: 12263 (zabbix_agentd)Tasks: 6 (limit: 23790)Memory: 3.1MCGroup: /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 requests1 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/bashif [ $1 == 'reading' ]; thencurl -s 192.168.195.133/status | awk 'NR==4{print $2}'elif [ $1 == 'writing' ]; thencurl -s 192.168.195.133/status | awk 'NR==4{print $4}'elif [ $1 == 'waiting' ]; thencurl -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数值与此相似,数值自己定义
相关文章:

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

C语言初学者工具选择:vscode + MSYS2 + cmake 搭建 C环境
文章目录 前言1. MSYS2 安装1. 下载安装包2. 安装3. pacman 换清华大学源4. 安装 mingw-w64 toolchain 和 cmake ninja5. 将 toolchain 加入系统环境变量 2. 设置 vscode1. 必要的插件2. 一个简单的 vscode cmake 项目 最后C数据结构与算法CMake 前言 网上关于使用 vscode 配…...

【四:httpclient的使用】
目录 1、Demo案例2、请求一个带cookies的get请求3、请求一个带cookies的post请求案例一,案例二的properties的配置 1、Demo案例 public class MyHttpClient {Testpublic void test1() throws IOException {//用来存放我们的结果String result;HttpGet get new Htt…...

在innodb引擎中,count(*)、count(1)、count(主键)、count(字段)哪个性能最高?
在InnoDB引擎中,这四种计数值的效率高低取决于具体的数据库和数据表结构,无法一概而论哪个性能最高。不过,一般情况下可以按照以下顺序进行选择: count():统计所有行的数量。由于InnoDB引擎的行锁是锁住整行ÿ…...

华为OD 跳格子2(200分)【java】B卷
华为OD统一考试A卷B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击此链接进入:…...

javascript/python 笔记: folium feature group自动切换
1 python部分 python部分只能是静态的结果 1.1 导入库 import folium import math 1.2 数据 cell_lst表示基站位置,location_lst表示 用户实际位置(均为伪数据) cell_lst[[1.341505, 103.682498],[1.342751, 103.679604],[1.341505, 10…...

Python中的元组
Python 元组 Python 的元组与列表类似,不同之处在于元组的元素不能修改。以下是关于Python元组的一些基本信息: 元组的使用:元组是一个不可变的序列类型,使用小括号 () 来定义。元组没有增加元素append、修改元素、删除元素pop的…...

在云计算环境中,如何利用 AI 改进云计算系统和数据库系统性能
文章目录 前言一、关于唐明洁教授二、AI for System2.1 面向分布式作业的人工智能2.1.1 现阶段企业云计算系统环境所遇到的普遍痛点2.1.2 云计算系统环境所遇到的普遍痛点的解决方案(一)Google Autopilot Eurosys 2021方案(Pod级别࿰…...

OpenP2P实现内网穿透远程办公
OpenP2P是一个开源、免费、轻量级的P2P共享网络。你的设备将组成一个私有P2P网络,里面的设备可以直接访问其它成员,或者通过其它成员转发数据间接访问。如果私有网络无法完成通信,将会到公有P2P网络寻找共享节点协助通信。 相比BT网络用来共享…...

黑白棋(Othello, ACM/ICPC World Finals 1992, UVa220)rust解法
你的任务是模拟黑白棋游戏的进程。黑白棋的规则为:黑白双方轮流放棋子,每次必须让新放的棋子“夹住”至少一枚对方棋子,然后把所有被新放棋子“夹住”的对方棋子替换成己方棋子。一段连续(横、竖或者斜向)的同色棋子被…...

MySQL中如何进行表的优化和压缩?
在MySQL中,可以通过以下方式进行表的优化和压缩: 使用合适的存储引擎(Storage Engine):MySQL提供了多种存储引擎,如InnoDB、MyISAM等。不同的存储引擎在表的优化和压缩方面有不同的特点。例如,I…...

【Java】Jsoup格式化html问题(文本空格折叠等)解决方法
问题说明 Jsoup格式化html文本时,如: Document document Jsoup.parse(html);这里在对html进行格式化的时候会将如下内容: <p> aaa </p>解析成如下格式: <p> aaa </p>即空格折叠问题ÿ…...

Ansible定义各类变量,引用变量方式介绍及注册变量和vars_prompt的用法示例
目录 一.Ansible定义变量 1.用途 2.定义规则 3.变量优先级 二.命令行定义变量 三.定义主机和主机组变量 1.主机变量 (1)内置主机变量 (2)简单示例 2.主机组变量 四.定义playbook变量 1.通过vars表示定义变量ÿ…...

各类证件的版面信息收集
香港身份证的版面分析: 证件页面: 相关的版面信息: 该页面包含香港身份证的信息,可以用于版面分析; 信息来源:香港不同证件说明大汇总|回乡证|居民身份证|护照|永居_手机网易网 台湾通行证号码…...

vueday01——ref响应式
特性:持续监控某个响应式变量的属性名变化,可以使用shallowRef来取消这一特性,只监控对象整体的变化 ref测试代码: <template><div :id"idValue" ref"myDiv">打印obj{{ obj }}</div><…...

SpringBoot集成Redisson操作Redis
目录 一、前言二、基础集成配置(redis单节点)2.1、POM2.2、添加配置文件2.3、添加启动类2.4、添加测试类测试redisson操作redis 一、前言 Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格,Redisson相比较与Jedis和Lettuce来说最…...

整数反转
题目: 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 …...

【ELK使用指南 2】常用的 Logstash filter 插件详解(附应用实例)
Logstash filter 一、logstash filter过滤插件的常用模块简介二、grok 正则捕获插件2.1 grok插件的作用2.2 内置正则表达式2.3 自定义正则表达式 三、mutate 数据修改插件3.1 mutate插件的作用3.2 常用的配置选项3.3 mutate插件应用实例 四、multiline 多行合并插件4.1 multili…...

(转)STR 内核做了什么
参考这篇文章: Linux电源管理(6)_Generic PM之Suspend功能 写的很清晰...

fastapi项目结构以及多进程部署
环境: python3.10.x Linux/centos 背景: 最近在用FastApi开发数据统计,并将统计数据返回给前端展示的数据系统。 数据库: mongodb, python包为mongoEngine 项目结构 main.py api middleware router-- __init__.py-- …...

【LeetCode】 412. Fizz Buzz
题目链接 文章目录 Python3 【O(n) O(1)】C.emplace_back() 【C 11 之后】 Python3 【O(n) O(1)】 初始版本 class Solution:def fizzBuzz(self, n: int) -> List[str]:ans []for i in range(1, n1):if i % 5 0 and i % 3 0:ans.append("FizzBuzz")elif i % …...

vector+算法sort与list+sort的效率比较,容易写错的地方原因探析
我写的代码: #include <iostream> using namespace std; #include <vector> #include <list> #include <algorithm> int main() {const int N 10000000;vector<int> v;list<int> l;for (int i 0; i < N; i){v.push_back(…...

iOS——Manager封装网络请求
在之前的项目里,我们都是把网络请求写在viewController的viewDidLoad,而实际中使用的时候并不能这么简单,对于不同的需要,我们需要有不同的网络请求。所以我们可以用单例模式创建一个全局的Manager类,用实例Manager来执…...

【javascript】内部引入与外部引入javascript
创建a.html 内部引入: 外部引入: 创建a.js 注意: 我这里的a.js和a.html是放在同一个目录下,如果a.js放在js的目录下,a.html 调用a.js的时候 <script src"/js/a.js"></script>...

掌握JavaScript的练习之道:十个手写函数让你信手拈来!
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...

买卖股票的最佳时机 II[中等]
优质博文:IT-BLOG-CN 一、题目 给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得…...

前端开发调试技巧:如何在Component下选中当前插件并且查看当前插件信息
在react开发项目中,在Component下选中组件,然后在控制台输$r 按回车键即可输出该组件信息。例如 $r.props输出该组件的props参数。例子详情见如下截图...

你是否还迷茫要不要学习Linux?
近几年Linux这个词好像很流行,无论是现实工作中,还是在网络信息中均可以听到或者看到有关Linux相关的内容,可以说Linux无处不在。说到这,有人可能会问了,我对Linux比较感兴趣,但是没有接触过Linuxÿ…...

leetcode(1)链表
# 1. 定义一个链表节点 class ListNode:def __init__(self, val0, next_nodeNone):self.val valself.next_node next_node# 2. 定义一个 node头节点 class LinkedList:def __init__(self):self.head None# 3.链表查找元素 get(index): def get_node(self, index)…...

spring boot Rabbit高级教程
消息可靠性 生产者重试机制 首先第一种情况,就是生产者发送消息时,出现了网络故障,导致与MQ的连接中断。 为了解决这个问题,SpringAMQP提供的消息发送时的重试机制。即:当RabbitTemplate与MQ连接超时后,…...