linux系统zabbix监控自定义监控

自定义监控

      • 格式
      • 无数据传递自定义键值
      • 有数据传递自定义键值
    • 例如监控程序的状态
      • 监控php-fpm状态
      • 监控mysql主从状态
        • 获取主从状态脚本
        • 编写自定义监控文件
        • 服务端访问
      • 监控nginx状态
        • nginx设置监控页面
        • 编写自定义监控文件
        • 服务端访问

用户自定义监控也就是自定义键值,系统自带的键值无法满足需求的情况下,可以根须需求自定义键值,只有在agent端设置键值,server才能使用键值

格式

在zabbix的子配置文件中编写UserParameter=<key>,<command>key:键值名称
command:执行的命令或脚本路径

无数据传递自定义键值

无数据传递
cd /etc/zabbix/zabbix_agentd.d
vim free_mem.conf
UserParameter= free_mem,free -m| awk '/^Mem/{print $3}'
UserParameter= 键值名,执行的命令,或者脚本的路径systemctl restart zabbix-agent    //重启服务server端测试
yum -y install zabbix-get
zabbix_get -s 10.12.153.172 -p 10050 -k "free_mem"
zabbix_get -s ip -p 端口 -k "参数文件名"

有数据传递自定义键值

cd /etc/zabbix/zabbix_agentd.d
vim memory.stats.conf
UserParameter=memory.stats[*],cat /proc/meminfo | awk '/^$1/{print $$2}'
UserParameter=键值名[*],   命令 | 裁剪  '/第一列为变量/需要裁剪的数据'分析:$$2:表示awk的参数$2
注意:$1是调用前边的[*],位置参数,第一个参数systemctl restart zabbix-agent   //重启服务server端测试
zabbix_get -s 10.12.153.172 -p 10050 -k "memory.stats[MemTotal]"
zabbix_get -s ip -p 端口 -k "参数文件名[参数]"

例如监控程序的状态

监控php-fpm状态

agent端安装php-fpm,nginx,设置关联yum -y install php-fpmvim /etc/php-fpm.d/www.conf      //更改php-fpm配置文件user = nginx	
group = nginx
pm.status_path = /php-fpm-status    #php-fpm 的状态监测页面
ping.path = /ping      #ping 接口,存活状态是否ok
ping.response = pong    #响应内容pongsystemctl start php-fpm          //重启php-fpmyum -y install nginxvim /etc/nginx/nginx.conf       //更改nginx配置文件location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;
}
location ~* /(php-fpm-status|ping) {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;include        fastcgi_params;allow 127.0.0.1;   #因为这个页面很重要,所有需加访问控制deny all;access_log off;   #访问这个页面就不用记录日志了
}systemctl start nginx 
//自定义用户监控
cd /etc/zabbix/zabbix_agentd.d/vim php_status.conf                    //自定义键值监控UserParameter=php-fpm.stats[*],curl -s http://127.0.0.1/php-fpm-status | awk '/^$1/{print $$NF}'systemctl restart zabbix-agent       //重启agent服务
server访问
zabbix_get -s 客户端ip -p 10050 -k "php-fpm.stats[pool]"
php-fpm显示内容
参数说明
poolFPM 进程池的名称
proccess manager进程管理器类型——static、dynamic 或 ondemand。
start time进程池最后一次启动的日期/时间。
start since进程自启动以来的秒数。
accepted conn服务的请求总数
listen queue当前等待空闲进程的请求(backlog)总数。
max listen queue监听队列在任一时间看到的最大请求数。
listen queue len监听队列的最大允许数量。
idle processes当前空闲(等待请求)的进程数。
active processes当前正在处理请求的进程数。
total processes当前进程总数。
max active processes并发活动进程的最大数量。
max children reached是否达到了最大进程数?如果是,则值显示为 1,否则为 0
slow requests达到配置 request_slowlog_timeout的请求总数。

监控mysql主从状态

获取主从状态脚本
#!/bin/bash
SQL=$(mysql -uroot -p'0'  -e 'show slave status\G' 2>/dev/null |grep "Slave_SQL_Running"|awk 'NR==1{print $2}')
IO=$(mysql -uroot -p'0'  -e 'show slave status\G' 2>/dev/null |grep "Slave_IO_Running"|awk 'NR==1{print $2}')
if [[ ${SQL} = "Yes" &&  ${IO} = "Yes" ]];thenecho 1
elseecho 0
fi
编写自定义监控文件
vim /etc/zabbix/zabbix_agentd.d/mysql.conf
UserParameter=mysql_status,/etc/zabbix/zabbix_agentd.d/my.shsystemctl restart zabbix-agent       //重启agent服务
服务端访问
zabbix_get -s 客户端ip -p 10050 -k "mysql_status"

监控nginx状态

nginx设置监控页面
vim /etc/nginx/nginx.conflocation /nginx-status { stub_status on; access_log    /var/log/nginx/nginxstatus.log;    //设置日志文件的位置 }nginx -s reload
编写自定义监控文件
vim /etc/zabbix/zabbix_agentd.d/nginx.confUserParameter=nginx.Active.connections,curl -s 127.0.0.1/nginx-status |awk 'NR==1{print $NF}'
UserParameter=nginx.accepts.requests,curl -s 127.0.0.1/nginx-status |awk 'NR==3{print $1}'
UserParameter=nginx.handled.requests,curl -s 127.0.0.1/nginx-status |awk 'NR==3{print $2}'
UserParameter=nginx.requests,curl -s 127.0.0.1/nginx-status |awk 'NR==3{print $3}'
UserParameter=nginx.reading,curl -s 127.0.0.1/nginx-status |awk 'NR==4{print $2}'
UserParameter=nginx.writing,curl -s 127.0.0.1/nginx-status |awk 'NR==4{print $4}'
UserParameter=nginx.waiting,curl -s 127.0.0.1/nginx-status |awk 'NR==4{print $6}'
UserParameter=nginx.uv,sudo awk '{print $1}'  /var/log/nginx/access.log|sort | uniq -c |wc -l
UserParameter=nginx.pv,sudo awk '{print $7}' /var/log/nginx/access.log|wc -l
UserParameter=nginx.busy.url,sudo awk '{print $7}' /var/log/nginx/access.log|sort | uniq -c |sort -n -k 1 -r|head -1 |awk '{print $2}'
UserParameter=nginx.most.ip,sudo awk '{print $1}' /var/log/nginx/access.log|sort | uniq -c |sort -n -k 1 -r|head -1 |awk '{print $2}'systemctl restart zabbix-agent       //重启agent服务
服务端访问
zabbix_get -s 客户端ip -p 10050 -k "mysql_status"

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

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

相关文章

B2086 不定方程求解(VIP)

题目描述 给定正整数 a&#xff0c;b&#xff0c;c。求不定方程 axbyc 关于未知数 x 和 y 的所有非负整数解组数。 输入格式 一行&#xff0c;包含三个正整数 a&#xff0c;b&#xff0c;c&#xff0c;两个整数之间用单个空格隔开。每个数均不于 1000。 输出格式 一个整数…

Mysql的安装、使用、优势与教程

一.安装 1.在小皮的设置界面检测3306端口&#xff0c;保障3306端口可用&#xff1b; 2、在小皮的首面界面&#xff0c;启动MySQL&#xff1b; 3、进行环境变量设置&#xff0c;找到MySQL的路径&#xff0c;进行复制&#xff1b; 4、在Windows的搜索栏内&#xff0c;输入“环境…

如何理解UE中的TSubclassOf

在UE中&#xff0c;TSubclassOf 是一个模板类&#xff0c;用于存储对某个特定类的引用&#xff0c;通常用于指定类的子类。理解 TSubclassOf 有助于更好地掌握UE中的类系统和蓝图系统。 1. 类型定义 template <typename T> class TSubclassOf; 2. 用途 TSubclassOf 主…

C++ //练习 6.39 说明在下面的每组声明中第二条声明语句是何含义。如果有非法的声明,请指出来。

C Primer&#xff08;第5版&#xff09; 练习 6.39 练习 6.39 说明在下面的每组声明中第二条声明语句是何含义。如果有非法的声明&#xff0c;请指出来。 (a) int calc(int, int);int calc(const int, const int); (b) int get();double get(); (c) int *reset(int *);double…

十、java 接口

文章目录 接口1.1 接口的概念1.2 接口定义1.3 实现接口1.4 使用接口1.5 接口的细节1.6 Java 8 和Java 9 对接口的增强 接口 本文为书籍《Java编程的逻辑》1和《剑指Java&#xff1a;核心原理与应用实践》2阅读笔记 很多时候&#xff0c;我们将对象看作属于某种数据类型&#…

区块链互操作协议

1. 引言 Alexei Zamyatin等人2019年论文 SoK: Communication Across Distributed Ledgers。 参考资料 [1] 2019年论文 SoK: Communication Across Distributed Ledgers [2] A list of blockchain-related SoK papers [3] 2021年视频 FC21: SoK: Communica…

【机器学习】数据清洗之处理异常点

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步…

数据结构——lesson2线性表和顺序表

目录 前言 一、顺序表是什么&#xff1f; 1. 静态顺序表&#xff1a;使用定长数组存储元素 2. 动态顺序表&#xff1a;使用动态开辟的数组存储。 二、接口实现 1.动态顺序表存储 2.基本增删查改接口 (1)初始化顺序表 (2)顺序表摧毁 (3)检查空间 (4)顺序表打印 (5)顺…

嵌入式学习之Linux入门篇——Linux文件系统的层次结构讲解

在 Linux 操作系统中,所有的文件和目录都被组织成以一个根节点“/”开始的树状结构。其中,目录就相当于 Windows 中的文件夹,目录中存放的既可以是文件,也可以是其他的子目录,而文件中存储的是数据。 文件系统基础知识 文件系统的最顶层是由根目录开始的,系统使用“/”来…

第四篇【传奇开心果微博系列】Python微项目技术点案例示例:美女颜值判官

传奇开心果微博系列 系列微博目录Python微项目技术点案例示例系列 微博目录一、微项目目标二、雏形示例代码三、扩展思路四、添加不同类型的美女示例代码五、增加难度等级示例代码六、添加特殊道具示例代码七、设计关卡系统示例代码八、添加音效和背景音乐示例代码九、多人游戏…

C++ 音视频原理

本篇文章我们来描述一下音视频原理 音视频录制原理: 下面是对这张思维导图的介绍 摄像头部分: 麦克风采集声音 摄像头采集画面 摄像头采集回来的数据可以用RGB也可以用YUV来表示 图像帧帧率 一秒能处理多少张图像 图像处理 &#xff1a;调亮度 图像帧队列 :意思是将数据取…

简单介绍源程序执行方式

源程序执行方式 编译和解释 程序设计语言能够把算法翻译成机器能够理解的可执行程序。这里将计算机不能直接执行的非机器语言源程序翻译成能直接执行的机器语言的语言翻译程序称为语言处理程序 源程序&#xff1a;用各种程序设计语言编写的程序称为源程序&#xff0c;计算机不…

C++ //练习 6.6 说明形参、局部变量以及局部静态变量的区别。编写一个函数,同时用到这三种形式。

C Primer&#xff08;第5版&#xff09; 练习 6.6 练习 6.6 说明形参、局部变量以及局部静态变量的区别。编写一个函数&#xff0c;同时用到这三种形式。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /********************…

分享87个CSS3特效,总有一款适合您

分享87个CSS3特效&#xff0c;总有一款适合您 87个CSS3特效下载链接&#xff1a;https://pan.baidu.com/s/1CAxe8nPBzXvH7Nr6B_U72Q?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不…

更新至2022年,迪博上市公司内部控制指数、分项指数、评级等数据

更新至2022年&#xff0c;上市公司迪博内部控制指数、分项指数、评级等数据 1、时间&#xff1a;更新至2022年&#xff0c;四份数据&#xff0c;具体时间见下文 2、范围&#xff1a;上市公司 3、具体数据&#xff1a; 2000-2022年上市公司内部控制指数评级及评分数据 2007…

第三代互联网web3.0

Web3.0&#xff0c;通常被称为第三代互联网&#xff0c;代表了互联网技术的下一个演进阶段。它主要基于区块链、去中心化和用户赋权的理念构建&#xff0c;旨在创造一个更加智能、开放且安全的网络环境。以下是Web3.0的一些关键特点&#xff1a; 1. **去中心化**&#xff1a;We…

2月8号作业

Sqlite3系统命令 .quit 退出数据库 .exit 退出数据库 .help 显示帮助信息&#xff0c;获取所有系统命令 .table 查看当前数据库下的所有表格 .schema 查看表的结构 Sqlite3语句 创建表格&#xff1a; create table 表名 (字段名 数据类型, 字段名 数据类型); create table if…

【JVM篇】什么是jvm

文章目录 &#x1f354;什么是Java虚拟机&#x1f6f8;Java虚拟机有什么用&#x1f339;Java虚拟机的功能&#x1f388;Java虚拟机的组成 &#x1f354;什么是Java虚拟机 JVM指的是Java虚拟机&#xff0c;本质上是一个运行在计算机上的程序&#xff0c;可以运行 Java字节码文件…

NAT——网络地址转换、NAPT

网络地址转换 NAT (Network Address Translation) 1994 年提出。 需要在专用网连接到互联网的路由器上安装 NAT 软件。 装有 NAT 软件的路由器叫做 NAT路由器&#xff0c;它至少有一个有效的外部全球 IP 地址。 所有使用本地地址的主机在和外界通信时&#xff0c;都要在 NA…

【教程】MySQL数据库学习笔记(三)——数据定义语言DDL(持续更新)

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 第三章 《数据定义语言DDL》 文章目录 【MyS…