歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

怎樣做一個優秀的-可以偷懶的系統管理員

如果你是一個普通的系統管理員,你感到人員不足,資金不足,工作過度。到現在,你已經習慣了這種觀點:沒有人會意識到你的存在直到郵件服務器癱瘓了,然後你突然成為了美國人最需要的人。在這篇文章中,我假設你負責管理有很多服務器。

我也假設你不是真的會盡可能的努力工作;如果你是這樣,你應該成為一個Windows服務器管理員,開始擔心來自微軟的補丁,安全弱點,病毒防護,一個笨拙的用戶界面,天生的缺少腳本。我並不是說 Linux是完美的,但就是有很多事情使得Linux更加容易來管理。

    作為一個優秀的系統管理員,你想要把工作做好,但是一個懶惰的系統管理員,你不想工作很費力的完成。在這篇文章中,我將會分享你可以做的一些簡單的事情使得你的工作更加容易。

    這些年來,我發展了一種曼特羅,“如果我不得不作一件事情超過一次,我就寫腳本來完成它。”比如說,如果我需要每天早上檢查我的服務器的健康狀況,我會寫一個腳本來收集信息,格式化它,把結果以郵件形式發給自己。如果我需要在12台機器上作配置改變,我會些一個腳本來完成這件事。剛開始,你可能會認為手工來完成這些工作會和編寫和調試一個腳本來完成工作一樣的簡單。但是那裡隱藏著一些優勢在我的工作方法中。一旦腳本很好的工作,人物就會成為可重復的並且可以委托給一個下層的技術員,或者自動完成。基本上,你不需要作所有的事情;它會自己完成所有的事情。我們不久將會更多的談論腳本。

    為了促進腳本任務和管理多服務器,首先我要做的是在每一個服務器上配置基於認證的鑒定。在每一個服務器上這只需要幾分鐘的時間並且它真的可以讓你的生活更加的輕松。因為你不用再輸入密碼,文件傳輸,支持和維護任務可以通過腳本完成。因為在因特網上有很多的簡單的命令是關於怎樣配置基於認證的鑒定的,在這裡我將不會浪費時間來講這些事情。

    一旦我們使得鑒定正常工作了,讓我們開始讓我們的俄生活變得更加輕松吧。我喜歡做的是建立一個shell腳本導出有用的變量,比如

    # servers.sh
    export MAILSERVERS="server1 server2 server3"
    export WEBSERVERS="www1 www2 www3 www4"
    然後我可以下一個像這樣的簡單的腳本:
    #!/bin/bash
    ### Assess disk space on mail servers
    source ./servers.sh
    for i in ${MAILSERVERS} ; do
    echo =========${i} =============
    ssh root@${i} "df"
    echo ============ =============
    done

    這個簡單的腳本允許我很快的得到我的所有的郵件服務器的磁盤使用情況。它也可以作為一個其他相似任務的模板。當我想通過腳本完成另一個任務,我會拷貝一份這個腳本,在頂部替換一些內容來描述新的腳本的用途,替換for循環的主體。
    要注意的是所有我的腳本都會來源於servers.sh文件,所以我有一個配置的中心點。當我增加或者刪除一個服務器時,我就會簡單的改變這個文件。

    並且,注意在文件頂部的內容。一旦你在一個單一的目錄中有大約50個不同的腳本,你可以象這樣開始給它們命名
    assess_the_disk_space_on_mail_servers.sh,而我拒絕這樣做。所以,當我需要指出那個腳本做什麼,我會打:
    grep “###” *

    這給我一個腳本的列表和一個它們任務的簡單的描述
我的關於腳本的曼特羅的必然的結果是如果我不得不每一天,每星期或者每個月來完成一個同樣的任務,我會把這個工作放進cron並且把結果發到email 裡。很多系統有一些目錄包含在cron中的一些腳本,它們每小時,每天或者每星期的定期的運行。

我認為那是一個很好的做事的方法,但是有時你必須能夠決定什麼時候你需要你的腳本運行。要做這些,你需要自己修改 crontab。比如,我不想我的支持僅僅運行在當/etc/cron.daily決定運行它們的時候;我想讓它們在規定的上班時間之外開始並完成。因為我有很多比crontab的格式更加重要的事情要記住,並且我很懶惰以至於我不想每一次都去檢查,我經常把下面這行添加進我的 crontabs:

    # min hour dom month dow command

    之後,每次我修改crontab的時候,我可以很快的添加我想要的這個字段然後繼續我的工作。我知道這不是日常瑣事,但是它就是那些簡單的事情你可以做用來節省時間和精力。

    以系統日志方式登錄,是伴隨Linux而來的一個特性,但是因為它趨向於產生很大量的數據,所以它經常是不可能的。通常,人們會簡單的配置 logrotate來減少日志保證它們不會填滿文件系統。只有當出現問題的時候那些人才會回過頭來看看他們的系統日志告訴他們什麼。對於系統日志,我也會添加網絡日志,防火牆日志,郵件日志和任何其他的由服務器郵件收發後台程序產生的日志。我不會鼓勵一行一行的閱讀這些日志。相反的,你應該增加一些分析這些日志的程序,盡管它只是一些greps放在一起。你需要經常的增加改變到你的規則設置以使得它盡可能多的過濾掉垃圾信息。無論你怎麼做,結果都應該經常的以郵件形式發給你並且你需要經常的查看一下它們。

    當然,在很多服務器上配置日志分析看起來是很大量的工作。你可能會想到配置所有的服務器發送它們的日志到你的工作站。然後你只需要配置一個分析程序,而不是試圖在每個服務器上復制相同的配置。你甚至可以使用上面技術的輪廓來把日志文件從服務器上拿過來使得它們可以在本地機器上被分析。

    這些年來,我已經從閱讀我的日志文件中得到了很多的好處。有一次, smartd通知我我的一個IDE 硬盤驅動器將要壞掉了,在它真的壞掉之前。我可以計劃著停用它並且替換一個新的驅動器在它壞掉損失數據之前。很多此,我在我的網絡服務器上注意到了鑒定失敗,我打電話給用戶解決了問題。我一次發現了一個貪婪的數據庫索引當我查看我的Apache 日志文件的時候,我注意到這個服務器正在超過限度的時間來服務於一個應用。在我打電話給這個客戶告訴它我發現了這個問題之後,我開始解決這個問題………在任何人報告這個問題之前。在問題被其他人報告的時候,我已經找到了問題所在並且有了ETR使得當客戶打電話來時,我甚至不用被打擾去開一個服務票。我只是告訴它們那會在半個小時內解決。

    我也是一個服務器和服務監視迷。我過去經常花費沒一天的前一部分來檢查我的所有的服務器是否健康。現在我只用簡單的照看監視控制台並且尋找非正常的情況,我經常比我的客戶更早注意到問。讓我們面對它,只要你的經理注意到郵件服務器壞了,他將會找到你;他可能會在你的服務器房間裡找到你,發現你正在修復郵件服務器的錯誤。

    服務監視真的不是那麼困難來建立並且這是很好的一種方法讓你比你可客戶提前知道問題所在。但是你不能只是建立它然後假設它已經工作了。我曾經在一個職位,公司告訴所有的部門我們都必須使用新的公司監視能力。當然這對我來說是好消息,我不再需要為我的服務器提供功能。作為一個優秀、懶惰的系統管理員,我很會轉到了公司監視……並且有了一個消防演習。我走到我的一個服務器旁,關掉它,開啟計時器。我的尋呼機在30分鐘後爆掉了,這在我工作的環境中是不可接受的。在一個與經理簡短的談話之後,監視部門在他們的過程中做了一些改變並且每個都很高興。你應該總是此時任何一個你執行的監視系統。

    擁有一個穩固的監視系統的另一個好處是你可以收集可用性和表現度量。這些報告可以被當作管理來確認專制的購買或者在可用性上反駁客戶的抱怨。在一個管理會議中沒有東西比有用的數據更有用。

    你也應該試著估計一些那些可能導致提前停用的事件並試著配置你的監視系統來發現這些事件。根據我的經驗,你應該監視發生很快的、更加頻繁的事件。比如說,自從我的服務器可以不阻塞但速度不是很快,我相當頻繁的檢測它們。另一方面,那是不可能的他們的硬盤驅動器將會在接下來的15分鐘內填滿,所以我不是很頻繁的監視驅動器的使用。我通常設置一個定制很低的鬧鐘。比如說,如果我有一個磁盤通常使用率為30%,我可能設置一個鬧鐘定制在45%。當磁盤的使用率超過這個值時,我知道有什麼事情出問題了,但我們並不在失敗的邊緣。我甚至可能會暫時的忽略它們讓我來計劃怎樣處理它。

    所有我在這裡所描述的對不會很難並且沒有東西將需要任何真實的工程工作。你將不得不用一些腦筋在你的監視系統,但是即使你所作的一切只是配置你的服務器,並且測試使用情況,網絡,郵件等等,都是有回復的,你將會收獲重要的好處在很短的時間內。並且這些東西中沒有什麼是必須立刻去做的。在每次你登錄服務器的時候,只要用很短的時間並且到處做一些很簡單的。最後,你每天將會在幾分鐘之內完成你的工作然後去呼吸新鮮空氣

Copyright © Linux教程網 All Rights Reserved