基于Python2.7的阿里云API调用及运维相关
基于Python2.7的阿里云API调用及运维相关http://blog.chinaunix.net/uid-17291169-id-5212576.html公司部分业务放在阿里云上面,虽然阿里云管理平台本身有自己的监控后台,但是公司也有自己独立的zabbix监控系统,目前要做的就是把阿里云的监控转移到自己公司的监控系统,需要使用到阿里云的API,API的使用分以下2种方式1.使用阿里...
·
公司部分业务放在阿里云上面,虽然阿里云管理平台本身有自己的监控后台,但是公司也有自己独立的zabbix监控系统,目前要做的就是把阿里云的监控转移到自己公司的监控系统,需要使用到阿里云的API,API的使用分以下2种方式
1.使用阿里云的Python SDK(python2.7),具体参考http://develop.aliyun.com/sdk/python?spm=5176.100054.0.0.tcU93U,示例代码:














2.使用原生的API,示例代码:























































































注意事项:确保运行脚本的主机时区时间无误(yum install ntpdate && ntpdate time.windows.com)
=========================阿里云相关文档参考===========================
阿里云API文档:https://develop.aliyun.com/
点击【创建/管理 Acccesskey】
通过【访问控制(Resource Access Management)】产品获得【受限的】AcccessKey和AccessSecret,以用于后续API调用
https://www.aliyun.com/product/ram?spm=5176.doc28636.2.2.4DV89b
阿里云SDK下载(Python):
https://develop.aliyun.com/sdk/python?spm=5176.7926450.210367.2.x1p7Zk
还有其他版本SDK的下载
Python SDK安装:
https://zhidao.baidu.com/question/544414713.html
查询实例列表:
https://help.aliyun.com/document_detail/25506.html?spm=0.0.0.0.QjVZTI
查询伸缩组内实例列表:
https://help.aliyun.com/document_detail/25942.html?spm=0.0.0.0.IeaTQA
相关笔记:《Ansible+SVN 自动部署》(解决弹性伸缩工作中不定数目的ECS实例更新部署问题)
http://www.cppblog.com/kenkao/archive/2017/03/01/214717.html
监控与自动化部署:(解决ECS实例新弹出时的自动部署问题)
PS:如果--level 6不生效,则可以执行chkconfig test on开启全部等级(测试中,弊端不明...)
PS:前面我的说明有一个地方不太严谨,大多数情况下都配置35,很少有配置4的。(来自阿里售后工程师)
https://help.aliyun.com/document_detail/25971.html?spm=0.0.0.0.QjVZTI
弹性伸缩在使用报警任务之前,需要在ECS的镜像里安装新版本的云监控程序
https://help.aliyun.com/knowledge_detail/38830.html
关于弹性伸缩自动创建实例的密码与登录问题:
创建云主机的时候,主机密码都不是自定义镜像中的密码。为了保证密码的安全性,推荐您通过设置”公私钥”认证的方式来进行SSH免密码登录。
如果您不需要通过设置”公私钥”认证的方式来进行SSH免密码登录,则需要在控制台重置密码(重启生效)才能登录。
配置Linux主机SSH无密码访问:







相关笔记:《阿里云ECS服务器搭建Nginx+PHP+MySql环境详细步骤(CentOS7环境)》
http://blog.csdn.net/kenkao/article/details/53333595
Ecs部署:
master | servant(镜像) | |
1.安装svn | 1.安装svn | svn拉取部署 |
2.安装ansible | 运维工具搭建 | |
3.生成密钥对 | 3.下发得到公钥 | 无密码访问 |
4.nginx+php环境搭建 | 基本服务环境 | |
5.部署脚本 | 5.部署自启脚本并开启 | 自动运维脚本 |
6.nginx调优 | 运行环境调优 |
SVN及Ansible安装:
http://blog.chinaunix.net/uid-21146222-id-5761320.html
http://blog.chinaunix.net/uid-21146222-id-5757647.html
相关笔记:
《阿里云自定义监控的使用》(关注其中python脚本部分)
《通过crontab为linux添加定时任务》http://blog.chinaunix.net/uid-21146222-id-4326110.html
总结:
可以直接 vim /etc/crontab ,并添加类似 */1 * * * * root /home/scripts/report.sh 的定时任务,与 crontab -e 的区别在于需要显示指定所属用户 root
/sbin/service crond restart 重启crond服务
tail -f /var/log/cron 动态查看crond日志
关于《阿里云自动告警》机制中遇到的坑:(crontab定时执行python的坑)
https://bbs.aliyun.com/read.php?tid=135851&page=1
http://blog.bomobox.org/2016-10-06/crontab-python/
http://blog.csdn.net/shanliangliuxing/article/details/7980298
总结:
通过crontab定时执行python脚本失败的根本原因在于crontab的运行时环境有别于root用户的python环境
解决方法:
1. 编写shell脚本挂载python脚本,而后crontab定时执行shell脚本(crontab对于shell脚本拥有更好的亲和力)
2. 编辑/etc/hosts文件,把::1条目注释掉(解决ipv6冲突问题,该步骤是否必须有待考证..)
关于解决shell脚本正常执行,但是crontab执行失败的土办法:先cd到相关目录下,在./执行相关命令行。例如:
/home/loganalysis/dealexcel.sh
修改为
cd /home/loganalysis/ && ./dealexcel.sh
参考:http://blog.csdn.net/jkunzhang/article/details/7440215
附件下载:
>> xxxxansible.zip
>> xxxxwarning.zip
更多推荐
所有评论(0)