zabbix监控之奥科语音网关M10K电话并发数
zabbix管理页面添加item项
voip_calls[auto_ssh_audiocode_102_49.sh]
vi /etc/zabbix/zabbix_agent.conf 添加自定义脚本
UserParameter=voip_calls[*],/usr/lib/zabbix/externalscripts/audiocode_calls_status $1
vi auto_ssh_audiocode_102_49.sh
#!/usr/bin/expect -fset port 22
set user xxxxx
set password xxxxx
set host 172.24.102.49
set timeout 30#spawn ssh -D $port $user@$host
#spawn ssh $user@$host date
#spawn ssh $user@$host b failover show \; ip ad | grep 'inet 114.66.80.14'
##spawn ssh $user@$host show sessions
#spawn ssh $user@$host
spawn ssh -p $port $user@$hostexpect "Admin@172.23.102.49's password:"
send "$password\r"#expect "*assword:*" { send "$password\r" }
#expect "*assword:*"
#send "$password\r"#expect '*>*' { send "show sessions\r" }
##expect '*Mediant*>'#send "\r"
#expect '*1000>'
#send "show voip calls list\r"
#send "show voip calls active\r"expect "Mediant 1000>"
send "show voip calls statistics gw\r"expect "Mediant 1000>"
send "quit\r"expect eof
vi audiocode_calls_status.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define OK 0
#define WARNING 1
#define CRITICAL 2
#define UNKNOWN 3#define LEN 100//#define TCL_CMD "/home/weihu/tcl/"
//#define TCL_CMD "/usr/local/nagios/libexec/"
#define TCL_CMD "/usr/lib/zabbix/externalscripts/"int exitstatus=OK;
char *exit_status[4]={"OK","WARNING","CRITICAL","UNKNOWN"};char status_information[LEN];
char performance_data[LEN];//int parse_status(char *sh_cmd,char *active_count,char *high_count,char *total_count) {
int parse_status(char *sh_cmd,char *active_count) {int ret;FILE *fp;char readbuf[LEN];char *p,*str;int i=0;int line=0;int mark=0;int mark1=0;int mark2=0;// fp=popen("/home/neo/check_log/tcl/auto_ssh.sh","r");fp=popen(sh_cmd,"r");if(fp==NULL) {fprintf(stderr,"popen() error. ");exitstatus=CRITICAL;printf("%s: - %s | %s\n",exit_status[exitstatus],status_information,performance_data);exit(exitstatus);}while(fgets(readbuf,LEN,fp)!=NULL) {// printf("%s",readbuf);// line++;if(strstr(readbuf,"No Active") || strstr(readbuf,"show voip calls")) {if(strstr(readbuf,"No Active")) {// printf("111111111111111111\n");strcpy(active_count,"0");mark=1;}else if(strstr(readbuf,"Total Active Calls")) {else if(strstr(readbuf,"Active TDM channels")) {// printf("22222222222222222\n");sscanf(readbuf,"Total Active Calls: %s",active_count);sscanf(readbuf,"Active TDM channels: %s",active_count);mark=1;}if(mark==1) {break;}}
// printf("active_count=%s\n",active_count);ret=fclose(fp);if(fp==NULL) {fprintf(stderr,"popen() error.\n");return -1;}return 0;
}int main(int argc, char *argv[]) {int ret;char sh_cmd[LEN];char active_count[LEN];char high_count[LEN];char total_count[LEN];char active_ip_addr[LEN];if(argc<=1) {// printf("%s %s\n",argv[0],"auto_ssh_audiocode_212_32.sh | auto_ssh_audiocode_212_32.sh");printf("example: %s %s\n",argv[0],"auto_ssh_audiocode_212_32.sh");exit(-1);}sprintf(sh_cmd,"%s%s",TCL_CMD,argv[1]);
// printf("sh_cmd=%s\n",sh_cmd);memset(active_count,0,LEN);strcpy(active_count,"0");// ret=parse_status(sh_cmd,active_count,high_count,total_count);ret=parse_status(sh_cmd,active_count);if(ret!=0) {fprintf(stderr,"parse_status() error.\n");exit(-1);}/*printf("active_count=%s\n",active_count);printf("high_count=%s\n",high_count);printf("total_count=%s\n",total_count);
*/exitstatus=OK;
// sprintf(status_information,"active_count=%s, high_count=%s, total_count=%s",active_count,high_count,total_count);sprintf(status_information,"active_count=%s",active_count);
// sprintf(performance_data,"active_count=%s;;;; high_count=%s;;;; total_count=%s;;;;",active_count,high_count,total_count); sprintf(performance_data,"active_count=%s;;;;",active_count); // printf("%s: %s | %s\n",exit_status[exitstatus],status_information,performance_data);printf("%s\n",active_count);return exitstatus;
}
zabbix监控之奥科语音网关M10K电话并发数相关推荐
- 使用zabbix监控数据并实现邮件、电话、微信报警
前言 zabbix 作为一款优秀的企业级开源监控系统,它可以采集和处理所有类型的监控数据,具有灵活的报警机制.与cacti 与 nagios相比,cacti画图比nagios漂亮,但是报警相对较弱,而 ...
- zabbix监控系统进阶专题篇(企业微信报警,邮箱报警,电话报警,监控数据库,监控磁盘性能)
一:zabbix配置文件详解 1. zabbix-server配置文件 Zabbix 日志 默认用文件记录,也可以发送给我们的 rsyslog 日志记录系统,如果我们 选择默认,则日志存放在LogFi ...
- zabbix 监控 db2_zabbix实战 - abm
参考: https://www.cnblogs.com/clsn/p/7885990.html#auto_id_15 https://my.oschina.net/logmm/blog/1844724 ...
- Zabbix监控笔记
主流的开源监控平台介绍有: mrtg (Multi Router Traffic Grapher)通过snmp协议得到设备的流量信息,并以包含PNG格式的图形的HTML文档方式显示给用户. cacti ...
- 一篇文章带你入门zabbix监控系统
目录 一.监控介绍 二.监控软件区别 三.zabbix监控架构 四.zabbix监控介绍 1.zabbix优点 2.zabbix缺点 3.zabbix监控系统监控对象 4.zabbix监控方式 五.z ...
- 【Zabbix监控一】zabbix的原理与安装
目录 一.监控介绍 1.监控目的 2.监控方法 3.监控核心 二.zabbix概述 1.zabbix的主要特点 2.Zabbix是什么 3.zabbix监控对象 4.Zabbix架构 4.1 serv ...
- 【Zabbix监控原理】
一.监控介绍 1.监控目的 监控是需要站在公司的业务角度去考虑,而不是针对某个监控技术的使用. 对系统不间断实时监控 实际上是对系统不间断的实时监控 实时反馈系统当前状态 监控某个硬件.或者系统,都是 ...
- 再有谁说不熟悉 Zabbix 监控系统,就把这个给他扔过去!
关注公众号,回复"1024"获取2TB学习资源! 监控概述 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源 网站/服务器 的可用性 参考: ...
- 手把手教你使用zabbix监控nginx
zabbix监控nginx,多亏了容哥(杨容)的帮忙,为了感谢容哥的帮助,写了这篇文章. 环境介绍: 服务器系统版本:CentOSrelease 6.6 (Final) 内核版本:Linux hk_n ...
最新文章
- 【转】gcc 编译使用动态链接库和静态链接库
- 【机器学习入门笔记2:OpenCV图片读取和展示】20190203
- ssh scp文件同步(先不搞了)
- matlab的guide怎么添加函数,整理:matlab如何添加m_map工具箱
- Vue——基础(对象、属性样式操作、条件、循环、事件、绑定)
- Spring Boot开发基础
- Shadow Map阴影贴图技术之探 【转】
- 电脑没有音频设备怎么办
- linux yml文件格式,YML 文件扩展名: 它是什么以及如何打开它?
- CentOS 7 校对时间 修改时区
- 一个关于意念(脑电波)的想法
- 小程序、APP、企业网站开发工具有哪些?如何使用软件开发工具?
- 在软件测试面试中,碰到这些「送命题」,大牛教你一招应对
- pgpool 主从流复制模式下的安装使用
- 华为机试2021答案
- android 球面 旋转 坐标系,天球坐标系和地球坐标系-GPS定位原理及应用-电子发烧友网站...
- 小学生图解排序算法:③直接插入排序
- 系统容错和容灾简要说明
- 8843 留学生form_报税季又来啦~2019留学生最新最详细的报税指南看过来!
- Ubuntu安装mwget