Python 運維總結
傳統運維
-命令列
-批量指令碼
自動化運維
雲運維
自動化運維工具
部署類: jenkins
環境類:ansible
監控類:ngios
適合自動化運維的程式語言的特點:
豐富的第三方庫
學習成本低
自動化運維的缺點
資料無法共享
無法主動發現問題
部署成本高
標準不統一
雲運維簡介
資源資料共享
主動發現問題
統一標準
成本低
ansbile 教程簡介
一個自動化管理IT資源的工具
功能:
系統環境配置、
安裝軟體
持續整合
熱回滾
優點:
無客戶端
推送式
豐富的module
基於YAML的Playbook
商業化的支援
缺點:
效率低,易掛起
併發效能差
安裝ansbile
環境準備:python setuptools Pip(可選)
執行ansible的流程
ansible all -m ping
喚起ansible ----查詢hosts,獲取指定目標的IP -----呼叫指定的模組 -----傳入指定的引數----返回執行結果
指定host連線的埠:
在host檔案中的IP:埠號
例:192.168.0.10:5000
Ad-Hoc
類似與命令列shell命令與shell script兩者之間的關係
ansible -playbook簡介
一種簡單的配置管理系統與多機器部署系統的基礎
可以編排有序的執行過程甚至做到多組機器之間來回有序執行特定的步驟
呼叫ansible 模組
1.引入ansible runner庫
2.初始化runner物件,傳入相關引數
3.執行runner物件的run函式
自動化運維之saltstack
概念:
1.一個配置遠端管理系統,能夠維護預定義狀態的遠端節點
2.一個分散式遠端執行系統,用來在遠端節點上執行命令和查詢資料
特點 :
1.簡單 (相對)puppet
2.並行執行
3.基於成熟技術(ZeroMQ,AES)
4.Python API
5.靈活開放
服務架構
1.master---- 負責管理所有節點
2.minion----節點服務
3.ZeroMQ----通訊服務
4.AES----資料加密演算法
安裝依賴:
1.python 2.6-3.0
2.ZeroMQ or REAT
3,mako(可選) :一個可選的Salt States解析器
4.gcc
啟動:
1.執行master節點
2.修改minion節點配置,填入master節點資訊
3.啟動minion
4.master新增minion
grains
minion啟動的時候採集的系統靜態,包括cpu,作業系統,檔案系統,硬碟等
pillar
與grains類似,可以將minion資料通過key/value的格式進行儲存
targeting minions
為salt指定minion的方法
例:salt web1 apache.signal restart
salt -c "G@os:debian and webserver* or E@db.*" test.ping
G@指定了grains
webserver指定了ID以webserver開頭的minion
E@是以正則的額方式指定minion的ID
salt runners
執行在 master上命令的方法
遠端執行
salt '*' cmd.run 'uname -a'
salt '*' exec_code python "import sys; print sys,version"
saltstack API
配置API
1.安裝saltapi
2.新增呼叫API使用者
3.生成加密證照
4.修改配置檔案
監控工具:Nagios
一款免費的開源IT基礎設施監控系統,功能強大,靈活性強,能有效監控windows linux vmware 和unix主機狀態 交換機 路由器等網路設定
結構上分為兩部分:核心功能 外掛
特性:
1.監控網路服務
2.監控主機資源
3.主動通知
4.web頁面
5.可擴充套件
優點:
1.輕量級,架構簡單
2.容易部署
3.文件健全
4.靈活 全面
缺點:
1.修改配置麻煩
2.太靈活,學習成本高
3.監控報警缺乏歷史資料
4.嚴重依賴外部外掛
nagios配置web頁面
1.安裝web server(nginx apache等)
2.配置web server 到nagios
3.啟動php-fpm,perl-fcgi
4.啟動web server
nagios圖形化配置管理工具:nagiosQL
pnp4nagios:監控資訊圖表工具
nagiosgraph:監控資訊圖表工具
buildbot
一個開源的框架,可以自動化構建,測試和釋出程式碼等過程,每當程式碼有改變,伺服器要求不同平臺上的客戶端立即進行程式碼構建和測試,收集並報告不同平臺的構建和測試結果
各個元件模組
1.repository: 程式碼管理庫
2.Buildmaster:決策中心
3.Buildslave :執行模組
4.Notifiers :訊息通知
通訊方式:
1.BuildSlave執行在需要測試的機器上
2.Tcp通訊,由BuildSlave主動發起
3.命令都只能由buildmaster 下發到buildslave中
4.buildslave從repository上獲取整合程式碼
優點:
1.跨平臺 ----python
2.跨語言 java php
3.環境依賴低
4.多樣化通知
5.配置靈活
6.分散式
相關文章
- Git忽略提交規則 - .gitignore配置運維總結Git運維
- 來自泰山運維的2023年終總結運維
- Linux 運維必備的 40 個命令總結Linux運維
- 運維7年,對Linux的經驗總結運維Linux
- Linux 運維人員最常用 150 個命令總結Linux運維
- dble運維命令彙總運維
- Linux基本運維彙總Linux運維
- 零基礎入門運維必備 | 一文總結學習 Python 的 14 張思維導圖運維Python
- 全面總結!阿里巴巴資料庫運維演進之路阿里資料庫運維
- 2023年大資料場景智慧運維實踐總結大資料運維
- IT運維管理員如何寫好一份年終總結?運維
- 自動化運維群第三個里程碑總結運維
- 收藏!系統運維中網路知識實用總結運維
- 總結10個Linux安全運維必備的實用工具!Linux運維
- 做運維的感悟(做運維需要考慮事,運維組織結構,運維學習地圖....)運維地圖
- python總結Python
- 位運算總結
- Python運維工程師是什麼?Python運維工程師工作職責及要求!Python運維工程師
- Linux運維習慣小結Linux運維
- 運維監控指標彙總運維指標
- SXMYSQL 運算子總結rtlMySql
- SIFT運算元總結
- [python] Python型別提示總結Python型別
- Python集合操作總結Python
- Python報錯總結Python
- 【Python】基礎總結Python
- python學習總結Python
- Linux運維常用的20個命令彙總!Linux運維
- 運維人員常用的Linux命令彙總運維Linux
- Redis日常運維-常用命令彙總Redis運維
- Linux 運維必備 150 個命令彙總Linux運維
- 一維動態規劃總結動態規劃
- java運算子易錯點總結Java
- 面試數十家Linux運維工程師,總結了這些面試題Linux運維工程師面試題
- Python NumPy學習總結Python
- Python字串常用方法總結Python字串
- python-Tkinter整理總結Python
- python學習命令總結Python