zabbix自定义模板,邮件报警,代理服务器,自动发现与自动添加及snmp

2023-09-22 10:17:37

 1.自定义监控内容

zabbix监控模板大全:

www.zabbix.com/integration…

监控案例1:登录人数检测 

需求:某公司确定已经安装好zabbix监控系统,限制某台服务器登录人数不超过 3 个,超过 3 个就发出报警信息 。该服务器(192.168.73.114)已经添加至zabbix监控系统中

具体步骤 
 步骤一:在客户端创建自定义 key
//在客户端创建自定义 key
1.明确需要执行的 linux 命令
who | wc -l
 
2.创建 zabbix 的监控项配置文件,用于自定义 key
vim /etc/zabbix/zabbix_agent2.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
268 Include=/etc/zabbix/zabbix_agent2.d/*.conf
#自定义监控项的格式如下
291 #	Format: UserParameter=<key>,<shell command>
 
cd /etc/zabbix/zabbix_agent2.d/
 
vim UserParameter_login.conf
UserParameter=login.user,who|wc -l
 
systemctl restart zabbix-agent2
 
3.在服务端验证新建的监控项
zabbix_get -s '192.168.73.114' -p 10050 -k 'login.user'

 

步骤二:在 Web 页面创建自定义监控项模板  

1)创建模板
点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Templates
【描述】可自定义
点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User 了

2)创建应用集(用于管理监控项的)

点击上方菜单栏【应用集】,点击【创建应用集】
【名称】设置成 Login User
点击 【添加】

 

3)创建监控项
点击上方菜单栏【监控项】,点击【创建监控项】
【名称】设置成 Number of login users
【键值】设置成 login.user           
【更新间隔】设置成 10s
【历史数据保留时长】Storage period    30d        #保留时间可自定义设置
点击 【添加】

4)创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)
点击上方菜单栏【触发器】,点击【创建触发器】
【名称】设置成 Number of login users is greater than 3
【严重性】设置成 一般严重
【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
点击 【添加】

 

5)创建图形
 点击上方菜单栏【图形】,点击【创建图形】
【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值
【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
点击 【添加】

 

 

6)将主机与模板关联起来(一个主机可以关联多个模板)
 点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
点击上方菜单栏【模板】,【Link new tamplates】搜索 login,选择 Template Login User,点击【更新】

此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标

登录检测测试 

在xshell中连续连接三个192.168.73.114的会话 

 

 

案例2:nginx服务状况的检测 

需求:某公司要求对自己公司业务中nginx服务的各方面状况进行检测

 rpm -Uvh  http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum -y install nginx   //安装nginx
systemctl start nginx   //启动nginx

 步骤一:修改nginx的配置文件
cd /etc/nginx/conf.d
vim default.conf
 
server {
...................
 location /nginx_status {
       stub_status on;
       access_log off;
       allow 127.0.0.1;
       allow 192.168.73.0/24;
       deny all;
...........................
}
 
nginx -t 
systemctl start nginx

 

步骤二:进行nginx状态检查脚本编写 ,添加zabbix监控键

nginx状态的基本了解: 

 

cd/opt
vim zabbix_nginx.sh
#/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts
 
HOST="localhost"
PORT=80
stub_status="stub_status"
NGINX_COMMAND=$1
 
nginx_check() {
    if [ -f /sbin/pidof ]; then
       /sbin/pidof nginx | wc -w
    else
       ps aux | grep -v "grep" | grep -c "nginx:"
    fi
}
 
nginx_active(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Active/ {print $NF}'
}
 
nginx_reading(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Reading/ {print $2}'
}
 
nginx_writing(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Writing/ {print $4}'
}
 
nginx_waiting(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Waiting/ {print $6}'
}
 
nginx_accepts(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $1}'
}
 
nginx_handled(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $2}'
}
 
nginx_requests(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $3}'
}
 
case $NGINX_COMMAND 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 zabbix_nginx.sh 
 
//进行测试
./zabbix_nginx.sh check

 

添加zabbix监控键:

 cd /etc/zabbix/zabbix_agent2.d
vim UserParameter_nginx.conf
UserParameter=nginx.status[*],/opt/zabbix_nginx.sh $1
 
//服务端测试
zabbix_get -s '192.168.73.114' -p 10050 -k nginx.status[check]

 

 

更多推荐

IM即时通讯系统[SpringBoot+Netty]——梳理(总)

文章目录一、为什么要自研一套即时通讯系统1、实现一个即时通讯系统有哪些方式1.1、使用开源产品做二次开发或直接使用1.2、使用付费的云服务商1.3、自研2、如何自研一套即时通讯系统2.1、早期即时通讯系统是如何实现2.2、一套即时通讯系统的基本组成2.3、当下的即时通讯系统常用架构2.4、总结二、基础数据的开发1、导入

springboot班级综合测评管理系统springboot005

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路,向着优秀程序员前行!🍅更多优质项目👇🏻👇🏻可点击下方获取🍅文章底部或评论区获取🍅Java项目精品实

【Docker】华为云服务器安装 Docker 容器

简介Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销

海外媒体宣发:海外媒体发稿6种方式方法分享

科学创新在这个时代中起着了至关重要的作用。做为科谱网络写手,大家要不断找到新的专用工具来提高我们自己的文章内容品质和质量。在这篇文章中,我们将给大家分享6个通过美联社检验的发稿神器,帮你的科普文章如鱼得水。1.现状分析专用工具在编写科普文章以前,我们应该对于目标读者背景、兴趣和爱好认知度等方面进行详细分析。那样才能真正

使用结构体组织相关联的数据(5)

使用结构体组织相关联的数据5.使用结构体组织相关关联的数据1.结构体的定义和实例化1.1定义结构体1.2创建结构体的实例1.3使用字段初始化简写语法1.3使用结构体更新语法从其他实例创建实例1.使用旧的实例创建新实例2.\.\.语法创建实例(旧实例为基础)1.4使用没用命名字段的元组结构体来创建不同的类型1.5没有任何

期权开户流程、交易时间和规则详解清晰易懂

本文将介绍期权开户流程、交易时间和规则详解清晰易懂则,包括期权的定义、期权交易的时间、期权交易的规则和期权交易的风险。本文的结论是,期权交易的时间和规则非常重要,应该遵守交易规则,并且要注意风险。本文来源:期权酱券商开通期权账户和期权分仓平台的开户流程是不同的,一般情况如下:一、券商开通期权账户1.投资者需要在有资质的

Python函数绘图与高等代数互溶实例(二): 闪点函数

Python函数绘图与高等代数互溶实例(一):正弦函数与余弦函数Python函数绘图与高等代数互溶实例(二):闪点函数Python函数绘图与高等代数互溶实例(三):设置X|Y轴|网格线一:函数plot(),展示变量的变化趋势importnumpyasnpimportmatplotlib.pyplotaspltfromp

Python和Pandas对事件数据的处理:以电动汽车充电数据为例

1、数据电动汽车的充电数据形式如下订单号充电开始时间充电完成时间订单/时段总充电量(KWh)尖时电量峰时电量平时电量谷时电量2023020105000026122023-02-0100:03:262023-02-0100:40:5228.4410.0000.0000.00028.44120230201050000457

基于vue3 的 Echarts图表展示(任务一:用柱状图展示消费额最高的省份)(操作全流程)(图文版)

目录前言:操作要求:操作流程:一.创建vue项目1.在vscode上创建vue脚手架工程二.配置运行环境2.配置axios(用于访问接口)和引入echarts包3.引入需要用到的js包三.开始实践做题(最后附有完整代码)1.获取接口数据2.数据处理3.echarts图表展示4.最终效果图4.完整参考代码前言:这篇是一个

如何提升网站排名优化(百度SEO优化,轻松提升排名)

在当今互联网时代,拥有一个优秀的网站是很重要的。而一个网站如果能够在搜索引擎上的排名很靠前,那么将会带来更多的流量、更多的用户和更多的利润。那么如何提升网站排名优化呢?蘑菇号www.mooogu.cn百度SEO优化的5个规则1.关键词选取要合理,不要过度堆砌;2.网站结构要简单明了,易于搜索引擎爬取;3.网站内容要原创

Python进阶复习-自带库

目录random库collection库Counter函数namedtuple函数deque函数itertools库enumarate函数zip函数product函数random库random.random():生成一个0到1之间的随机浮点数。random.uniform(a,b):生成一个在a和b之间均匀分布的随机浮

热文推荐