zabbix监控之javasnmp自定义监控

news2025/1/10 18:06:42

1、客户端开启 java jmxremote 远程监控功能


上传 tomcat 软件包到 /opt 目录中
cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat

#配置 java jmxremote 远程监控功能
vim /usr/local/tomcat/bin/catalina.sh
......    #位置在 cygwin=false 前
CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=12345 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=192.168.50.22"           #tomcat服务器地址
 

 

#启动服务,查看端口
/usr/local/tomcat/bin/startup.sh 

netstat -lntp | grep 12345

 


2、服务端安装 zabbix-java-gateway


yum install -y zabbix-java-gateway

systemctl enable --now zabbix-java-gateway.service

netstat -lntp | grep 10052            #zabbix-java-gateway 默认监听 10052 端口
 

 

3、修改服务端 zabbix-server 配置


vim /etc/zabbix/zabbix_server.conf
......
JavaGateway=127.0.0.1            # 317行,指定 zabbix-java-gateway 的 IP 地址
StartJavaPollers=5                # 333行,开启用来收集java数据的poller进程的数量

systemctl restart zabbix-server

ps -ef | grep zabbix_server | grep java

 


4、在服务端 Web 页面添加主机,关联模板


点击左边菜单栏【配置】中的【主机】,点击 zbx-agent01
【模板】搜索 JMX ,选择 Generic Java JMX
【Interfaces】点击添加 JMX,【IP地址】输入 192.168.80.30,【端口】输入 12345
点击 【更新】
等待一段时间后 Zabbix server 的可用性增加了 JXM 监控方式

 

自定义监控————监控nginx并发

自定义监控操作流程

1、明确获取监控指标数据的命令或者脚本
2、在被监控主机配置文件目录/etc/zabbix/zabbix_agent2.d/ 中编写以 .conf 为结尾的监控项配置文件自定义获取监控数据的 KEY 和 值的命令/脚本
   格式: UserParameter=<KEY>,命令/脚本路径
3、在服务端管理页面中添加 模板 -> 监控项 -> 触发器 -> 图形
4、将监控模板与被监控主机相关联

实例一:Nginx并发监控

需要nginx安装--with-http_stub_status_module模块

 

Vim /etc/nginx/conf.d/default.conf

 

Systemctl restart nginx

 

 

创建监控脚本

#!/bin/bash
nginx_active() {
  /usr/bin/curl -s http://127.0.0.1/nginx_status | awk '/Active/ {print $NF}'
}

nginx_reading() {
  /usr/bin/curl -s http://127.0.0.1/nginx_status | awk '/Reading/ {print $2}'
}

nginx_writing() {
  /usr/bin/curl -s http://127.0.0.1/nginx_status | awk '/Writing/ {print $4}'
}

nginx_waiting() {
  /usr/bin/curl -s http://127.0.0.1/nginx_status | awk '/Waiting/ {print $6}'
}

nginx_accepts() {
  /usr/bin/curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $1}'
}

nginx_handled() {
  /usr/bin/curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $2}'
}

nginx_requests() {
  /usr/bin/curl -s http://127.0.0.1/nginx_status | awk 'NR==3 {print $3}'
}

nginx_check() {
  pro_num=$(ps aux | grep -v grep | grep -c "nginx:")
  if [ $pro_num -le 0 ];then
    echo 0
  else
    echo $pro_num
  fi
}

######main######
cmd=$1

case $cmd 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










chmod +x zbx_nginx.sh

cd /etc/zabbix/zabbix_agent2.d/

vim userparameter_nginx.conf

UserParameter=nginx.status[*],/opt/zbx_nginx.sh $1

 

systemctl restart zabbix-agent2 

下面进入WEB进行设置

添加模板

 

 

测试ok后 点击添加

 

Zabbix 监控 SNMP 

SNMP,简单网络管理协议,常用于监控网络设备,也能监控支持开启SNMP功能的设备(windows、linux、打印机等)。

1.服务端安装 snmp 监控程序

yum install -y net-snmp net-snmp-utils


2.修改 snmp 的配置文件,并启动服务


vim /etc/snmp/snmpd.conf
......
view    systemview    included   .1                #57行,添加此配置

systemctl start snmpd

  

3.使用 snmpwalk 命令测试

snmpwalk -v 2c -c public 127.0.0.1 sysname
SNMPv2-MIB::sysName.0 = STRING: zbx-server
-------------------------------------------------------
–v 1|2c|3:指定SNMP协议版本,v2c通过团体名作为认证,v3通过用户名和密码认证
–c:指定团体名(设备间的暗号)
sysname:为 snmp 的 key,用于查看系统名称;SysDesc 用于查看系统信息
-------------------------------------------------------

4.在 Web 页面配置 snmp 方式监控


点击左边菜单栏【配置】中的【主机】,点击 Zabbix server
【模板】取消链接并清理 现有模板 Linux by Zabbix agent
        搜索 Generic,选择 Generic by SNMP
【群组】搜索 net,选择 net(新)
【Interfaces】点击【添加】选择 SNMP ,【IP地址】输入 127.0.0.1,【端口】输入 161
【SNMP version】选择 SNMPv2
【SNMP community】输入 {$SNMP_COMMUNITY}

点击上方菜单栏【宏】
选择【主机宏】
【宏】输入 {$SNMP_COMMUNITY},【值】 输入 public(要与网络设备设置的团体名一致),【描述】输入 网络设备snmp的团队名
点击 【更新】
等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式

 

 

 

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

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

相关文章

嵌入式音视频开发面试过程遇到的问题!

前言&#xff1a; 今天继续给大家分享音视频面试过程会被常问到的一些问题&#xff01; 面试的具体题目&#xff1a; 1、说一下播放器的设计过程&#xff1a; 这里的话主要分以下几步完成&#xff1a; 开启一个线程进行解封装操作 , 这包括&#xff1a;读取音频、视频的压缩数据…

chatgpt赋能Python-python_ps图片

Python PS图片的SEO指南 Python在数字图像处理中广泛应用。其中&#xff0c;Photoshop文件&#xff08;psd&#xff09;是一种常见的图像文件格式。但是&#xff0c;如何在搜索引擎上优化Python PS图片并提高其排名仍然是一个挑战。 什么是Python PS图片&#xff1f; Python…

数据结构和算法基础学习1

​​​​​​​ 网址第01周b--1.1数据结构研究_哔哩哔哩_bilibili

学C的第十九天【实用调试技巧:1. 调试;2. Windows环境调试介绍;3. 一些调试的实例;4. 一些调试的实例】

相关代码gitee自取&#xff1a;C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a;学C的第十八天【指针初阶&#xff1a;5. 指针和数组、6. 二级指针、7. 指针数组&#xff1b;初识结构体&#xff1a;1. 结构体的声明、2. 结构体成员的访问、3. 结构体传参&#xff1b…

java中的栈、堆、方法区

栈&#xff08;stack&#xff09; Java栈与堆不同每一个线程都有一个stack&#xff0c;栈的区域非常小&#xff0c;大概只有1M左右&#xff0c;但是存储速度非常快&#xff0c;所以我们把快速执行的任务存储在stack。 特点&#xff1a;自动分配&#xff0c;连续空间&#xff0…

如何从文档中提取结构化数据?parsio.io

parsio.io 产品名&#xff1a;Parsio电子邮件解析器 技术&#xff1a;采用人工智能技术的电子邮件解析器。 支持多种格式&#xff1a; 可以解析电子邮件和附件中的数据&#xff0c;包括PDF、HTML、XLSX&#xff08;Excel&#xff09;、CSV、DOCX、XML、TXT等格式。 提取模版&am…

FANUC机器人作为EtherCAT通信从站的相关配置方法

FANUC机器人作为EtherCAT通信从站的相关配置方法 基本介绍: 前提条件: 硬件部分: 机器人需要使用EtherCAT从站板卡 A20B-8101-0821。使用带屏蔽层的网线连接板卡和PLC的网口。 本例中使用的网络接口为EC-IN(CD38Y) 软件部分: 机器人需要安装软件:1A05B-2600-J743! Et…

NLog使用

Nlog 日志组件的使用 这个博文关注 .net framework下的NLog日志组件的使用. 在项目中需要将日志写到日志文件中, 另外一些重要信息要显示在界面上. 使用 NLog 可以轻松做到这点.NLog wiki 页面 nuget 安装两个主要组件 NLogNLog.Windows.Forms 使用总结 日志文件 layout 按照 j…

程序员的 Windows 工具箱「GitHub 热点速览」

作者&#xff1a;HelloGitHub-小鱼干 如何精简 Windows 并快速配置开发环境呢&#xff1f;本周特推的 winutil 是一个程序员的 Windows 工具箱&#xff0c;它提供了开发工具的一键安装以及减少系统垃圾的功能&#xff0c;一切为了简洁、高效。同样高效的还有 C 日志库 spdlog&a…

对讲机亚音是什么?有什么作用?

一、对讲机亚音是什么&#xff1f; 对讲机亚音又被称为亚音频。是比音频信号频率更低的一种特殊信号&#xff0c;目的在于检查信号是否合法&#xff0c;是否对信号进行响应。 亚音是一种特殊的振幅信号&#xff0c;人耳无法感觉也无法听闻到这些信号&#xff0c;所以对于无线…

mac mongodb 安装及配置

1.官网下载地址&#xff1a;MongoDB: The Developer Data Platform | MongoDB 2.下载好压缩包&#xff0c;解压后放在想放的地方&#xff0c;例如&#xff1a; /Users/xiaokeai/environment/mongodb-macos-x86_64-5.0.18 3.打开终端后&#xff0c;在家目录中打开.bash_profil…

Linux系统编程学习 NO.4 ——基础指令学习、操作系统时间的概念、文件压缩包的概念

1.时间相关的概念以及指令 1.1.时间相关的指令 1.1.1.date指令 date可以指定时间显示的格式&#xff1a;date 指定格式 选项 %H&#xff1a;小时 %M&#xff1a;分钟 %S&#xff1a;秒数 %Y&#xff1a;年份 %m&#xff1a;月份 %d&#xff1a;日 %F:相当于%Y-%m-%d %X:相当…

java网络编程从0到1快速上手

目录 网络编程概述 网络基础 网络编程的目的 网络通信要素概述 通信要素1&#xff1a;ip地址及端口号 IP 地址&#xff1a;InetAddress 端口号 InetAddress类 通信要素2&#xff1a;网络协议 网络协议概述 TCP/IP协议簇 TCP 和 UDP ​Socket Socket类的常用构造…

都什么年代了你还不学习postgreSQL(入门篇)

postgreSQL学习 一&#xff0c;简介 1.什么是postgresql https://www.postgresql.org/#官网​ PostgreSQL 是一个功能强大的开源对象关系数据库系统&#xff0c;它使用和扩展了 SQL 语言&#xff0c;并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可…

消息队列对比

目录 什么是消息队列 常用的消息队列工具对比 1 、ActiveMQ 2 、RabbitMQ 3、Kafka 4、 RocketMQ 什么是消息队列 消息队列是分布式应用间交换信息的重要组件&#xff0c;消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。通过消息队列&#xff0…

docker 镜像和容器

一、简述 win系统常用Ghost技术来做镜像&#xff0c;把系统和系统上安装的应用程序一起打包做备份&#xff0c;在别的电脑上安装这个GHO镜像则会有和源系统一摸一样的系统和应用。 docker功能类似&#xff0c;而且是分层的&#xff0c;在拉取镜像时候可见。 docker镜像拉取下…

4、js - 闭包

1、闭包的概念 闭包&#xff1a;函数嵌套函数&#xff0c;内层函数访问了外层函数的局部变量。 // 闭包 function func1() {let a 9;let b 8;function func2() {console.log("a", a); // a 9}func2(); } func1(); 分析&#xff1a; 需要访问的变量会被放到闭包…

用YOLOv5和MobileViTs骨干网络革新目标检测:高效准确AI视觉的未来

目录 一、YOLOv51、YOLOv5介绍2、YOLOV5的整体架构图3、MobileViT介绍 二、YOLOv5与MobileViT的结合1、YOLOv5网络结构回顾2、MobileViT网络结构介绍3、YOLOv5替换骨干网络为MobileViT的优势 三、MobileViT的细节与实现1、ViT与MobileNetV3的结合2、MobileViT网络结构细节3、Mo…

最高奖金100万!第二届广州·琶洲算法大赛火热报名中

第二届广州琶洲算法大赛以“优选AI算法 让世界更智能”为主题&#xff0c;聚焦前沿 AI 技术&#xff0c;推进算法领域的学术交流、人才培养、技术发展及应用&#xff0c;面向算法领域的开发者、创业机构、企事业单位&#xff0c;招募具有原创性、独创性、引领性的算法模型和应用…

c++ 11标准模板(STL) std::map(二)

定义于头文件<map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class map;(1)namespace pmr { template <class Key, class T, clas…