1. 什麼是運維?php
運維(Operation and maintenance)通常是指對大型組織已經創建好的網絡軟硬件的維護,其中傳統的運維是指信息技術運維(IT運維)。前端
2. 工做範疇linux
IT運維是IT管理的核心和重點部分,也是內容最多、最繁雜的部分,該過程主要用於IT部門內部平常運營管理,其涉及的對象分紅兩大部分,即IT業務系統和運維人員;ios
業務運維:是業務需求和用戶體驗的核心和重點部分,更是須要對內容繁雜、持續變化、支持不一樣的業務需求,加以描述、加載和維護的過程,其涉及的對象包括2類人員,一類是提供業務支持的技術人員,另外一類是整個組織的管理層和業務骨幹,隨着業務運維環境和工具的能力提高,功能完善、體驗優化,技術人員將逐步退出這個領域;nginx
平常管理運維:則是對IT運維和業務運維需求、過程、結果的管控,以及對整個管理信息系統運行狀態的管控,從而實現針對應用變化的記錄和跟蹤、針對地域不一樣的變動和跟蹤、預測環境和應用的風險和防範管理等等,其涉及的對象主要是運維管理部門的管理人員和參與人員。web
三、工做分類:算法
1)IT運維數據庫
IT運維是IT管理的核心和重點部分,也是內容最多、最繁雜的部分,常見的IT運維:硬件化的蟻巡運維平臺,軟件形態的的HP Operations Orchestration、IBM tivoli等還有開源的軟件Nagios等。相對來講蟻巡運維平臺最爲簡單易用,功能強大還要看Hp和IBM的。該階段主要用於IT部門內部平常運營管理,涉及的對象分紅兩大部分,即IT業務系統和運維人員,該階段的管理內容又可細分爲六個子系統:vim
設備管理:對網絡設備、服務器設備、操做系統運行情況進行監控。
應用/服務管理:對各類應用支持軟件如數據庫、中間件、羣件以及各類通用或特定服務的監控管理,如郵件系統、DNS、Web等的監控與管理。
數據/存儲/容災管理:對系統和業務數據進行統一存儲、備份和恢復。
目錄/內容管理:該部分主要對於企業須要統一發布或因人定製的內容管理和對公共信息的管理。
資源資產管理:管理企業中各IT系統的資源資產狀況,這些資源資產能夠是物理存在的,也能夠是邏輯存在的,並可以與企業的財務部門進行數據交互。
信息安全管理:該部分包含了許多方面的內容,目前信息安全管理主要依據的國際標準是ISO17799,該標準涵蓋了信息安全管理的十大控制方面,36個控制目標和127種控制方式,如企業安全組織方式、資產分類與控制、人員安全、物理與環境安全、通訊與運營安全、訪問控制、業務連續性管理等。後端
4. 運維工具
(1)zabbix 平臺(地址:http://mon.eunke.com/zabbix/)
zabbix整體架構圖以下:
重要組件說明:
1)zabbix server:負責接收agent發送的報告信息的核心組件,全部配置、統計數據及操做數據都由它組織進行;
2)database storage:專用於存儲全部配置信息,以及由zabbix收集的數據;
3)web interface:zabbix的GUI接口;
4)proxy:可選組件,經常使用於監控節點不少的分佈式環境中,代理server收集部分數據轉發到server,能夠減輕server的壓力;
5)agent:部署在被監控的主機上,負責收集主機本地數據如磁盤空間、cpu、內存、數據庫等數據發往server端或proxy端;
另外,zabbix server、proxy、agent都有本身的配置文件以及log文件,重要的參數須要在這裏配置。
一個監控系統運行的大概的流程是這樣的:
agentd須要安裝到被監控的主機上,它負責按期收集各項數據,併發送到zabbix server端,zabbix server將數據存儲到數據庫中,zabbix web根據數據在前端進行展示和繪圖。
這裏agentd收集數據分爲主動和被動兩種模式:
主動:agent請求server獲取主動的監控項列表,並主動將監控項內須要檢測的數據提交給server/proxy
被動:server向agent請求獲取監控項的數據,agent返回數據。
監控畫面截圖:
(2)能夠配置告警信息發送郵件、短信、微信等, 以下配置:
微信告警的配置參考地址: https://blog.csdn.net/qq_31613055/article/details/78831607
微信收到的告警信息以下:
5. Nginx 配置講解
5.1 Nginx用途
(1)HTTP靜態服務器: 存儲圖片,文件等靜態資源。
(2)負載均衡: 當一臺web服務器不夠用時,須要添置一臺web服務器,這時候就須要nginx來作負載均衡,把瀏覽器的訪問量以特定的規則分發到兩臺web服務器上。
(3)虛擬主機: 當一臺部署單個應用的web服務器資源過剩時,能夠在該服務器上部署多個應用, 用nginx來作反向代理,把訪問服務器的http請求正確的給到其中的某一個應用。 (一臺服務器上有多個帶域名的應用,多個域名解析同一個IP地址,可是端口號 不一樣)
(4)反向代理: 正常套路->客戶端直接訪問服務器。反向代理是客戶端請求nginx,nginx 請求服務器,而後返回數據給客戶端。
5.2 負載均衡策略:
(1)輪詢(默認):方式進行負載,每一個請求按時間順序逐一分配到不一樣的後端服務器,若是後端服務器down掉,能自動剔除。雖然這種方式簡便、成本低廉。但缺點是:可靠性低和負載分配不均衡。適用於圖片服務器集羣和純靜態頁面服務器集羣。
(2)weight(權重) :指定輪詢概率,weight和訪問比率成正比,用於後端服務器性能不均的狀況。以下所示,10.0.0.88的訪問比率要比10.0.0.77的訪問比率高一倍。
upstream linuxidc{ server 10.0.0.77 weight=5; server 10.0.0.88 weight=10; }
(3)ip_hash(訪問ip) 每一個請求按訪問ip的hash結果分配,這樣每一個訪客固定訪問一個後端服務器,能夠解決session的問題。
upstream favresin{ ip_hash; server 10.0.0.10:8080; server 10.0.0.11:8080; }
(4)fair(第三方)
按後端服務器的響應時間來分配請求,響應時間短的優先分配。與weight分配策略相似。
upstream favresin{ server 10.0.0.10:8080; server 10.0.0.11:8080; fair; }
(5)url_hash(第三方) 按訪問url的hash結果來分配請求,使每一個url定向到同一個後端服務器,後端服務器爲緩存時比較有效。
注意:在upstream中加入hash語句,server語句中不能寫入weight等其餘的參數,hash_method是使用的hash算法。
upstream resinserver{ server 10.0.0.10:7777; server 10.0.0.11:8888; hash $request_uri; hash_method crc32; }
upstream還能夠爲每一個設備設置狀態值,這些狀態值的含義分別以下:
down 表示單前的server暫時不參與負載.
weight 默認爲1.weight越大,負載的權重就越大。
max_fails :容許請求失敗的次數默認爲1.當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤.
fail_timeout : max_fails次失敗後,暫停的時間。
backup: 其它全部的非backup機器down或者忙的時候,請求backup機器。因此這臺機器壓力會最輕。
upstream bakend{ ip_hash; server 10.0.0.11:9090 down; server 10.0.0.11:8080 weight=2; server 10.0.0.11:6060; server 10.0.0.11:7070 backup; }
5. 經常使用的運維腳本
#測試一個URL是否可用 curl -i http://www.yourURL.com #磁盤空間使用狀況查詢 df -h #查找磁盤空間中文件大小大於800M的文件 find . -type f -size +800M #查看根目錄下每一個文件夾的大小 du -sh * #根據文件內容查詢文件名 find -type f -name '*.php'|xargs grep 'GroupRecord' #在當前路徑下搜索含有hello字符串的文件: grep -nr "hello" #查看全部的用戶 cat /etc/passwd #修改用戶密碼 passwd username
#SCP遠程拷貝 scp local_file remote_username@remote_ip:remote_folder #建立新用戶 -- 建立用戶zengyi useradd -d /data/zengyi -u 4119 -g ops -m zengyi -- 修改密碼 passwd zengyi -- 設置密碼過時時間爲90天 chage -d 0 -m 0 -M 90 -W 15 zengyi -- 增長ssh權限 vim /etc/ssh/sshd_config 在AllowUsers後增長zengyi -- 從新啓動sshd服務 service sshd restart
#打印匹配行的先後100行grep -100 'operation while connected to 10.142.11.126:11211' catalina.out