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.mzph.cn/news/831770.shtml

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

相关文章

IO复用技术(1)——select/poll/epoll原理介绍及使用案例

文章目录 1.Select1.1 工作流程1.2 fd_set函数1.3 select函数1.4 例程 2.poll2.1 poll函数2.2 例程 3.epoll3.1 工作流程3.2 相关函数3.3 epoll的两种工作模式3.4 示例代码 4.总结 原理&#xff1a;使用一个线程来检查多个文件描述符&#xff0c;委托内核进行检查&#xff0c;如…

Mac OS系统如何更新

用了好几年的Mac Book安装软件经常提示需要更高的系统版本&#xff0c;因此要升级系统版本&#xff0c;但是开始在系统设置里面找了一下没有找到升级的按钮&#xff0c;找了资料后才知道如何升级。有以下两种入口 一、App Store搜索MacOs&#xff0c;在出现的搜索结果中选择下载…

微服务----nacos配置及简单使用

目录 什么是nacos 项目在nacos上进行注册 注入nacos依赖 配置application.yml文件 nacos写入配置文件 首先&#xff0c;还是需要导入依赖 然后在nacos中编写配置文件 prod是我自定义的一个命名空间&#xff0c;在这里面进行配置文件编写~ 启动类上加上注解 编写Patt…

SpringBoot+Vue项目企业客户管理系统

一、前言介绍 本文主要论述了如何使用JAVA语言开发一个企业客户管理系统&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述企业客户管理系统的当前背景以及系统开…

Qt之信号与槽

槽的本质&#xff1a;对信号响应的函数。 信号函数和槽函数通常位于某个类中&#xff0c;和普通的成员函数相⽐&#xff0c;它们的特别之处在于&#xff1a; 信号函数⽤ signals 关键字修饰&#xff0c;槽函数⽤ public slots、protected slots 或者 private slots 修饰。sign…

数据结构---单链表

题目&#xff1a;构造一个单链表。 使用的软件&#xff1a;VS2022使用的语言&#xff1a;C语言使用的项目&#xff1a;test.c Setlist.h Setlish.c 项目实践&#xff1a; Setlist.h的代码为&#xff1a; #pragma once#include<stdio.h> #include<stdlib.h> #incl…

【算法小白周赛2】A.朋友遍天下(easy)C++代码和题解

题目链接&#xff1a;https://www.starrycoding.com/problem/165 题目描述 本题与hard版本有一定区别&#xff0c;仅“拜访时间安排表”的规则相同&#xff0c;hard版本需要进行一定修改才能通过easy版本。 醋酸锌有许多的好友&#xff0c;为了能好好拜访他的每一个好友&…

Java | Leetcode Java题解之第67题二进制求和

题目&#xff1a; 题解&#xff1a; class Solution {public String addBinary(String a, String b) {StringBuffer ans new StringBuffer();int n Math.max(a.length(), b.length()), carry 0;for (int i 0; i < n; i) {carry i < a.length() ? (a.charAt(a.leng…

单调栈|496.下一个更大元素I

力扣题目链接 class Solution { public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {stack<int> st;vector<int> result(nums1.size(), -1);if (nums1.size() 0) return result;unordered_map<int, …

连接和使用vCenter Server嵌入式vPostgres数据库

vCenter Server 早期支持内嵌(embedded)和外部(external)数据库,内嵌数据库就是vPostgres,基于VMware Postgres数据库(PostgreSQL数据库),外部数据库用的多的是Oracle数据库和SQL Server数据库。因为早期使用内嵌的PostgreSQL数据库只能用于小型环境,比如仅支持几十台…

SpringBoot对接前端传递的base64编码的图片信息,转成图片以Get请求进行浏览器文件下载,不下载到本地。

一、问题描述 1.1需求描述。 前端将浏览器展示的图片以base64编码的形式传递给后端&#xff0c;以此实现文件下载的功能&#xff0c;在浏览器弹出文件下载框。效果如下 1.2实现思路 将前端传递的base64进行解码&#xff0c;设置响应头返回响应体&#xff0c;代码如下。 pu…

ubuntu22.04 cmake 配置mysql

报错信息&#xff1a; CMake Error at CMakeLists.txt:33 (find_package): By not providing “FindMySQL.cmake” in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by “MySQL”, but CMake did not find one. Could not…

【02358单片机原理及应用】第三、四、五章考试复习自考复习

第3章 80C51单片机指令系统 考试知识点&#xff1a; 1、寻址方式 &#xff08;1&#xff09;立即寻址&#xff08;#data&#xff0c;#data16&#xff09;例&#xff1a;MOV A&#xff0c;#00H &#xff08;2&#xff09;直接寻址&#xff08;direct&#xff09;内部RAM…

古典密码学简介

目录 C. D. Shannon: 一、置换密码 二、单表代替密码 ① 加法密码 ② 乘法密码 ③密钥词组代替密码 三、多表代替密码 代数密码 四、古典密码的穷举分析 1、单表代替密码分析 五、古典密码的统计分析 1、密钥词组单表代替密码的统计分析 2、英语的统计规…

电商核心技术揭秘四十七:社会化营销中的社区建设

相关系列文章 电商技术揭秘相关系列文章合集&#xff08;1&#xff09; 电商技术揭秘相关系列文章合集&#xff08;2&#xff09; 电商技术揭秘相关系列文章合集&#xff08;3&#xff09; 电商技术揭秘四十一&#xff1a;电商平台的营销系统浅析 电商技术揭秘四十二&#…

【业务场景】京东实际场景,频繁GC引起的CPU飙高问题的解决

目录 1.业务介绍 2.判断任务类型 3.CPU飙高的原因 1.业务介绍 本文的业务场景是京东零售线公开的一篇文章&#xff0c;文章内容详细介绍了京东零售线如何将广告相关的定时任务从半小时优化到秒级的&#xff0c;原文链接&#xff1a; 半小时到秒级&#xff0c;京东零售定时…

登封授牌,花落郑州

近日&#xff0c;“大禹故里故都”授牌仪式在河南省登封市隆重举行&#xff0c;河南省社科院有关单位将匾牌授予登封市。报道称&#xff1a;至此&#xff0c;千百年来备受争议的大禹故里、故都问题&#xff0c;终于尘埃落定&#xff0c;华夏立国始祖大禹终于魂归故里。 略有微词…

QT+串口调试助手+基本版

一、创建串口调试助手UI界面 1、首先生成串口连接必要参数界面&#xff0c;删除关闭串口控件 2、给参数下拉框添加常见的选项&#xff0c;删除关闭串口控件 3、将串口调试助手参数界面布局整齐&#xff0c;删除关闭串口控件 4、更改控件名字&#xff0c;方便后续编程&#xff…

OpenHarmony实战开发-动画曲线、如何实现动画衔接

UI界面除了运行动画之外&#xff0c;还承载着与用户进行实时交互的功能。当用户行为根据意图变化发生改变时&#xff0c;UI界面应做到即时响应。例如用户在应用启动过程中&#xff0c;上滑退出&#xff0c;那么启动动画应该立即过渡到退出动画&#xff0c;而不应该等启动动画完…

特斯拉FSD落地分析

再续前缘 媒体的神经从马斯克的湾流私人飞机起飞那一刻开始,就开始被牵动着。28/4 号的突然访华,在大多数人看来其实已经早已是计划之中,从摆在台面上的消息来看,主要目的是为了在大陆推广FSD的落地,也为8月份FSD 的正式版本做预热,和中国上海的第一次联姻造就了特斯拉m…