天天看點

[運維]運維管理工具必備

一、統一賬号管理

1.LDAP

統一管理各種平台帳号和密碼,包括但不限于各種作業系統(Windows、Linux),Linux系統sudo內建,系統使用者分組,主機登入限制等;可與Apache,HTTP,FTP,SAMBA,ZABBIX,Jenkins等內建;支援密碼政策(密碼強度、密碼過期時間、強制修改、超過驗證錯誤次數鎖定帳号)等;支援插件式鑒别子產品PAM;不同平台權限的設定、劃分;

2.JumpServer

一款由python編寫開源的跳闆機(堡壘機)系統,實作了跳闆機應有的功能。基于ssh協定來管理,用戶端無需安裝agent,目前本版本處于beta階段,線上環境慎用。試用了一下demo,感覺在統一帳号管理方面并不成熟。

3.NIS

類似于LDAP。

二、自動化部署

1. Fabric

優點:小巧,無需裝agent,可以做一些簡單的伺服器部署操作,使用簡單,容易上手,但功能比較有限,用了兩天就切到ansible了;

缺點:部署機與伺服器互動不太友好。

2. Ansible

優點:無需agent,基于ssh實作,對新申請的機器做初始化擴充不錯;特性較多,日常部署需要的功能基本上都覆寫了,比如git、打包解壓、copy檔案、yum安裝等等都已經內建到了核心子產品裡面,alternatives、xattr等子產品也有所內建,當然,理論上所有操作都能用指令子產品來完成。

缺點:比較依賴網絡的健壯性,網絡不好的話會比較坑;

此外還有SaltStack、Pupet、Chef等。

三、DNS

1. dnsmasq

提供 DNS 緩存,DNS重定向、記錄轉發,DNS反向解析, DHCP 服務功能,配置簡單;

可以配置對上層DNS輪詢請求記錄,配置支援通配符,不用批量修改hosts。

2. pdnsd

提供DNS緩存服務;

設定向上級DNS請求方式(TCP、UDP,Both),設定多個上級DNS并設定請求規則,配置緩存保留時間。

3. namebench

Google自行研發的一款DNS測速工具。

四、壓力測試

1. ApacheBench

建立多并發線程模拟多使用者對URL通路進行壓力測試

Apache中有個自帶的,名為ab的程式,ab可以建立很多的并發通路線程,模拟多個通路者同時對某一URL位址進行通路。

2. TCPcopy、UDPcopy

直接對某一機器流量copy到另一機器進行壓力測試;

提到壓力測試,可能大多數人首先想到的就是ApacheBench,但ab是模拟通路,模拟畢竟是模拟,然而線上會遇到的錯誤可能往往無法預知,其實國内已經有人開發了一款線上流量copy的工具,就是TCPcopy、UDPcopy,能夠之間copy線上流量到測試環境,大大減少了上線前的風險。支援設定copy流量倍數放大、縮小,修改流量的用戶端IP源位址。

3. TCPburn

類似ApacheBench

tcpburn是由網易自主研發的能夠模拟千萬級别并發使用者的一個軟體,目的是能夠用較少的資源來模拟出大量并發使用者,并且能夠更加真實地進行壓力測試, 以解決網絡消息推送服務方面的壓力測試的問題和傳統壓力測試的問題。

五、安全

1. PortSentry

對端口掃描的機器做防禦政策;

特點:給出虛假的路由資訊,把所有的資訊流都重定向到一個不存在的主機;

自動将對伺服器進行端口掃描的主機加到TCP-Wrappers的/etc/hosts.deny檔案中,利用Netfilter機制、包過濾程式,比如iptables和ipchain等,把所有非法資料包(來自對伺服器進行端口掃描的主機)都過濾掉;

通過syslog()函數給出一個目志消息,甚至可以傳回給掃描者一段警告資訊。

2.fail2ban

對SSH密碼暴力破解的機器做防禦政策;

防禦 SSH 伺服器的暴力破解攻擊,對安全性要求過高的伺服器還是建議禁止密碼登入,使用密鑰或者密鑰+密碼驗證。

3. Google Authenticator

可以将第二部驗證設定為通過短信或語音電話接收驗證碼,同時也支援 Android、iPhone 或 BlackBerry 裝置來生成驗證碼;

一款開源的,可基于開放規則(如 HMAP/基于時間)生成一次性密碼的軟體。Google公司同時也支援插件式鑒别子產品PAM,使其能和其他也适用PAM進行驗證的工具(如OpenSSH)協同工作。

4. knockd

害怕伺服器被入侵,但是奈何經常在不同的地方登入或者登入的IP經常變動?knock一下吧。在伺服器端設定隻有你知道的“暗語”來讓伺服器給你芝麻開門。

knockd可以讓server監聽特定的端口,如果client按指定的順序及協定(TCP/UDP)通路server指定端口,則運作指定指令,于是我們就可以用它來做一些有趣的事,比如利用IPTABLES動态增加防火牆等等。

另外,knock client也可以用來模拟發包探測網絡連通性。比如不确定本機到對端的某個端口是否可通,可以在遠端用tcpdump監聽對應端口,然後用knock用戶端模拟發包。

六、虛拟化

1.vagrant

每次用想要建立一個虛拟機是不是都得設定虛拟機名稱?設定虛拟機類型、版本、選擇鏡像、記憶體大小、虛拟機CPU核心數量、裝置等一堆東西,然後還要裝系統。。。

然而我隻需要在終端下面輸入一條vagrant up machine 就能建立一個預配置好的虛拟機哦,實為自己測試和給開發人員建立統一程式設計環境的一個好選擇。

  • 支援快速建立虛拟機
  • 支援快速設定端口轉發
  • 支援自定義鏡像打包(原始鏡像方式、增量更新檔方式)
  • 基本上日常能用到的基礎配置都能快速設定
  • 支援開機啟動自動運作指令
  • 可以自己寫擴充

2.docker

每次搭建一套新環境是不是很麻煩?有兩個不同程式依賴于同一環境的不同版本怎麼辦?在程式裡指定絕對路徑?做軟連結?

docker幫你解決了這個煩惱,鏡像打包好之後推送到register之後再到對應機器上pull下來,放上代碼,done..

七、日志采集

1. ELK

平常我們可能需要對一些日志進行分析、報警,比如nginx日志,我們想要統計http請求響應碼的數量、統計請求IP的地域分布,對請求體的關鍵字及時報警等等。使用ELK能夠很容易地做到上述事情,還能結合zabbix等工具進行報警。

八、監控

1. smokeping

IDC選址很頭疼吧,不知道某一節點網絡品質怎樣,不相信供應商給的資料?試試smokeping吧,能夠測試某地、多地到某一節點的品質情況(包括丢包率,速率)

轉載自:

https://www.cnblogs.com/along21/p/8124088.html