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

zabbix监控之javasnmp自定义监控

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 ];thenecho 0elseecho $pro_numfi
}######main######
cmd=$1case $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.lryc.cn/news/70118.html

相关文章:

  • Inertial Explorer处理pospac数据总结
  • tps和qps的区别是什么?怎么理解
  • 【Java系列】深入解析枚举类型
  • 网络原理(五):IP 协议
  • MySQL---空间索引、验证索引、索引特点、索引原理
  • 选择合适的 MQTT 云服务:一文了解 EMQX Cloud Serverless、Dedicated 与 BYOC 版本
  • uvc驱动ioctl分析下
  • 数据库可视化神器,你在用哪一款呢
  • CMD与DOS脚本编程【第三章】
  • 多激光雷达手眼标定
  • SQL执行过程
  • K8S 部署 seata
  • ClickHouse:(二)数据类型
  • 项目文档(request页面代码逻辑)
  • 后端传到前端的JSON数据大写变小写--2023
  • 学习【菜鸟教程】【C++ 类 对象】【C++ 类的静态成员】
  • 计算机四大件笔记
  • 【vue上传文件——hash】
  • 【OpenCV DNN】Flask 视频监控目标检测教程 01
  • (转载)从0开始学matlab(第10天)—自顶向下的编程思想
  • mapreduce技术
  • AI智慧安监视频平台EasyCVR视频出现不能播放的情况排查与解决
  • 嵌入式学习之Linux驱动(第九期_设备模型_教程更新了)_基于RK3568
  • LeetCode662.设计循环队列||4种方法实现
  • 人工智能专栏第十二讲——依存解析
  • nest日志包pino、winston配置-懒人的折腾
  • 一文看懂增值税发票识别OCR:从技术原理到 API Java 示例代码接入
  • 消息队列对比
  • Ceph对象存储的基本概念,使用以及优点
  • 工业互联网UWB定位系统源码,支持自定义开发