当前位置: 首页 > news >正文

zabbix监控nginx

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 https://mirrors.aliyun.com/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.com#https://mirrors.aliyun.com/zabbix#' zabbix.repoyum clean all && yum makecacheyum 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 zabbixvim /etc/zabbix/zabbix_server.conf
124行
DBPassword=zabbixvim /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/zabbixserver服务端端口 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 https://mirrors.aliyun.com/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.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum clean all && yum makecacheyum 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-agent2netstat -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 -lcd /etc/zabbix/zabbix_agent2.d/vim UserParameter_login.conf
UserParameter=login.user,who|wc -lsystemctl 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.confserver {....location /nginx_status {stub_status on;access_log off;}
......nginx -t 
systemctl start nginxvim test1_nginx.conf
UserParameter=nginx.status[*],/opt/host4-nginx.sh $1cd /opt
vim /host4-nginx.sh#!/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scriptsHOST="localhost"
PORT=80
stub_status="stub_status"
NGINX_COMMAND=$1nginx_check() {if [ -f /sbin/pidof ]; then/sbin/pidof nginx | wc -welseps 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 incheck)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是什么 web界面提供的一种可视化的监控服务软件 以分布式的方式系统监控以及网络监控,硬件监控等等开源的软件 zabbix的架构 1、c/s模式 客户端和服务端,zabbix server服务端 zabbix agent 客户端 2、通过B/S B是浏览器 S服务端,通…...

【CVE-2023-49103】ownCloud graphapi信息泄露漏洞(2023年11月发布)

漏洞简介 ownCloud owncloud/graphapi 0.2.x在0.2.1之前和0.3.x在0.3.1之前存在漏洞。graphapi应用程序依赖于提供URL的第三方GetPhpInfo.php库。当访问此URL时,会显示PHP环境的配置详细信息(phpinfo)。此信息包括Web服务器的所有环境变量&a…...

可视化数据库管理客户端:Adminer

简介:Adminer(前身为phpMinAdmin)是一个用PHP编写的功能齐全的数据库管理工具。与phpMyAdmin相反,它由一个可以部署到目标服务器的文件组成。Adminer可用于MySQL、PostgreSQL、SQLite、MS SQL、Oracle、Firebird、SimpleDB、Elast…...

Python----字典练习

相关链接:Python---字典的增、删、改、查操作_python中字典的增删改查-CSDN博客 Python---字典---dict-CSDN博客 Python---引用变量与可变、非可变类型-CSDN博客 重点: 字典中的 key (就是键)可以是很多数据类型(…...

CentOS 部署 WBO 在线协作白板

1)WBO 白板工具介绍 1.1)WBO 白板简介 WBO 是一个自由和开源的在线协作白板。它允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用户实时更新,并且状态始终保持。它可以用于许多不同的目的,包括艺术、娱乐、设计和…...

qt-C++笔记之QStringList

qt-C笔记之QStringList —— 杭州 2023-12-03 文章目录 qt-C笔记之QStringList1.1.《Qt官方文档》第一部分翻译&#xff1a;继承自QList\<QString\>-初始化-添加字符串1.2.迭代字符串1.3.join()和split()1.4.filter()1.5.lastIndexOf()1.6.indexOf()1.7.replaceInString…...

ply前端

ply 是 eBPF 的 front-end 前端工具之一&#xff0c;专为 embedded Linux systems 开发&#xff0c;采用 C 语言编写&#xff0c;只需 libc 和内核支持 BPF 就可以运行&#xff0c;不需要外部 kernel 模块&#xff0c;不需要 LLVM&#xff0c;不需要 python。 ply 由瑞典工程师…...

U盘不仅能在电脑上使用,在手机上也可使用,包括安卓和苹果手机,但苹果的较特殊

许多最好的安卓手机都使用USB-C端口在电脑上充电和来回传输文件,但如果你需要给老板发电子邮件的文件放在闪存驱动器或全尺寸SD卡上呢? 幸运的是,使用廉价的适配器电缆,你可以将USB加密狗或读卡器直接连接到手机上。你甚至可以直接使用USB-C闪存驱动器,以实现更轻松的过程…...

面试数据库八股文十问十答第二期

面试数据库八股文十问十答第二期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1.MySQL的主从复制 MySQL的主从复制是什么&#xff1f;MySQL主从复制是一种常见的…...

【LeetCode】每日一题 2023_12_2 拼车(模拟/差分)

文章目录 刷题前唠嗑题目&#xff1a;拼车题目描述代码与解题思路学习大佬题解 刷题前唠嗑 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01; 题目&#xff1a;拼车 题目链接&#xff1a;1094. 拼车 题目描述 代码与解题思路 func carPooling(trips [][]int…...

网络和Linux网络_7(传输层)UDP和TCP协议(端口号+确认应答+超时重传+三次握手四次挥手)

目录 1. 重看端口号 1.1 端口号的概念 1.2 端口号的划分 2. 重看UDP协议 2.1 UDP协议格式 2.2 UDP的特点 3. 重看TCP协议 3.1 TCP协议格式 3.2 TCP的解包分用 3.3 TCP的可靠性及机制 3.3.1 确认应答ACK机制 3.3.2 超时重传机制 3.3.3 连接管理机制&#xff08;三次…...

KALI LINUX安全审核

预计更新 第一章 入门 1.1 什么是Kali Linux&#xff1f; 1.2 安装Kali Linux 1.3 Kali Linux桌面环境介绍 1.4 基本命令和工具 第二章 信息收集 1.1 网络扫描 1.2 端口扫描 1.3 漏洞扫描 1.4 社交工程学 第三章 攻击和渗透测试 1.1 密码破解 1.2 暴力破解 1.3 漏洞利用 1.4 …...

2023-12-03-解决libxkbcommon库编译完后图像界面不能使用键盘

layout: post # 使用的布局&#xff08;不需要改&#xff09; title: Ubuntu修复 # 标题 subtitle: 解决libxkbcommon库编译完图形界面不能使用键盘 #副标题 date: 2023-12-03 # 时间 author: BY ThreeStones1029 # 作者 header-img: img/about_bg.jpg #这篇文章标题背景图片 c…...

vue el-table表格中每行上传文件(上传简历)操作

1、HTML中 <el-table :data"formInfo.userListDto" border stripe max-height"400"><el-table-column type"index" label"序号" width"50"> </el-table-column><el-table-column prop"realName&q…...

Python批量图像处理--图片重命名、图片旋转

图像批量重命名&#xff1a; 使用batch_rename_images函数实现对多个文件夹下面的图片进行重命名操作 先检查文件名的后缀&#xff0c;使用了.endswith()方法来判断文件名是否以.jpg、.png或.JPG结尾&#xff0c;判断是否为图片文件 然后构造新的文件路径new_filepath&#…...

第五天 用Python批量处理Excel文件,实现自动化办公

用Python批量处理Excel文件&#xff0c;实现自动化办公 一、具体需求 有以下N个表&#xff0c;每个表的结构一样&#xff0c;如下&#xff1a; 需要把所有表数据汇总&#xff0c;把每个人的得分、积分分别加起来&#xff0c;然后按总积分排名&#xff0c;总积分一致时&#xff…...

mybatis整合(手动添加jar包方式)

操作步骤 创建数据库 建立user表 放入数据 1、创建javaweb工程并添加Jar包 用到的jar包 junit 用于测试 mybatis框架&#xff1a;mybatis-3.5.9.jar mysql数据库&#xff1a;mysql-connector-java-8.0.28.jar 2、添加MyBatis核心配置文件 <?xml version"1.0"…...

leetcode - 矩阵区域和

1314. 矩阵区域和 - 力扣&#xff08;LeetCode&#xff09; 给你一个 m x n 的矩阵 mat 和一个整数 k &#xff0c;请你返回一个矩阵 answer &#xff0c;其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和&#xff1a; i - k < r < i k, j - k < c …...

头歌JUnit单元测试相关实验进阶

JUnit是一个由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架&#xff08;regression testing framework&#xff09;&#xff0c;主要供 Java 开发人员编写单元测试。Junit在极限编程和重构中被极力推荐使用&#xff0c;因为它可以大大地提高开发的效率。 Junit的特性&…...

【kafka实践】11|消费位移提交

消费者位移 消费者位移这一节介绍了消费者位移的基本概念和消息格式&#xff0c;本节我们来聊聊消费位移的提交。 Consumer 需要向 Kafka 汇报自己的位移数据&#xff0c;这个汇报过程被称为提交位移&#xff08;Committing Offsets&#xff09;。因为 Consumer 能够同时消费…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...