博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python一键修改zabbix客户端配置
阅读量:6153 次
发布时间:2019-06-21

本文共 1618 字,大约阅读时间需要 5 分钟。

hot3.png

自动获取zabbix客户端指定网卡的ip,修改防火墙开放zabbix端口,完成后启动zabbix客户端。

执行结果如下

#!usr/bin/env python

#coding:utf-8
import socket
import fcntl
import struct
import time
import commands
def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(s.fileno(),0x8915,struct.pack('256s', ifname[:15]))[20:24])

client_ip=get_ip_address('eth0')

#print client_ip这个是第一块网卡的ip可以指定别的,这个是我测试用的,要确保这个网卡上的ip能够和zabbix服务器的网络是能够直接通信的。
def modifyip(tfile,sstr,rstr):
    try:
        lines=open(tfile,'r').readlines()
        flen=len(lines)-1
        for i in range(flen):
            if sstr in lines[i]:
                lines[i]=lines[i].replace(sstr,rstr)
#                print lines[i]
        open(tfile,'w').writelines(lines)
    except Exception,e:
        print e
modifyip('/etc/zabbix/zabbix_agentd.conf','127.0.0.1','192.168.19.137')
print "zabbix server ip已经修改完成"
modifyip('/etc/zabbix/zabbix_agentd.conf','Zabbix server',client_ip)
print "Zabbix客户端ip已经修改完成"
time.sleep(3)
print "3秒后修改iptables"
cmd1="iptables -A INPUT -s 192.168.19.137/32 -p tcp -m tcp --dport 10050:10051 -j ACCEPT"
cmd2="iptables -A INPUT -s 192.168.19.137/32 -m udp -p udp --dport 10050:10051 -j ACCEPT"
cmd3="/etc/init.d/iptables save"
cmd4="/etc/init.d/iptables restart"
cmd5="/etc/init.d/zabbix-agent start"
cmd6="/etc/init.d/zabbix-agent status"
commands.getoutput(cmd1)
commands.getoutput(cmd2)
commands.getoutput(cmd3)
commands.getoutput(cmd4)
print "iptables已经修改完成"
print "3秒后启动zabbix 客户端"
time.sleep(3)
commands.getoutput(cmd5)
print "zabbix 客户端已经启动完成"

zabbix_status=commands.getoutput(cmd6)

if zabbix_status:

    print "zabbix 客户端状态如下"

    print zabbix_status

 

转载于:https://my.oschina.net/luoyedao/blog/733811

你可能感兴趣的文章
发现一个叫阿尔法城的小站(以后此贴为我记录日常常用网址的帖子了)
查看>>
Subversion使用Redmine帐户验证简单应用、高级应用以及优化
查看>>
Javascript Ajax 异步请求
查看>>
DBCP连接池
查看>>
cannot run programing "db2"
查看>>
mysql做主从relay-log问题
查看>>
Docker镜像与容器命令
查看>>
批量删除oracle中以相同类型字母开头的表
查看>>
Java基础学习总结(4)——对象转型
查看>>
BZOJ3239Discrete Logging——BSGS
查看>>
SpringMVC权限管理
查看>>
spring 整合 redis 配置
查看>>
redhat6.1下chrome的安装
查看>>
cacti分组发飞信模块开发
查看>>
浅析LUA中游戏脚本语言之魔兽世界
查看>>
飞翔的秘密
查看>>
Red Hat 安装源包出错 Package xxx.rpm is not signed
查看>>
编译安装mysql-5.6.16.tar.gz
查看>>
类与成员变量,成员方法的测试
查看>>
活在当下
查看>>