zabbix统一脚本监控方式

几周的zabbix使用之后几点心得,暂时记在这儿

  1. 简单命令监控,直接配置Userparameter参数,以应用来分类conf文件,将不同应用的配置写在不同的conf文件里,并将之放到统一的配置引入目录,每次修改均要重启zabbix-agent;配置文件的修改统一配置方式参考svn(这种方式文件检出会覆盖linux系统文件权限及所有者,每次更新后要修改权限等不太方便)、使用salt在salt-master文件目录入svn并在更新后以salt cp.get_file方式配置到各服务器上(该方式不会覆盖权限及所有者)。
  2. 脚本监控,原本以脚本对应parameter的配置方式实施,但感觉这种方式比较繁杂。可以提取parameter共性,利用带参数的Userparameter配置实现one key for all的功能。比如配置:

    Userparameter=script.run[*],/var/lib/zabbix/$1 $2 $3

    前提是配置好$1脚本的可执行权限。该方式注意脚本统一路径,权限等。

  3. 经常会遇到从http以json形式取监控数据,这种方式采用中间文件的形式实现。有json的fetch脚本,还有json内容提取脚本,不同监控需求一般需要单独的json fetch脚本,原本从json提取内容也是与之对应的有多个,现在感觉使用统一的json文件属性提取脚本方式比较合理。 中间文件命名程序化,尽量少用固定常量。另外在json fetch脚本记录错误日志。
  4. zabbix报警信息格式个性化,正在使用的解决方案是通过给trigger名称加标签(标签使用预定义全局宏),标签区分不同模板(标签会在使用脚本发送信息的时候被过滤)。
  5. 上一点提到,既然发送信息使用的是脚本,那么完全可以在发信息脚本层面做信息格式整理的封装。这种方式也是下一步要重构的目标。
时间: 2024-10-16 20:45:44

zabbix统一脚本监控方式的相关文章

线上使用zabbix报警脚本(含图片)

分享一个线上使用的自定义zabbix报警脚本,脚本思路大致如下: 1.使用爬虫获取报警图片(前提是要获得报警的item) 2.将图片与邮件内容整合 3.发送邮件 4.日志记录 脚本内容如下: #!/usr/bin/python #coding:utf-8 import sys,time,re,os,glob import smtplib from email.mime.text import MIMEText from email.mime.image import MIMEImage from

zabbix使用脚本发送外网邮件告警(msmtp + mutt)

1.安装msmtp和mutt 相关软件可自行网上搜索 1.1.msmtp安装 tar  -xf  msmtp-1.6.2.tar.xz              cd  msmtp-1.6.2              ./configure              make  &&  make  install 1.2.mutt安装 yum  -y  install  mutt 2.配置msmtp和mutt 2.1.配置msmtp vim /usr/local/etc/msmtprc 

zabbix通过脚本发短信

zabbix通过脚本发短信 原理 和zabbix发邮件是一样的,都是在action里面配置,发短信的方式是通过调用短信公司的api来完成,当然网上有不少利用139邮箱来发的,这个其实算调用email的一种,这里复述的是调用script的方法. step 编写发短信的脚本.加上可执行权限. administration-> medis types 里面create ,类型选script,填上你的脚本名称. 在server的配置文件里面指定AlertScriptsPath .注意这个目录能被zabb

zabbix通过脚本发送短信

zabbix通过脚本发送短信 原则 和zabbix电子邮件是一样的,他们是action内部配置,司的api来完毕.当然网上有不少利用139邮箱来发的,这个事实上算调用email的一种,这里复述的是调用script的方法. step 编写发短信的脚本.加上可运行权限. administration-> medis types 里面create .类型选script.填上你的脚本名称. 在server的配置文件中面指定AlertScriptsPath . 注意这个文件夹能被zabbix 訪问到. 重

zabbix自定义脚本做监控及自制模板初探

一.说明 zabbix监控支持自定义脚本以及自制模板来扩展监控,换句话说就是对业务自定义监控;因此通过撰写脚本完成自定义监控十分有必要;这里的脚本既可以用shell也可以用python等语言;另外自定义了脚本主要目的是获取业务相关的监控数据;还需要结合zabbix web GUI上的模板才能生效;本文的目的就是基于之前的zabbix相关部署操作之后的补充! 任务:通过撰写脚本获取tcp 的各种状态,添加tcp状态模板,添加触发器;添加图形:完整实现脚本自定义监控的整个步聚流程! 二.agent端

关于在zabbix监测脚本中使用ps命令监控进程CPU使用率和内存使用率,获得数据为0的情况描述

前提:想自己编写zabbix监测脚本,然后通过配置模板的方式,实现对资源(cpu和内存)使用率高的进程进行监控. 过程描述:zabbix版本为2.21,被监控主机操作系统为CentOS 6.4.脚本中主要命令如下:percent=0; #通过脚本输入参数process=$1; #通过ps aux参数,获取CPU%和MEM%值,使用awk将第四行的MEM%值筛选出来percent=ps aux | grep $process | grep -v grep | head -1 | awk '{pri

Python一键添加Zabbix监控脚本

由于时间关系没有在脚本里把创建主机组和模板的功能,只是单单实现了添加主机的功能 zabbix_tools.py #!/usr/bin/python #coding:utf-8 import json import urllib2 from urllib2 import URLError import sys class ZabbixTools: def __init__(self): self.url = 'http://lihuipeng.blog.51cto.com/zabbix/api_j

ansible 部署 zabbix客户端 脚本

[[email protected] ~]# tree ansible ansible ├── get-pip.py ├── hosts ├── roles │   └── zabbix │       ├── default │       ├── files │       │   ├── tcp_status.conf │       │   ├── tcp_status.log │       │   └── tcp_status.sh │       ├── handlers │   

zabbix自定义脚本

客户端 1.编辑/etc/zabbix/zabbix_agentd.conf [[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf # Mandatory: no # Range: 0-1 # Default: UnsafeUserParameters=1 UserParameter=my.net.if[*],/usr/local/sbin/zabbix/net.sh $1 $2 解释说明: UserParameter用来自定义键值,