/bin/env python import sys import logw import json import time import os import MySQLdb class imageMaker...zb.getAllItem() def getMonitorItemData(self): param_list = [] sql = """insert into zabbix_trans_log...itemname,value) select %s,%s,%s,%s,%s,%s,%s from dual where not exists(select 1 from zabbix_trans_log.../bin/env python from zabbixTool import * from dbtool import imageMaker import json import os import...multirun(args): pid = os.getpid() print "当前进程pid号 %s " % pid api_url = 'http://10.10.10.10/zabbix
/usr/local/zabbix/bin/ports.py { "data":[ { "{#PPORT}":"10050", "{#PNAME}":"zabbix_agentd"...}, { "{#PPORT}":"10051", "{#PNAME}":"zabbix_server"}, { "{#PPORT}":"9000", "{#PNAME}"... $1}' /usr/local/zabbix/scripts/warn.txt|grep -v "#"''' t = subprocess.Popen(args, shell=True, stdout...]# cat tcp_services.conf UserParameter=tcp_services, /usr/bin/python /usr/local/zabbix/bin/tcp_services.py...]# /usr/bin/python /usr/local/zabbix/bin/tcp_services.py { "data":[ { "{#PORT
先大概了解一下zabbix数据库结构: 1、groups表 ?...我python水平挺菜的,很多面向对象的功能都不知道咋用,求大神教育 0804编辑:重新整理了一份新的:http://lihuipeng.blog.51cto.com/3064864/1535454 #.../usr/bin/python #coding:utf-8 import MySQLdb import time,datetime #zabbix数据库信息: zdbhost = '192.168.1.1...' zdbuser = 'zabbix' zdbpass = 'zabbixreport' zdbport = 3306 zdbname = 'zabbix' #需要查询的key列表 keys = {... = ReportForm() zabbix.getInfo() zabbix.writeToXls() 生成xls文件我用了一个叫xlsxwriter的第三方库,这个库只能写不能读,感觉还可以
/usr/bin/python #coding:utf-8 import smtplib from email.mime.text import MIMEText import sys mail_host...[root@localhost ~]# chmod +x send.py [root@localhost ~]# python send.py 1181506874@qq.com zabbix checkok.../lib/zabbix/alertscripts/ 4.登录Zabbix主机,查看配置zabbix_server.conf,找到AlertScriptsPath取消注释....[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf [root@localhost ~]# vim /usr/local/zabbix/etc/...=/usr/lib/zabbix/alertscripts #解除注释,找到配置项 5.点击图形界面,选择管理->报警媒介.
下面是两个不同的python脚本,只是连接邮件服务器的方法不同,其他方法还是相同的 #!.../usr/bin/env python #-*- coding: UTF-8 -*- import smtplib import sys from email.mime.text import MIMEText...send_mail(to_email,subject,message): sender = 'xxxxx@163.com' receiver = to_email subject = 'python...邮件发送成功")else: print("邮件发送失败") 里面调用的是 server=smtplib.SMTP_SSL 经过我测试,只要网络波动不是很大,基本邮件都可以发送成功 下面是我更改后的,zabbix... #发送邮件的信息主体,发件人,收件人,内容 msg = MIMEText(message, 'plain', 'utf-8') msg['From'] = formataddr(["Zabbix
=${datadir}/zabbix/alertscripts #AlertScriptsPath=/usr/lib/zabbix/alertscripts AlertScriptsPath=/etc/...zabbix/alert 点击创建媒体类型,并关联默认动作报警 ?...最后,准备工作都已完成,将python脚本上传到第1步的路径中即可,此脚本的思路是通过动作报警中的itmeid去获取监控项的item值,并通过history.php获取图形,并提供url连接 将下面脚本中...#注意修改下面的zabbix地址 修改到你实际的zabbix server地址哦!.../usr/bin/python # -*- coding: utf-8 -*- import sys,os,re,smtplib,mimetypes,pycurl,json,urllib,StringIO
首先说一下坑的地方就是python2和python3的模块改变问题,当然精通python的可以略过。...46079 Dec 17 23:28 zabbix_host_add.xlsx 4.编写Python脚本,参考http://www.361way.com/zabbix-api-2/3681.html...上传Python脚本zabbix_host.py至zabbix服务器 [root@localhost temp]# ll total 1964 -rwxr-xr-x 1 root root 14644...localhost temp]# chmod +x zabbix_host.py #添加执行权限 执行脚本:python zabbix_host.py ?...我们用导入的xlsx文件这样用: python zabbix_host.py -L zabbix_host_add.xlsx 显示如下结果 证明添加成功: ?
/usr/bin/python coding: utf-8 import smtplib import sys from email.mime.text import MIMEText _user =...smtp.qq.com", 465) s.login(_user, _pwd) s.sendmail(_user, to, msg.as_string()) s.quit() with open('/tmp/zabbix.log
5)用Python脚本读扫描结果文件,把主机名写到列表里面。 6)用Zabbix python API 调用已经监控的主机名,写到列表里面。 7)两个列表取交集,用for循环判断哪些主机名没有监控。...下面我分享一下我写的Python写的脚本,其中scan_machine.sh是我调用的用Shell写的关于Nmap扫描的脚本,scan_hostname.log是Nmap扫描的结果,里面内容是IP 主机名.../usr/bin/env python#create by:sfzhang 20140820#coding=utf-8import os,sysimport jsonimport urllib2import...总结: 1)Zabbix API相关信息可以查看官方详细资料,看不懂英文的可以参考下面这篇文档。...http://paperplane.ruhoh.com/zabbix/intro-to-zabbix-api/ 2)通过该脚本可以知道那些主机没有添加监控,希望对大家有帮助,如果有更好的解决方法欢迎多多交流
/usr/bin/python #_*_coding:utf-8 _*_ import urllib,urllib2 import json import sys import simplejson...access_token=' + access_token send_values = { "touser":"BigBoss", #企业号中的用户帐号,在zabbix用户Media...send_request).read()) print str(response) if __name__ == '__main__': user = str(sys.argv[1]) #zabbix...传过来的第一个参数 subject = str(sys.argv[2]) #zabbix传过来的第二个参数 content = str(sys.argv[3]) #zabbix传过来的第三个参数
Zabbix为我们提供了API,我们可以通过调用API来获取我们想要的数据。 并且,Python中已经有写好的第三方库pyzabbix了,我们可以直接使用。 ?...ZABBIX_SERVER = 'http://10.1.1.0/zabbix' zapi = ZabbixAPI(ZABBIX_SERVER) zapi.login('Admin', 'zabbix...三、调用Zabbix API进行其他操作 使用Zabbix API除了可以在Zabbix上获取数据,也可以向Zabbix添加数据,如添加监控项、导入模板等....四、pyzabbix与py-zabbix 在Python中,除了pyzabbix外,还有另一个库叫py-zabbix,中间有一个横杠,所以在安装和使用的时候不要弄混了。...='zabbix_host', zabbix_port=10051).send(packet) 注意:在Python中导包时py-zabbix中间的横杠要去掉。
备份 ZABBIX Server文件 mkdir /zabbix-backup cp /etc/zabbix/zabbix_server.conf /zabbix-backup/ cp /etc/zabbix.../zabbix_agentd.conf /zabbix-backup/ cp /etc/zabbix/web/zabbix.conf.php /zabbix-backup/ cp -R /usr/share.../zabbix/ /zabbix-backup/ cp –R /usr/share/doc/zabbix-* /zabbix-backup/ ZABBIX Server升级操作 1.停止ZABBIX-Server...= 'zabbix'; ZABBIX 4.0.6 比 ZABBIX 3.4.14 数据库新增4个表 ?...2.升级ZABBIX Proxy 升级zabbix proxy yum源 rpm –Uvh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/\zabbix-release
/usr/bin/env python #-- coding: utf8 -- import sys import requests import json def sendsms(phone, subject
Zabbix 是一款强大的开源网管监控工具,该工具的客户端与服务端是分开的,我们可以直接使用自带的zabbix_get命令来实现拉取客户端上的各种数据,在本地组装参数并使用Popen开子线程执行该命令,...封装Engine类: 该类的主要封装了Zabbix接口的调用,包括最基本的参数收集. import subprocess,datetime,time,math class Engine():
/usr/bin/env python # -*- coding: utf-8 -*- import urllib.request import http.cookiejar import urllib.parse
json.dumps( { "jsonrpc": "2.0", "method": "user.login", "params": { "user": "Admin", "password": "zabbix..." }, "id": 0 }) 2、 获取zabbix所有的主机组 request json data = json.dumps( { "jsonrpc":"2.0", "method
192.168.100.26 zabbix-mysql 192.168.100.26 zabbix 安装 https://www.zabbix.com/documentation/5.0/zh/manual...#产品手册 Zabbix-server 安装配置 下载安装:https://www.zabbix.com/download?...zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=nginx zabbix-serber 安装 Install Zabbix repository...yum install -y wget wget https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm.../zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid
使用python的zabbix_api模块,以下是简单的zabbix api的使用 zabbix api文档参考https://www.zabbix.com/documentation/2.2/manual.../api/reference 安装zabbix_api模块 easy_install zabbix_api或者pip install zabbix_api安装模块 在zabbix上创建主机: vim...create_host.py #/usr/bin/env python from zabbix_api import ZabbixAPI import sys server = "http://172.16.133.133.../zabbix" username = "Admin" password = "zabbix" zapi = ZabbixAPI(server=server, path="", log_level=0)... [{"templateid": template_id}],"inventory_mode": -1,"name": "za bbix_test"}) print create_host python
最近部署ZABBIX的邮件告警时,用刚学的python来写告警邮件脚本。 python代码如下 #!.../usr/bin/python #coding:utf-8 import smtplib from email.mime.text import MIMEText import sys mail_host....com' mail_pass = 'XXXX' mail_postfix = '163.com' def send_mail(to_list,subject,content): me = "zabbix...etc/zabbix/alertscripts 然后重启zabbix 服务 在zabbix中添加 media types,注意parameter中的值一定要写入,注意script name中的脚本文件名字...,要和刚刚编写的Python文件名一致 ?
之前再和朋友一起讨论之后,从一个牛逼公司得来的整体shell告警方案,今天看来这个比较牛逼的Python技术再次刷新了我对Python重新认识!!...一、收敛架构图 ①所有产生告警均由zabbix调用脚本推入缓存redis当中 ②分析系统将在规定时间(1分钟)内去redis中拉取数据,根据定义好的一系列规则进行,合并、分析或直接丢弃,并存入分析平台数据库...二、对zabbix 进行设置 1.zabbix Actions 对Actions进行特殊设置,Default subject极为重要,是识别收敛的标示。 ?...police.py–报警函数:zabbix告警是调用此函数,将事件id推入redis。...redis 安装查看第三部分 /usr/local/zabbix/share/zabbix/alertscripts/police.py #!
领取专属 10元无门槛券
手把手带您无忧上云