用Fabric自动推送nagios client脚本

简介:

线上的Nagios Client端的监控脚本因为业务需求又发生改动了,某业务集群差不多就有23台(下面的list只列出了8台),而且其中的一个业务需求脚本前前后后改动了4次,如果手动操作的话会累死人,幸亏有Fabric这个轻量级的自动化运维工具,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/python2.6
from  fabric.api  import  *
from  fabric.colors  import  *
from  fabric.context_managers  import  *
 
user  =  'ec2-user'
hosts  =  [ 'bidder1' , 'bidder2' , 'bidder3' , 'bidder4' , 'bidder5' , 'bidder6' , 'bidder7' , 'bidder8' ]
# hosts = ['bidder1',]
 
@task
def  put_task():
     print  yellow( "Put Local File to remote" )
     with settings(warn_only = True ):
         put( "/home/ec2-user/check_cpu_utili.sh" , "/home/ec2-user/check_cpu_utili.sh" )
         sudo( "cp /home/ec2-user/check_cpu_utili.sh /usr/local/nagios/libexec" )
         sudo( "chown nagios:nagios /usr/local/nagios/libexec/check_cpu_utili.sh" )
         sudo( "chmod +x /usr/local/nagios/libexec/check_cpu_utili" )
         sudo( "kill -9 `ps aux | grep nrpe | head -n1 | awk '{print $2}' `" )
         sudo( "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" )
         print  green( "Put File success and restart nagios nrpe service!" )
 
for  host  in  hosts:
     env.host_string  =  host
     put_task()
#put_task()




本文转自 抚琴煮酒 51CTO博客,原文链接:http://blog.51cto.com/yuhongchun/1681291,如需转载请自行联系原作者
目录
相关文章
|
9月前
|
开发框架 .NET 区块链
Hyperledger fabric部署链码(五)初始化与链码升级
fabric部署chaincode-go(智能合约)系列之五
131 0
|
9月前
|
测试技术 Go 区块链
Hyperledger fabric 测试环境部署
Hyperledger fabric 测试环境部署及相关问题解答
156 3
|
9月前
|
JavaScript 测试技术 Go
Hyperledger fabric部署链码(一)打包链码
fabric部署chaincode-go(智能合约)系列之一
155 0
|
9月前
|
存储 JSON 安全
Hyperledger fabric智能合约编写(一)
本篇文章主要对链码编写的主要思路和部分API进行梳理。
100 1
|
9月前
|
区块链
Hyperledger fabric部署链码(二)安装链码到fabric
fabric部署chaincode-go(智能合约)系列之二
|
9月前
|
Go API 区块链
Hyperledger Fabric相关概念介绍
在学习Hyperledger Fabric的过程中,初步对相关概念的了解。
141 0
Hyperledger Fabric相关概念介绍
|
9月前
|
JSON 区块链 数据格式
Hyperledger fabric部署链码(四)提交链码定义到channel
fabric部署chaincode-go(智能合约)系列之四
|
9月前
|
测试技术 API 区块链
Hyperledger fabric部署链码(三)批准链码定义
fabric部署chaincode-go(智能合约)系列之三
|
11月前
|
消息中间件 Java Kafka
Hyperledger Fabric 通道配置文件和容器环境变量详解
Fabric 节点的主配置路径为 FABRIC_CFG_PATH 环境变量所指向路径(默认为 /etc/hyperledger/fabric)。在不显式指定配置路径时,会尝试从主配置路径下查找相关的配置文件。
271 0
|
Java API 区块链
Hyperledger Fabric 2.x Java区块链应用
在上一篇文章中分享了智能合约的安装并使用cli客户端进行合约的调用;本文将使用Java代码基于fabric-gateway-java进行区块链网络的访问与交易,并集成SpringBoot框架。
862 0
Hyperledger Fabric 2.x Java区块链应用