成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CairoPlot讓Linux服務(wù)器的日志文件更直觀

原創(chuàng)
運維 系統(tǒng)運維
確實有些Linux服務(wù)器管理員很享受閱讀及核對日志文件的艱辛過程,但為什么不創(chuàng)建一個美觀的列表及圖形體系來突出那些故障和問題,而非要受這份罪呢?試試這款優(yōu)秀的工具——CairoPlot吧,它會提供給你美觀且信息可視化的服務(wù)器日志文件分析途徑。

【51CTO精選譯文】確實有些Linux服務(wù)器管理員很享受閱讀及核對日志文件的艱辛過程,但為什么不創(chuàng)建一個美觀的列表及圖形體系來突出那些故障和問題,而非要受這份罪呢?試試這款優(yōu)秀的工具——CairoPlot吧,它會提供給你美觀且信息可視化的服務(wù)器日志文件分析途徑。

作為一個需要整天跟數(shù)據(jù)打交道的從業(yè)者,我一直致力于尋找更好的方法來將紛繁復(fù)雜的數(shù)據(jù)顯示為列表和圖形,尤其是利用Python來實現(xiàn)這一目標。時下存在很多利用Python制作的整合軟件包可供使用,但如果你希望輸出的結(jié)果不會因為粗糙的視覺效果而遭到那些蘋果使用者們的恥笑,那么我向你強力推薦CairoPlot。

CairoPlot并未像大多數(shù)發(fā)行版軟件那樣進行封包,但它的安裝過程依然簡便易行。目前在CairoPlot Launchpad page(CairoPlot官方主頁)上提供的***版本是1.1版。你可以在那里下載到cairoplot-1.1.tar.gz這個文件,或是根據(jù)你自己的喜好,從BZR上搜索(一旦1.2版本發(fā)布,CairoPlot項目可能會整體轉(zhuǎn)移到Sourceforge.net上)。

解壓壓縮包:

$ tar xvf cairoplot-1.1.tar.gz

然后復(fù)制下面這個文件:cairoplot-1.1/CairoPlot.py,并粘貼到你要開發(fā)的Python腳本所在的目錄下。

用扇形圖說明:誰在發(fā)送垃圾郵件?

展開測繪工作之前,找到一個良好的數(shù)據(jù)源永遠是我們的首要任務(wù)。針對這個項目,讓我們先來分析一個Postfix日志文件,/var/log/mail.info,借以觀察一系列垃圾郵件的眾多來源。

通過對文件的隨機檢查,我們會發(fā)現(xiàn)有許多提出接收請求的郵件都來自一個客觀上根本不存在的地址,舉例說明:

Mar 5 15:05:45 mailserver postfix/smtpd[29764]: NOQUEUE: reject: RCPT from 212.199.94.45.static.012.net.il[212.199.94.45]: 450 4.7.1 <ex02.maccabiworld.org>: Helo command rejected: Host not found; from=<> to=<aiglance@mydomain.com> proto=ESMTP helo=<ex02.maccabiworld.org>

我們的posifix服務(wù)器一般會拒絕這樣的郵件,因為通常情況下它們都是垃圾郵件。配置正確的郵件服務(wù)器應(yīng)該不會編造這些虛假的地址——當然在有些配置有誤的服務(wù)器上是會發(fā)生這種狀況。

但是這些虛假的接收請求從何而來?他們是否來自特定的一些國家?而在這些特定國家的垃圾郵件來源中,存在多少.com類型網(wǎng)站,又有多少.net類型網(wǎng)站?

為了找到答案,我將創(chuàng)建一個Python索引系統(tǒng),然后使用CairoPlot工具來測繪出一幅扇形圖。索引中的每個關(guān)鍵字都將涵蓋一個***域,例如“.com”;而其數(shù)值則為從該類型域中發(fā)來的被拒收郵件的數(shù)量。

剖析日志文件

要填充索引系統(tǒng)中的詞條項目,意味著我們需要對/var/log/mail.info文件進行剖析。每封郵件的真正發(fā)出地址能夠從RCPT中查詢到;將結(jié)果應(yīng)用到Python的re模塊中。因為這一過程是針對CairoPlot的,因此我們不必遵循Python的描述方式,只需按照以下代碼的形式表達:

#! /usr/bin/env python
import CairoPlot, re
MAIL_INFO = "/var/log/mail.info"
# Dictionary to store the results as (domain : number of rejects)
rejected = {}
# Parse mail.info to find all the 'NOQUEUE: reject' lines and
# figure out what top-level domains (TLDs) they're coming from.
f = open(MAIL_INFO)
for line in f :
if line.find('status=sent') > 0 :
pass
elif line.find('NOQUEUE: reject') > 0 :
# An attempt we rejected. Look for a pattern like
# RCPT from foo.example.com[nnn.nnn.nnn.nnn]
rcpt = re.search("RCPT from ([^[]*)\[([0-9\.]+)\]", line)
if not rcpt :
continue
# Now rcpt.group(1) is the reverse-DNS hostname (if any)
# from the log file, rcpt.group(2) is the IP address.
if rcpt.group(1) and rcpt.group(1) != 'unknown' :
hostname = rcpt.group(1)
else :
hostname = None
# Find the part after the last "."
tld = "Unknown" # default there's no "." in the hostname
if hostname :
dot = hostname.rfind(".")
if dot >= 0 :
tld = hostname[dot+1:]
if tld in rejected :
# We've seen this TLD before; add 1.
rejected[tld] += 1
else :
# First time we've seen this TLD.
rejected[tld] = 1
f.close()

在結(jié)尾部分,通過以下內(nèi)容將索引系統(tǒng)中的“拒收”標準傳達給CairoPlot。

{'ru': 3, 'ch': 1, 'ma': 2, 'rs': 2, 'it': 4, 'hu': 1, 'cz': 1, 'ar': 2, 'il': 35, 'br': 16, 'es': 1, 'co': 2, 'net': 4, 'com': 24, 'pl': 7, 'at': 2}

#p#

創(chuàng)建扇形圖

你要如何依據(jù)索引系統(tǒng)來創(chuàng)建一個扇形圖?事實上一行命令即可實現(xiàn):

CairoPlot.pie_plot("piechart", rejected, 500, 500, None, True, False, 
None)

CairoPlot將生成一個名為pie.svg的圖形文件(如圖一所示)。

CairoPlot將生成一個名為pie.svg的圖形文件

圖一

其參數(shù)為:

pie_plot(name,
         data,
         width, height,
         background=None,
         gradient=False, shadow=False,
         colors=None)

Name(名稱)指文件名:如果你希望加入一個諸如.jpg之類的擴展名,那么CairoPlot將使用你所設(shè)定的格式來取代svg格式,因為在某些情況下你可能會需要一個IE用戶能夠通過頁面正常瀏覽的圖像。

Data(數(shù)據(jù)),當然了,代表索引系統(tǒng)中的數(shù)值。

Width(寬度)和Height(高度)代表你所希望的圖形繪制尺寸。需要注意的是,CairoPlot預(yù)留給扇形圖周邊的空白區(qū)域是相當有限的,所以一定要注意整體規(guī)劃。

Background(背景),你需要指定一種背景顏色,其選色方法為標準的RGB形式。因此,通過background=(0,1,0)這一指令,你將獲得一個全綠的背景。你在這里也可以使用Cairo gradient(色階)來進行設(shè)定。Gradient(色階)功能可以讓你選擇是否將你扇形圖中的某一塊顯示出色彩漸變的效果,以使整個圖形更加美觀。Shadow(陰影)功能將讓你可以為整個扇形圖增加底部陰影效果,并且如果你不喜歡系統(tǒng)默認的陰影顏色,也可以隨意為其定義新的顏色。當然,陰影顏色同樣即可以是單色也可以包含色階。需要強調(diào)的是,所選顏色的數(shù)量必須與索引系統(tǒng)中的項目數(shù)量相同。

圖一中的示例存在一個小問題:它顯示絕大多數(shù)無效的接收請求來自根本無法解析的服務(wù)器地址,而表示狀況的圖形被壓成極細小的一塊,根本無法解讀。而且顯然你從那一大塊“無法解析“的服務(wù)器來源中根本折騰不出什么有用的信息。在這種情況下,你可以在指令中if hostname:后面添加如下內(nèi)容

if hostname :
dot = hostname.rfind(".")
if dot >= 0 :
ext = hostname[dot+1:]
else :
continue

運行上述命令,這時扇形圖變?yōu)槿鐖D二所示。很有意思吧。直到編寫這個實例,我才意識到相比起其它國家,我從以色列和巴西收到了這么多的垃圾郵件。有時候一幅清晰的示意圖絕對勝過千言萬語。

圖二

圖二

#p#

條形圖

CairoPlot也可以制作出很棒的條形圖。但遺憾的是,CairoPlot的各種規(guī)則不太適合條形圖數(shù)據(jù)的導(dǎo)入。條形圖需要的是列表,而非索引。

這都不叫事兒!只要把上文中的索引系統(tǒng)轉(zhuǎn)換為兩個列表——一個包含標簽信息,一個包含具體數(shù)據(jù)——再進行條形圖繪制(如圖三所示):

h_labels = [ k for k in rejected.keys() ]

rejlist = [ rejected[k] for k in rejected.keys() ]

CairoPlot.bar_plot ('bars', rejlist, 500, 400,

border=5, three_dimension=True,

h_labels=h_labels)

圖三

圖三

同制作扇形圖一樣,你可以導(dǎo)入一個顏色列表來使用自定義顏色,而且還有其它一些諸如背景、風(fēng)格、圓滑邊角、沙盤模型高度、象限體積以及必然具備的標簽體積和標簽高度等調(diào)節(jié)選項。

當然,CairoPlot同樣可以制作其它類型的圖形。這有一些實例文檔,你也可以使用Python的交互式解析工具并輸入如下內(nèi)容:

import CairoPlot
help(CairoPlot.pie_plot)

CairoPlot站點將很可能遷移至Sourceforge網(wǎng)站,并提供更加完備的訪問頁面。與此同時,如果你已經(jīng)有過一些實踐經(jīng)驗,你一定會深切體會到CairoPlot在制作美觀艷麗的圖形方面絕對稱得上是***工具之一。

原文地址:http://www.linuxplanet.com/linuxplanet/tutorials/7317/1/

【51CTO.com譯文,轉(zhuǎn)載請注明原文作譯者和出處。】

【編輯推薦】

  1. 用ClusterSSH管理多臺Linux服務(wù)器
  2. Linux內(nèi)核2.6.38性能大提升 THP造福虛擬化
  3. 通過dsh批量管理Linux服務(wù)器
責(zé)任編輯:黃丹 來源: 51CTO.com
相關(guān)推薦

2015-09-08 14:23:00

新醫(yī)學(xué)影像中科金證華為

2009-02-27 15:15:00

2009-11-27 14:37:20

Cisco路由器日志

2018-01-31 11:20:48

2009-11-13 12:23:39

2021-04-28 09:53:34

Windows 10Edge瀏覽器

2016-11-18 15:08:54

linux服務(wù)器策略

2018-09-06 10:16:39

2010-11-09 13:53:33

2011-11-21 15:04:30

2011-11-21 14:18:51

日志

2010-07-14 09:55:12

2012-06-04 16:01:29

Linux服務(wù)器日志

2022-08-20 07:39:35

Linux日志文件

2009-11-11 10:18:02

2013-05-29 14:27:40

2015-05-29 13:22:10

Linux掛載運維

2009-09-25 10:13:15

2009-12-17 10:08:03

日志服務(wù)器

2015-08-17 16:34:13

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲综合在线播放 | 成人一区二区在线 | 精品视频在线观看 | 亚洲精品久久久一区二区三区 | av一级在线观看 | 夜夜夜夜夜夜曰天天天 | 免费在线观看一区二区三区 | 国产一区二| 精品一区二区三区入口 | 亚洲成人网在线观看 | 午夜激情视频 | 国产欧美日韩精品一区二区三区 | 一级欧美一级日韩片 | 伊人精品在线视频 | 一区亚洲| 国内精品视频一区二区三区 | 日韩欧美精品 | 久草视频在 | 日本粉嫩一区二区三区视频 | 91xxx在线观看| 毛片一区二区三区 | 久久久av中文字幕 | 夜夜夜操 | 久久久久久久一区二区三区 | 男人的天堂亚洲 | 91九色视频在线 | 请别相信他免费喜剧电影在线观看 | 99国产精品视频免费观看一公开 | 一级毛片在线播放 | 国产在线观看不卡一区二区三区 | 夜夜骑av| 超碰美女在线 | 久色视频在线 | 91精品综合久久久久久五月天 | 亚洲精品在线播放 | 亚洲色图插插插 | 黄色一级免费观看 | 国产精品美女久久久av超清 | 中文字幕国产精品 | 国产一区久久久 | 九九国产在线观看 |