自动安装zabbix_agent脚本 -- python2
#!/usr/bin/env python
# -*- coding: utf-8 -*- import os ZABBIX_SERVER_IP='10.171.100.28' if os.path.exists('/usr/local/zabbix-agent'):
print """
****************************************************************
* zabbix_agentd已安装,若要重装,请删除/usr/local/zabbix-agent/ *
****************************************************************"""
os._exit(0) print '选择被监控机的类型:1-WEB,2-ORACLE,3-MYSQL,4-REDIS,Q-QUIT'
choice = raw_input()
result = ''
if choice == '1':
result = 'WEB_'
elif choice == '2':
result = 'ORACLE_'
elif choice == '3':
result = 'MYSQL_'
elif choice == '4':
result = 'REDIS_'
else:
os._exit(0)
print '...创建zabbix用户'
g = os.system('cat /etc/group | grep zabbix')
if g != 0 :
os.system('groupadd zabbix')
else:
print '...zabbix组已存在' u = os.system('cat /etc/passwd | grep zabbix')
if u != 0 :
os.system('useradd -g zabbix zabbix -s /sbin/nologin')
print '...zabbix用户创建成功'
else:
print '...zabbix用户已存在' print '...下载zabbix安装包'
os.chdir('/tmp')
os.system('wget http://10.171.100.28/download/zabbix-3.2.7.tar.gz')
print '...下载完毕,开始解压'
os.system('tar -zxvf zabbix-3.2.7.tar.gz')
print '...解压完毕,开始安装'
os.chdir('/tmp/zabbix-3.2.7')
os.system('./configure --prefix=/usr/local/zabbix-agent --enable-agent')
os.system('make install')
print '...获取本机ip'
myip = os.popen("ip add show | grep inet | grep eth0 | awk '{print $2}' | awk -F/ '{ print $1}' | head -n 1")
myip = myip.read().strip()
print('...配置zabbix_agentd.conf') hostname=result+myip
f = open('/usr/local/zabbix-agent/etc/zabbix_agentd.conf', 'w')
f.write("""LogFile=/var/log/zabbix/zabbix_agentd.log
Server=%s
Hostname=%s """ % (ZABBIX_SERVER_IP,hostname))
f.close
print('...配置zabbix_agentd.conf完毕')
os.system('mkdir /var/log/zabbix')
os.system('touch /var/log/zabbix/zabbix_agentd.log')
os.system('chown zabbix:zabbix /var/log/zabbix/zabbix_agentd.log')
os.system('rm -rf /tmp/zabbix*') print """
***********************************************************
* The zabbix_agentd is installed *
* *
* Now run *
* /usr/local/zabbix-agent/sbin/zabbix_agentd *
***********************************************************"""
注:
使用
'wget http://10.171.100.28/download/zabbix-3.2.7.tar.gz' 下载文件的话,需要在nginx中如下配置

并且 将 zabbix-3.2.7.tar.gz 安装包拷入相应目录。
修改版:
上面版本没有将zabbix_agent添加到 /etc/init.d/ 下,并且不能自动启动 zabbix_agent (因为在脚本执行过程中向zabbix_agent配置文件中添加配置,
在此脚本执行完毕之前调用启动命令总是报 配置 错误,应该是本次脚本没执行完时,配置还没写进去,故下面分成两个脚本) agent_setup.py:
#!/usr/bin/env python
# -*- coding: utf-8 -*- import os os.chdir('/tmp/')
os.system('wget http://10.171.100.28/download/install_zabbix_agent.py')
os.system('python install_zabbix_agent.py')
os.system('/etc/init.d/zabbix_agentd start')
os.system('netstat -nltp | grep zabbix')
print """
***********************************************************
* The zabbix_agentd is started *
***********************************************************"""
install_zabbix_agent.py
#!/usr/bin/env python
# -*- coding: utf-8 -*- import os ZABBIX_SERVER_IP='10.171.100.28' if os.path.exists('/usr/local/zabbix-agent'):
print """
****************************************************************
* zabbix_agentd已安装,若要重装,请删除/usr/local/zabbix-agent/ *
****************************************************************"""
os._exit(0) print '选择被监控机的类型:1-WEB,2-ORACLE,3-MYSQL,4-REDIS,Q-QUIT'
choice = raw_input()
result = ''
if choice == '1':
result = 'WEB_'
elif choice == '2':
result = 'ORACLE_'
elif choice == '3':
result = 'MYSQL_'
elif choice == '4':
result = 'REDIS_'
else:
os._exit(0)
print '...创建zabbix用户'
g = os.system('cat /etc/group | grep zabbix')
if g != 0 :
os.system('groupadd zabbix')
else:
print '...zabbix组已存在' u = os.system('cat /etc/passwd | grep zabbix')
if u != 0 :
os.system('useradd -g zabbix zabbix -s /sbin/nologin')
print '...zabbix用户创建成功'
else:
print '...zabbix用户已存在' print '...下载zabbix安装包'
os.chdir('/tmp')
os.system('wget http://10.171.100.28/download/zabbix-3.2.7.tar.gz')
print '...下载完毕,开始解压'
os.system('tar -zxvf zabbix-3.2.7.tar.gz')
print '...解压完毕,开始安装'
os.chdir('/tmp/zabbix-3.2.7')
os.system('./configure --prefix=/usr/local/zabbix-agent --enable-agent')
os.system('make install')
print '...获取本机ip'
myip = os.popen("ip add show | grep inet | grep eth0 | awk '{print $2}' | awk -F/ '{ print $1}' | head -n 1")
myip = myip.read().strip()
print('...配置zabbix_agentd.conf') hostname=result+myip
f = open('/usr/local/zabbix-agent/etc/zabbix_agentd.conf', 'w')
f.write("""LogFile=/var/log/zabbix/zabbix_agentd.log
Server=%s
ServerActive=%s
Hostname=%s """ % (ZABBIX_SERVER_IP,ZABBIX_SERVER_IP,hostname))
f.close
print('...配置zabbix_agentd.conf完毕')
os.system('mkdir /var/log/zabbix')
os.system('touch /var/log/zabbix/zabbix_agentd.log')
os.system('chown zabbix:zabbix /var/log/zabbix/zabbix_agentd.log')
os.chdir('/etc/init.d/')
os.system('wget http://10.171.100.28/download/zabbix_agentd')
os.system('chmod +x /etc/init.d/zabbix_agentd')
os.system('chkconfig --level 345 zabbix_agentd on')
os.system('rm -rf /tmp/zabbix*') print """
***********************************************************
* The zabbix_agentd is installed *
***********************************************************"""
自动安装zabbix_agent脚本 -- python2的更多相关文章
- 实用脚本----Linux下Jdk和Tomcat自动安装shell脚本总结
系统环境为:ubuntu 14.04 一.JDK 自动安装脚本 jdk自动安装bash shell脚本,截止今天(2014/10/15)亲测可用: sudo su #切换到root权限 mkdir / ...
- hadoop自动安装的脚本与步骤
最近要在10几台机器上安装hadoop.对于这种繁复而重复的工作,一步步的打命令行,对于程序员来说是一件不能忍的事情.所以我就琢磨着怎么写一个脚本来自动安装hadoop. 任务: 在10几台机器上中的 ...
- pgsql自动安装shell脚本整理
前面不断在vm虚拟机上测试pgsql,发觉安装还是有些麻烦的. 所以就收集了一些 1,http://www.davidghedini.com/pg/entry/postgresql_9_5_scrip ...
- Linux通用KVM自动安装Shell脚本(兼容所有Linux发行版/CentOS/Ubuntu)
官网: https://github.com/retspen/webvirtmgr/wiki/Setup-Host-Server 安装: wget -O - https://retspen.githu ...
- centos自动安装镜像脚本
#!/bin/bash ######################################################################################## ...
- 可以自动安装mysql数据库的一个shell脚本
发布:thatboy 来源:脚本学堂 [大 中 小] 分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友 ...
- Linux学习之源码包安装与脚本安装(十八)
Linux学习之源码包安装与脚本安装 目录 源码包与RPM包的区别 源码包安装 脚本安装 源码包与RPM包的区别 1.区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 源码包: 开源的 ...
- python3自动安装脚本,python3.x与python2.x共存
1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且 ...
- Centos6.5+Python2.7 +ffmpeg+opencv2自动安装脚本
今天安装opencv折腾了多个小时,为以后安装少走弯路,脚本安装 完整 脚本如下: #! /bin/bash sudo yum install -y gcc g++ gtk+-devel libjpe ...
随机推荐
- 2018.06.29 NOIP模拟 繁星(前缀和)
繁星 [问题描述] 要过六一了,大川正在绞尽脑汁想送给小伙伴什么礼物呢.突然想起以前拍过一张夜空中的繁星的照片,这张照片已经被处理成黑白的,也就是说,每个像素只可能是两个颜色之一,白或黑.像素(x,y ...
- hdu-1143(简单dp)
题目链接: 思路:利用前一个状态找到本次状态需要的次数,就是递推. 建立一个二维数组dp[i][j] ,i表示行,j表示多余的格子. 可以分为三种状态dp[i][0], dp[i][1] ,dp[i] ...
- k8s容器挂载配置文件
1.新建ConfigMap apiVersion: v1 kind: ConfigMap metadata: name: test-conf namespace: default labels: na ...
- 双击tr获取td
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 全国各地dns服务器列表
211.103.13.101 江苏省无锡市 移动DNS服务器 211.136.28.231 北京市 移动DNS服务器 211.136.28.234 北京市 移动DNS服务器 211.136.28.23 ...
- 前端程序员经常忽视的一个 JavaScript 面试题
题目 function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () { ...
- 配置 cxf-ws spring bean 文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- FuelPHP 简体中文手册
FuelPHP中文手册 FuelPHP是一个简单的.灵活的.社区驱动的PHP 5.3 web框架,它基于其他框架的最佳思想,是一个全新的开始. 他的诞生源自于很多开发社区对于现有开发框架的不满,Fue ...
- SQLite数据库下载、安装和学习
SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使用方便.结构紧凑.高效.可靠.与其他数据库管理系统不同,SQLite 的安装和运行非常 ...
- Qt .pro文件 详解
1. TEMPLATE变量TEMPLATE描述了为建立目标文件而采用何种模板,即生成何种形式的Makefile文件.Qmake工具定义了5种模板:1. 应用程序App,为建立一个Qt应用程序创建Mak ...