Zabbix6.0监控Freeswitch状态

一、前提环境说明

1、最终实现Freeswitch监控指标信息:

在这里插入图片描述

2、环境需求:

  • (1)需要使用Zabbix6.0及以上

  • (2)需要使用zabbix_agent2

二、实现步骤

1、zabbix_agent2添加监控键值

cat /etc/zabbix/conf.d/freeswitch.conf
UserParameter=fs.version,/etc/zabbix/shell/freeswitch.sh version
UserParameter=fs.calls,/etc/zabbix/shell/freeswitch.sh calls 
UserParameter=fs.regs,/etc/zabbix/shell/freeswitch.sh regs
UserParameter=fs.thread,/etc/zabbix/shell/freeswitch.sh thread
UserParameter=fs.cpu.usage,/etc/zabbix/shell/freeswitch.sh cpu
UserParameter=fs.memory.usage,/etc/zabbix/shell/freeswitch.sh memory
UserParameter=fs.uptime,/etc/zabbix/shell/freeswitch.sh uptime

2、添加脚本(键值都是通过脚本获取到的值)

cat /etc/zabbix/shell/freeswitch.sh
#!/bin/bash
fsPath="/usr/local/freeswitch/bin/fs_cli -x"
fsPid=$(ps -ef |grep -w ./freeswitch |grep -v grep|awk NR==1|awk '{print $2}')# 当前注册分级数量
RegistrationNum(){
${fsPath} "sofia status profile internal reg"|grep -w "Total items returned:"|awk '{print $NF}'
}# 当前通话数量
CallsNum(){
${fsPath} "show calls"|grep -w total.|awk '{print $1}' 
}# FreeSwitch版本
FreeSwitchVersion(){
${fsPath} "version"|awk NR==1
}# 线程数量
ThreadNum(){
ps -T -p ${fsPid}|wc -l
}# FS进程内存使用率
MemoryUsage(){
ps -aux |grep -w ${fsPid}|grep -v grep|awk '{print $4}'
}# FS进程CPU使用率
CpuUsage(){
ps -aux |grep -w ${fsPid}|grep -v grep|awk '{print $3}'
}# FS运行时间
UpTime(){
ps -eo pid,comm,etime | grep -w ${fsPid}|awk '{print $NF}'
}case $1 in "uptime")UpTime;;"regs")RegistrationNum;;"calls")CallsNum;;"version")FreeSwitchVersion;;"thread")ThreadNum;;"cpu")CpuUsage;;"memory")MemoryUsage;;
esac

3、重启zabbix_agent2

systemctl restart zabbix-agent2

4、导入模板,把模板内容保存到一个yaml结尾文件中,然后在zabbix导入中选择此文件

模板内容如下:

zabbix_export:version: '6.0'date: '2024-07-14T13:01:51Z'groups:- uuid: dc579cd7a1a34222933f24f52a68bcd8name: 'Linux servers'templates:- uuid: a16626cf7ef045c3a81271a0851e5eb8template: CCPname: CCPgroups:- name: 'Linux servers'items:- uuid: f330cd7c74824042b817daccfdd4bd49name: FS_当前通话数量key: fs.callsdelay: 5striggers:- uuid: d4e3c70610ad4bd18b698a380ffce20bexpression: last(/CCP/fs.calls)>20recovery_mode: RECOVERY_EXPRESSIONrecovery_expression: last(/CCP/fs.calls)<20name: 'FS通话数量 > 20'priority: WARNINGmanual_close: 'YES'- uuid: 6ae520e19b51454c80d58506fc1ccdf6name: FS_CPU使用率key: fs.cpu.usagedelay: 30svalue_type: FLOAT- uuid: 6e09770ffc13411dad9b4fee482a6201name: FS_内存使用率key: fs.memory.usagedelay: 30svalue_type: FLOAT- uuid: c51803aaf6b94ea797ccf24508f3914bname: FS_分级注册数量key: fs.regsdelay: 5striggers:- uuid: 6cd4b619f9c14b999863ae1ded3e984aexpression: last(/CCP/fs.regs)>20recovery_mode: RECOVERY_EXPRESSIONrecovery_expression: last(/CCP/fs.regs)<20name: 'FS分级注册数量 > 20'priority: WARNINGmanual_close: 'YES'- uuid: fc755a6d0ec144fa8af674c1c8009c40name: FS_线程数key: fs.threaddelay: 30striggers:- uuid: aecd450798304e80a25689a055449471expression: last(/CCP/fs.thread)>500recovery_mode: RECOVERY_EXPRESSIONrecovery_expression: last(/CCP/fs.thread)<500name: FS线程数大于500priority: WARNINGmanual_close: 'YES'- uuid: 78aff8d733bd4eb6b35d7af905d0c7eename: FS_运行时间key: fs.uptimedelay: 30strends: '0'value_type: TEXT- uuid: 0d0c61ce5f194f569eafc6a2ca64670ename: FS_版本key: fs.versiontrends: '0'value_type: TEXT- uuid: ebb21ecc1a0846dc804533e09799e70fname: FS_38890端口key: 'net.udp.listen[38890]'delay: 30striggers:- uuid: dbdba4b9b4dd4b83a7efa4a9bccdaf06expression: 'last(/CCP/net.udp.listen[38890])=0'recovery_mode: RECOVERY_EXPRESSIONrecovery_expression: 'last(/CCP/net.udp.listen[38890])=1'name: 'FS 38890端口无法建立连接'priority: HIGHmanual_close: 'YES'- uuid: 5b6c01fb6ddc414dbb4cde2019f96378name: FS_38891端口key: 'net.udp.listen[38891]'delay: 30striggers:- uuid: 34885f3725c94583bbb667730d61b552expression: 'last(/CCP/net.udp.listen[38891])=0'recovery_mode: RECOVERY_EXPRESSIONrecovery_expression: 'last(/CCP/net.udp.listen[38891])=1'name: 'FS 38891端口无法建立连接'priority: HIGHmanual_close: 'YES'graphs:- uuid: 83074d6630964d65a8810c326c973444name: FS分级注册数量graph_items:- color: 199C0Dcalc_fnc: ALLitem:host: CCPkey: fs.regs- uuid: d4bb3c3e9fa24d1e92d6fed17e471394name: FS整体信息graph_items:- color: 199C0Dcalc_fnc: ALLitem:host: CCPkey: fs.regs- sortorder: '1'color: F63100calc_fnc: ALLitem:host: CCPkey: fs.calls- uuid: 0dadf47386de4b08a8b97663ccba72d5name: FS通话数量graph_items:- color: 199C0Dcalc_fnc: ALLitem:host: CCPkey: fs.calls

WEB页面导入模板

在这里插入图片描述

模板内容如下:
在这里插入图片描述

导入模板后,就可以针对主机使用此模板了!!

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

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

相关文章

「豆包Marscode体验官」我用豆包Marscode画数据大屏

认识豆包Marscode 豆包 MarsCode IDE 是一个 AI 原生的云端集成开发环境&#xff08;IDE&#xff09;。内置的 AI 编程助手和开箱即用的开发环境让我们可以更加专注于各种项目的开发。豆包 MarsCode 编程助手&#xff0c;具备以智能代码补全为代表的 AI 功能。支持了多种编程语…

【Android面试八股文】请描述一下 android 的系统架构?

Android 是一个基于 Linux 的开源软件堆栈,针对多种不同设备类型打造。下图显示了 Android 平台的主要组件。 早期的Android架构如下图所示 官方网站最新的Android平台架构图,如下所示: Linux 内核 Android 平台的基础是 Linux 内核。例如,Android 运行时 (ART) 依赖…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验18 边界网关协议BGP

一、实验目的 1.验证边界网关协议BGP的作用&#xff1b; 2.学习在思科路由器上该协议的使用方法。 二、实验要求 1.使用Cisco Packet Tracer仿真平台&#xff1b; 2.观看B站湖科大教书匠仿真实验视频&#xff0c;完成对应实验。 三、实验内容 1.构建网络拓扑&#xff1b; …

全栈智能家居系统设计方案:STM32+Linux+多协议(MQTT、Zigbee、Z-Wave)通信+云平台集成

1. 项目概述 随着物联网技术的快速发展,智能家居系统正在成为现代生活中不可或缺的一部分。本文介绍了一个基于STM32微控制器和Linux系统的智能家居解决方案,涵盖了硬件设计、软件架构、通信协议以及云平台集成等方面。 该系统具有以下特点: 采用STM32作为终端设备的控制核心…

C#与PLC通信——如何设置电脑IP地址

前言&#xff1a; 我们与PLC通过以太网通信时&#xff0c;首先要做的就是先设置好电脑的IP&#xff0c;这样才能实现上位机电脑与PLC之间的通信&#xff0c;并且电脑的ip地址和PLC的Ip地址要同处于一个网段&#xff0c;比如电脑的Ip地址为192.168.1.1&#xff0c;那么PLC的Ip地…

Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比

章节内容 上一节完成了如下的内容&#xff1a; 编写Agent Conf配置文件收集Hive数据汇聚到HDFS中测试效果 背景介绍 这里是三台公网云服务器&#xff0c;每台 2C4G&#xff0c;搭建一个Hadoop的学习环境&#xff0c;供我学习。 之前已经在 VM 虚拟机上搭建过一次&#xff0…

【开源】开源数据库工具推荐

Mysql开源工具推荐 dbeaver下载网速太慢了&#xff0c;这么好用的开源工具&#xff0c;可以从镜像站中下载&#xff1a; 下载地址&#xff1a; https://mirrors.nju.edu.cn/github-release/dbeaver/dbeaver/24.1.1/ Redis开源工具推荐 好看好用&#xff0c;UI真是做的很不…

独立开发者系列(25)——大白话进程

很多小型的规模场景限制下&#xff0c;复杂概念弊端大于利端。不同模式的实现&#xff0c;是根据具体需求来判定&#xff0c;但是理解底层最基础的原理有助于理解很多工具背后的诞生。比如php的swoole workerman 要解决的问题。 首先理解&#xff0c;进程概念&#xff0c;进程…

【C语言】深入解析归并排序

文章目录 什么是归并排序&#xff1f;归并排序的基本实现代码解释归并排序的优化归并排序的性能分析归并排序的实际应用结论 在C语言编程中&#xff0c;归并排序是一种高效且稳定的排序算法。它采用分治法将问题分解成更小的子问题进行解决&#xff0c;然后合并结果。本文将详细…

Qt基础 | Qt Creator的基本介绍与使用 | 在Visual Studio中创建Qt项目

文章目录 一、Qt Creator的基本介绍与使用1.新建一个项目2.项目的文件组成3.项目文件介绍3.1 项目管理文件3.2 界面文件3.3 主函数文件3.4 窗体相关的文件 4.项目的编译、调试与运行 二、在Visual Studio中创建Qt项目 Qt C开发环境的安装&#xff0c;请参考https://liujie.blog…

maven私有镜像仓库nexus部署使用

maven私有镜像仓库nexus部署使用 1、Nexus部署 #查找镜像 docker search sonatype/nexus3 #拉取镜像 docker pull sonatype/nexus3 #持久化目录 mkdir -p /data/nexus/data chmod 777 -R /data/nexus/data #启动服务 docker run -d --name nexus3 -p 8081:8081 --restart alw…

MyBatis where标签内嵌foreach标签查询报错‘缺失右括号‘或‘命令未正确结束‘

MyBatis <where>标签内嵌<foreach>标签查询报错’缺失右括号’或’命令未正确结束’ <where>标签内嵌<foreach>标签 截取一段脱敏xml&#xff0c;写明大概意思 <select id"queryLogByIds" resultMap"BaseResultMap">SELE…

深度学习基础:Numpy 数组包

数组基础 在使用导入 Numpy 时&#xff0c;通常给其一个别名 “np”&#xff0c;即 import numpy as np 。 数据类型 整数类型数组与浮点类型数组 为了克服列表的缺点&#xff0c;一个 Numpy 数组只容纳一种数据类型&#xff0c;以节约内存。为方便起见&#xff0c;可将 Nu…

lnmp+DISCUZ+WORDPRESS

lnmpDISCUZWORDPRESS lnmpDISCUZ&#xff08;论坛的一个服务&#xff09; l&#xff1a;linux操作系统 n&#xff1a;nginx前端页面的web服务 php&#xff1a;动态请求转发的中间件 mysql&#xff1a;数据库 保存用户和密码以及论坛的相关内容 mysql8.0.30安装&#xff1a…

html(抽奖设计)

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>抽奖</title><style type"text/css">* {margin: 0;padding: 0;}.container {width: 800px;height: 800px;border: 1px dashed red;position: absolut…

数字营销以打造“会员体系”为主要目标的好处和优势

​蚓链数字化营销实践观察&#xff1a;在数字化时代&#xff0c;企业的营销方式发生了深刻的变革。会员体系作为一种常见的营销策略&#xff0c;在数字营销领域中发挥着越来越重要的作用。 首先&#xff0c;我们来总结一下会员体系的特点和优势 &#xff08;一&#xff09;个性…

7/13 - 7/15

vo.setId(rs.getLong("id"))什么意思&#xff1f; vo.setId(rs.getLong("id")); 这行代码是在Java中使用ResultSet对象&#xff08;通常用于从数据库中检索数据&#xff09;获取一个名为"id"的列&#xff0c;并将其作为long类型设置为一个对象…

c语言中的字符串函数

strstr函数 函数介绍 strstr 用于在一个字符串中查找另一个字符串的首次出现。 我们来看这个函数的参数名字&#xff1a;haysytack&#xff08;干草堆&#xff09;needle&#xff08;针&#xff09;,这个其实就是外国的一句谚语&#xff1a;在干草堆中找一根针&#xff0c;就…

抗量子密码算法:保障未来信息安全的新盾牌

随着量子计算的迅猛发展&#xff0c;传统加密算法正面临着前所未有的挑战。量子计算机利用量子比特的特殊性质&#xff0c;能在极短时间内破解目前广泛使用的公钥加密体系&#xff0c;如RSA、ECC等。这使得我国及全球的信息安全体系遭受严重威胁。为了应对这一挑战&#xff0c;…

unity宏编译版本

在写c程序的时候我们通常可以用不同的宏定义来控制不同版本的编译内容&#xff0c;最近有个需求就是根据需要编译一个完全体验版本&#xff0c;就想到了用vs的那套方法。经过研究发现unity也有类似的控制方法。 注意这里设置完后要点击右下的应用&#xff0c;我起先就没有设置…