公司部分業(yè)務(wù)放在阿里云上面,雖然阿里云管理平臺(tái)本身有自己的監(jiān)控后臺(tái),但是公司也有自己獨(dú)立的zabbix監(jiān)控系統(tǒng),目前要做的就是把阿里云的監(jiān)控轉(zhuǎn)移到自己公司的監(jiān)控系統(tǒng),需要使用到阿里云的API,API的使用分以下2種方式
1.使用阿里云的Python SDK(python2.7),具體參考http://develop.aliyun.com/sdk/python?spm=5176.100054.0.0.tcU93U,示例代碼:














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























































































注意事項(xiàng):確保運(yùn)行腳本的主機(jī)時(shí)區(qū)時(shí)間無(wú)誤(yum install ntpdate && ntpdate time.windows.com)
=========================阿里云相關(guān)文檔參考===========================
阿里云API文檔:https://develop.aliyun.com/
點(diǎn)擊【創(chuàng)建/管理 Acccesskey】
通過(guò)【訪(fǎng)問(wèn)控制(Resource Access Management)】產(chǎn)品獲得【受限的】AcccessKey和AccessSecret,以用于后續(xù)API調(diào)用
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
查詢(xún)實(shí)例列表:
https://help.aliyun.com/document_detail/25506.html?spm=0.0.0.0.QjVZTI
查詢(xún)伸縮組內(nèi)實(shí)例列表:
https://help.aliyun.com/document_detail/25942.html?spm=0.0.0.0.IeaTQA
相關(guān)筆記:《Ansible+SVN 自動(dòng)部署》(解決彈性伸縮工作中不定數(shù)目的ECS實(shí)例更新部署問(wèn)題)
http://www.shnenglu.com/kenkao/archive/2017/03/01/214717.html
監(jiān)控與自動(dòng)化部署:(解決ECS實(shí)例新彈出時(shí)的自動(dòng)部署問(wèn)題)
PS:如果--level 6不生效,則可以執(zhí)行chkconfig test on開(kāi)啟全部等級(jí)(測(cè)試中,弊端不明...)
PS:前面我的說(shuō)明有一個(gè)地方不太嚴(yán)謹(jǐn),大多數(shù)情況下都配置35,很少有配置4的。(來(lái)自阿里售后工程師)
https://help.aliyun.com/document_detail/25971.html?spm=0.0.0.0.QjVZTI
彈性伸縮在使用報(bào)警任務(wù)之前,需要在ECS的鏡像里安裝新版本的云監(jiān)控程序
https://help.aliyun.com/knowledge_detail/38830.html
關(guān)于彈性伸縮自動(dòng)創(chuàng)建實(shí)例的密碼與登錄問(wèn)題:
創(chuàng)建云主機(jī)的時(shí)候,主機(jī)密碼都不是自定義鏡像中的密碼。為了保證密碼的安全性,推薦您通過(guò)設(shè)置”公私鑰”認(rèn)證的方式來(lái)進(jìn)行SSH免密碼登錄。
如果您不需要通過(guò)設(shè)置”公私鑰”認(rèn)證的方式來(lái)進(jìn)行SSH免密碼登錄,則需要在控制臺(tái)重置密碼(重啟生效)才能登錄。
配置Linux主機(jī)SSH無(wú)密碼訪(fǎng)問(wèn):







相關(guān)筆記:《阿里云ECS服務(wù)器搭建Nginx+PHP+MySql環(huán)境詳細(xì)步驟(CentOS7環(huán)境)》
http://blog.csdn.net/kenkao/article/details/53333595
Ecs部署:
master | servant(鏡像) | |
1.安裝svn | 1.安裝svn | svn拉取部署 |
2.安裝ansible | 運(yùn)維工具搭建 | |
3.生成密鑰對(duì) | 3.下發(fā)得到公鑰 | 無(wú)密碼訪(fǎng)問(wèn) |
4.nginx+php環(huán)境搭建 | 基本服務(wù)環(huán)境 | |
5.部署腳本 | 5.部署自啟腳本并開(kāi)啟 | 自動(dòng)運(yùn)維腳本 |
6.nginx調(diào)優(yōu) | 運(yùn)行環(huán)境調(diào)優(yōu) |
SVN及Ansible安裝:
http://blog.chinaunix.net/uid-21146222-id-5761320.html
http://blog.chinaunix.net/uid-21146222-id-5757647.html
相關(guān)筆記:
《阿里云自定義監(jiān)控的使用》(關(guān)注其中python腳本部分)
《通過(guò)crontab為linux添加定時(shí)任務(wù)》http://blog.chinaunix.net/uid-21146222-id-4326110.html
總結(jié):
可以直接 vim /etc/crontab ,并添加類(lèi)似 */1 * * * * root /home/scripts/report.sh 的定時(shí)任務(wù),與 crontab -e 的區(qū)別在于需要顯示指定所屬用戶(hù) root
/sbin/service crond restart 重啟crond服務(wù)
tail -f /var/log/cron 動(dòng)態(tài)查看crond日志
關(guān)于《阿里云自動(dòng)告警》機(jī)制中遇到的坑:(crontab定時(shí)執(zhí)行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
總結(jié):
通過(guò)crontab定時(shí)執(zhí)行python腳本失敗的根本原因在于crontab的運(yùn)行時(shí)環(huán)境有別于root用戶(hù)的python環(huán)境
解決方法:
1. 編寫(xiě)shell腳本掛載python腳本,而后crontab定時(shí)執(zhí)行shell腳本(crontab對(duì)于shell腳本擁有更好的親和力)
2. 編輯/etc/hosts文件,把::1條目注釋掉(解決ipv6沖突問(wèn)題,該步驟是否必須有待考證..)
關(guān)于解決shell腳本正常執(zhí)行,但是crontab執(zhí)行失敗的土辦法:先cd到相關(guān)目錄下,在./執(zhí)行相關(guān)命令行。例如:
/home/loganalysis/dealexcel.sh
修改為
cd /home/loganalysis/ && ./dealexcel.sh
參考:http://blog.csdn.net/jkunzhang/article/details/7440215
附件下載:
>> xxxxansible.zip
>> xxxxwarning.zip