zabbix监控Tongweb7企业版(by lqw+sy)

此贴参考zabbix通过jmx监控Tongweb7企业版(by lqw),是在此帖子的基础和同事整理的文档基础上重新部署验证的优化版,使用的是centos7。

优点:
1.不需要通过jmx配置进行监控。(jmx配置需要修改tongweb的配置,并且zabbix还要安装zabbix-getaway进行识别,比较麻烦)
2.使用tongwbe自带的reset接口,这方面有对应的开发接口手册进行参考。

思路:zabbix可通过tongweb的reset接口获取相关信息,然后根据获取的json信息,提取出需要监控的数据。

文章目录

    • 一.安装部署zabbix
    • 二、创建主机
    • 三、创建应用集
    • 四、创建和导入模版
    • 五、给模版添加监控项
    • 六、模版绑定主机
    • 七、查看监控数据

一.安装部署zabbix

参考zabbix分布式平台

(1)安装 Zabbix 源

# 获取 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 为阿里云
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo# 清除yum缓存及创建缓存元数据
yum clean all && yum makecache

(2)安装 Zabbix服务端及mysql客户端

yum -y install zabbix-server-mysql zabbix-agentyum install zabbix-server-mysql

(3)安装SCL(Software Collections),便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4,版本过低,zabbix 5.0 版本对 php 版本最低要 7.2.0 版本。SCL 可以使得在同一台机器上使用多个版本的软件,而又不会影响整个系统的依赖环境。软件包会安装在 /opt/rh 目录下。

# 开启安装源
sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

如果有下图的报错:
在这里插入图片描述
则根据错误提示,需要安装高版本的php,解决方法是安装 Software Collections,再去安装SCL

# yum install centos-release-scl -y# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

4)安装 zbbix 所需的数据库

yum -y install mariadb-server mariadb
systemctl enable --now mariadb# 初始化数据数据库,并设置密码,如 123123
mysql_secure_installation

初始化数据库的时候,第一个按回车
在这里插入图片描述
第二个输y
在这里插入图片描述
输入新密码,这里用的123123,需要输入两次,然后提示成功:
在这里插入图片描述
由于是本地测试,剩余的一直输入n
在这里插入图片描述
5)添加数据库用户以及 zabbix 所需的数据库信息

# 登录数据库
mysql -u root -p123123# 创建zabbix数据库并设置编码为utf-8
create database zabbix character set utf8 collate utf8_bin;# 给用户赋权 
grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';# 刷新
flush privileges;# 退出数据库界面
\q

在这里插入图片描述
6)导入数据库信息(注意查到sql文件路径后要对比和替换掉,不然会报错)

# 查询sql文件的位置
rpm -ql zabbix-server-mysql# 导入数据库信息
zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -u root -p123123 zabbix

如下图所示,通过rpm -ql zabbix-server-mysql可以看到用的版本是5.0.42,所以导入数据库信息的时候,mysql-xxx这里得调整到对应版本,例如zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -u root -p123123 zabbix:
在这里插入图片描述
(7)修改 zabbix server 配置文件,修改数据库密码

vi /etc/zabbix/zabbix_server.conf

在这里插入图片描述
把注释去掉,配成下图所示:

在这里插入图片描述
8)修改 zabbix 的 php 配置文件

# 找到对应的zabbix.conf文件
find / -name "zabbix.conf"
# 修改下述文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
# 25行,取消;号,修改时区
php_value[date.timezone] = Asia/Shanghai

在这里插入图片描述
在这里插入图片描述

(9)赋权,然后启动 zabbix 相关服务

sudo chown zabbix:zabbix /var/run/zabbix 
sudo chmod 755 /var/run/zabbix
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

查看日志

cat /var/log/zabbix/zabbix_server.log
journalctl -xe

如果有下图的提示,关闭防火墙和修改SELINUX=disabled修改配置文件永久关闭(修改后需要reboot)

setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

在这里插入图片描述
访问服务器ip/zabbix,直接點nextstep
在这里插入图片描述
在这里插入图片描述
输入zabbix,然后next:
在这里插入图片描述

输入名称,其他别动,next
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
账号:Admin

密码:zabbix
在这里插入图片描述
切换中文:
在这里插入图片描述

二、创建主机

由于我们要监控的是tongweb,而不是zabbix,所以需要先创建主机:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、创建应用集

点击应用集
在这里插入图片描述

点击创建应用集
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、创建和导入模版

点击模版,创建模版
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

点击模版,点击导入模版
在这里插入图片描述
以下是sy老师提供的模版,大家在测试的话,复制url后,去掉以下内容(amp;这个是zabbix的分割符号),替换ip,访问端口号,应用名称,账号和密码(该内容跟监控项有关,具体会在下一节详细说明):

在这里插入图片描述

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export><version>5.0</version><date>2024-04-23T10:33:56Z</date><groups><group><name>Templates</name></group></groups><templates><template><template>tongwebrest</template><name>tongwebrest</name><groups><group><name>Templates</name></group></groups><applications><application><name>Server Security</name></application></applications><items><item><name>当前连接数</name><type>HTTP_AGENT</type><key>connectionCount</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].count.connectionCount</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/listener_detail?operatorName=count:tong-http-listener&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>当前线程池线程数</name><type>HTTP_AGENT</type><key>currentThreadCount</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].count.currentThreadCount</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/listener_detail?operatorName=count:tong-http-listener&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>正在执行的线程数</name><type>HTTP_AGENT</type><key>currentThreadsBusy</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].count.currentThreadsBusy</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/listener_detail?operatorName=count:tong-http-listener&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>JVM堆内空闲值</name><type>HTTP_AGENT</type><key>HeapMemoryUsagefree</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].HeapMemoryUsage.free</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/jvm_memory_detail?attrName=HeapMemoryUsage&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>jvm最大内存</name><type>HTTP_AGENT</type><key>max</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].HeapMemoryUsage.max</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/jvm_memory_detail?attrName=HeapMemoryUsage&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>最大处理线程数</name><type>HTTP_AGENT</type><key>maxThreads</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].count.maxThreads</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/listener_detail?operatorName=count:tong-http-listener&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>请求数</name><type>HTTP_AGENT</type><key>requestCount</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].stat.requestCount</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/listener_detail?operatorName=stat:tong-http-listener&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>会话超时时间</name><type>HTTP_AGENT</type><key>sessionTimeout</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].sessionTimeout</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/application_detail?pathValue=beanValidate&amp;vhost=server&amp;attrName=sessionTimeout&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>应用状态</name><type>HTTP_AGENT</type><key>stateName</key><trends>0</trends><value_type>TEXT</value_type><preprocessing><step><type>JSONPATH</type><params>$.data[0].stateName</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/application_detail?pathValue=beanValidate&amp;vhost=server&amp;attrName=stateName&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>线程池使用率</name><type>HTTP_AGENT</type><key>threadPoolUsage</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].count.threadPoolUsage</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/listener_detail?operatorName=count:tong-http-listener&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>jvm已使用内存</name><type>HTTP_AGENT</type><key>used</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].HeapMemoryUsage.used</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/jvm_memory_detail?attrName=HeapMemoryUsage&amp;username=thanos&amp;password=Thanos1@.com</url></item><item><name>应用请求数</name><type>HTTP_AGENT</type><key>yingyongrequestCount</key><preprocessing><step><type>JSONPATH</type><params>$.data[0].requestCount</params></step></preprocessing><url>http://192.168.10.9:9060/console/rest/api/application_detail?pathValue=beanValidate&amp;vhost=server&amp;attrName=requestCount&amp;username=thanos&amp;password=Thanos1@.com</url></item></items></template></templates>
</zabbix_export>

五、给模版添加监控项

该部分如果需要自行配置新的监控项,请参考008_TongWeb V7.0 二次开发接口_7049_M1A01.pdf(该文件位于tongweb安装目录的doc目录下)。

添加成功后点击模版下的监控项:
在这里插入图片描述

创建监控项
在这里插入图片描述

测试访问以下url

http://192.168.10.14:9060/console/rest/api/jvm_memory_detail?attrName=HeapMemoryUsage&username=thanos&password=Yeyehuo163.com

其中192.168.10.14:9060/console是tongweb的控制台访问url,Yeyehuo163.com是我本地控制台设置的密码,请根据自身情况进行替换

在这里插入图片描述

在监控项页面填写名称(别用中文,测试过中文的话,图形的名称会有乱码),选择http代理,复制粘贴测试的url,点击分析:
在这里插入图片描述
在这里插入图片描述

然后将访问url页面里的那串json字符串复制过来,粘贴在请求正文里

在这里插入图片描述
在这里插入图片描述
点击预处理,点击添加,选择json路径,填写信息:
在这里插入图片描述
在这里插入图片描述
填写的内容结构一般为$.data[0].+下图所示的两个参数,以.作为层级关系,例如:

$.data[0].HeapMemoryUsage.free

在这里插入图片描述
填写完点击添加,然后回到监控项,点击测试:
在这里插入图片描述

在这里插入图片描述
点击获取值并进行测试:
在这里插入图片描述
能得到数值,说明测试成功
在这里插入图片描述

六、模版绑定主机

回到主机页面,点击要配置的主机
在这里插入图片描述

点击模版,选择新的模版:
在这里插入图片描述
在这里插入图片描述
然后点击更新
在这里插入图片描述

七、查看监控数据

点击监控里的最新数据,点击要看的图形,如下图所示(有几个因为tongweb没有部署应用,所以名称被zabbix标记为灰色,意思是无法识别):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

前端基础学习html(1)

1.标题标签.h1,h2...h6 2.段落标签p 换行标签br 3.加粗strong(b) /倾斜em(i) /删除 del(s) /下划线ins(u) 4.盒子&#xff1a;div //一行一个 span//一行多个 5.img :src alt title width height border 图片src引用&#xff1a;相对路径 上级/同级/中级 绝对路径&#xff…

【CTF-Crypto】修复RSA证书入门汇总

证书修复 文章目录 证书修复基础知识Truncated 1Truncated 2Jumbled 基础知识 为什么要引入证书&#xff1f; 在正常题目中&#xff0c;大部分直接给出了数字&#xff0c;但是数字在现实世界中传输不稳定&#xff0c;容易在某处出现错误&#xff0c;所以我们将所有的数字信息…

移动机器人系统与技术:自动驾驶、移动机器人、旋翼无人机

这本书全面介绍了机器人车辆的技术。它介绍了道路上自动驾驶汽车所需的概念。此外&#xff0c;读者可以在六足机器人的构造、编程和控制方面获得宝贵的知识。 这本书还介绍了几种不同类型旋翼无人机的控制器和空气动力学。它包括各种旋翼推进飞行器在不同空气动力学环境下的模…

【c++leetcode】35. Search Insert Position

问题入口 二分搜索 时间复杂度O(logn) class Solution { public:int searchInsert(vector<int>& nums, int target) {int start 0;int end nums.size() - 1;while (start < end){int mid (start end) / 2;if (nums[mid] target){return mid;}else if(nums…

【C++】1.贪心算法:零钱兑换的奇妙之旅

欢迎来CILMY23的博客 本篇主题为 贪心算法&#xff1a;零钱兑换的奇妙之旅 个人主页&#xff1a;CILMY23-CSDN博客 个人专栏&#xff1a; Python | C | C语言 | 数据结构与算法 上一篇C博客&#xff1a;掌握C函数重载和引用开启代码优化的新篇章 感谢观看&#xff0c;支…

电机控制器电路板布局布线参考指导(七)电流检测模块布局布线

电机控制器电路板布局布线参考指导&#xff08;七&#xff09;电流检测模块布局布线 1.高侧电流检测2.低侧电流监测3.两相和三相电流检测4.关键元器件选型要求5.布局6.布线7.工具设置8.输入和输出滤波9.注意事项 很多电机驱动器产品系列包括内置了电流感测功能的器件&#xff0…

用keras识别狗狗

一、需求场景 从照片从识别出狗狗 from keras.applications.resnet50 import ResNet50 from keras.preprocessing import image from keras.applications.resnet50 import preprocess_input, decode_predictions import numpy as np# 加载预训练的ResNet50模型 model ResNet5…

Postgresql的安装教程dbever的连接pgAdmin4的连接

最近在学习Postgresql. 首先&#xff0c;我去官网上下载了Community DL Page12.18这个版本&#xff0c;低版本比较稳定而且文档比较多 https://www.cnblogs.com/xy-ouyang/p/12009503.html 接下来&#xff0c;我去上面的链接参考了连接。打开了postgresql的服务器之后&#x…

计算机毕业设计python在线交友系统django+vue

Flask 是一个轻量级的 Web 框架&#xff0c;使用 Python 语言编写&#xff0c;较其他同类型框架更为灵活、轻便且容易上手&#xff0c;小型团队在短时间内就可以完成功能丰富的中小型网站或 Web 服务的实现。 本在线交友系统管理员功能有个人中心&#xff0c;用户管理&#xff…

初识C++ · 类和对象(下)

目录 1 再谈构造函数 2 类中的隐式类型转换 3 Static成员 4 友元和内部类 5 匿名对象 6 编译器的一些优化 1 再谈构造函数 先看一段代码&#xff1a; class Date { public :Date(int year, int month, int day){_year year;_month month;_day day;} private:int _ye…

日志行为分析

1、恶意IP请求带有多个身份操作 可以看到上述日志中&#xff0c;某IP对登录了邮件并进行了相关操作&#xff0c;可以看到其登录了不同的账户&#xff0c;那么这个时候怎么判断其是正常的请求还是恶意请求呢&#xff1f; (1)、威胁情报&#xff0c;查找请求IP相关的威胁情报信息…

MySQL 8.4 版本(LTS) 发布,一睹为快

前言 Oracle 前几天发布了 MySQL 8.4 版本(LTS)&#xff0c; 该版本是创新版的第一个长期支持版本。详细规划&#xff0c;请移步 技术译文 | 一文了解 MySQL 全新版本模型 关于 MySQL 的版本发布规划 Oracle MySQL 官方开发团队推出的新版本将过渡到新的 MySQL 版本模型。MyS…

组合数问题

1.直接用递推&#xff1a; 下面是AC代码“&#xff1a; #include<bits/stdc.h> using namespace std; const int N2010,mod1e97; int a[N][N]; void init() {for(int i0;i<N;i){for(int j0;j<i;j){if(j0) a[i][j]1;else a[i][j](a[i-1][j]a[i-1][j-1])%mod;}} } i…

FreeRTOS--任务通知方式

一.任务通知(Task Notifications)介绍 FreeRTOS 每个已经创建的任务都有一个任务控制块&#xff08; task control block&#xff09;&#xff0c;任务控制块就是一个结构体变量&#xff0c; 用于记录任务的相关信息。 结构体变量中有一个 32 位的变量成员 ulNotifiedValue 是专…

分割链表----一道题目的3种不同的解法

1.题目概述 以这个题目的事例作为例子&#xff0c;我们看一下这个题目到底是什么意思&#xff08;Leedcode好多小伙伴说看不懂题目是什么意思&#xff09;&#xff0c;就是比如一个x3&#xff0c;经过我们的程序执行之后&#xff1b;大于3的在这个链表的后面&#xff0c;小于3的…

Qt5 框架学习及应用 — 对象树

Qt 对象树 对象树概念Qt为什么使用对象树 &#xff1f;将对象挂到对象树上 对象树概念 对象树&#xff1a;对于树的概念&#xff0c;相信许多学过数据结构的同学应该都不会陌生。在学习数据结构的时候我们所接触的什么二叉树、多叉树、哈夫曼树、AVL树、再到红黑树、B/B树………

java之web笔记

1.Servlet技术 1.1 JavaWeb概述 在Sun的Java Servlet规范中&#xff0c;对Java Web应用作了这样定义:“JavaWeb应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Servlet容器中运行。 Java Web应用中可以包含如下内容…

STM32——GPIO篇

技术笔记&#xff01; 1. 什么是GPIO&#xff1f; GPIO是通用输入输出端口&#xff08;General-purpose input/output&#xff09;的英文简写&#xff0c;是所有的微控制器必不可少的外设之一&#xff0c;可以由STM32直接驱动从而实现与外部设备通信、控制以及采集和捕获的功…

数据库和缓存一致性问题

hello&#xff0c;各位小伙伴们大家好&#xff0c;我是颜书凌&#xff0c;下面给大家讲解一下数据库和缓存的一致性问题&#xff0c;话不多说 1、一致性介绍 一致性就是数据保持一致&#xff0c;在分布式系统中&#xff0c;可以理解为多个节点中数据的值是一致的。 强一致性…

基于vmware虚拟机中yum源的配置

1.首先需确保虚拟机中已经连接了光盘映像&#xff08;如图在虚拟机右下方从左往右第二个&#xff09; 2.在虚拟机中找到光盘映像文件&#xff08;默认在/dev的sr0&#xff09; 3.将光盘文件挂载&#xff08;挂载后才可读取&#xff09; 为方便每一次开机之后自动挂载&#xff…