日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python收入波动告警分析_使用Python/Pandas分析告警日志数据

發布時間:2025/3/19 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python收入波动告警分析_使用Python/Pandas分析告警日志数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:呂磊

文章來自微信公眾號:平臺人生

Python

Python是一種面向對象的解釋型程序設計語言。作為一種腳本語言,Python在運行性能上相對C/C++等編譯型語言有一定不足,但Python語言的學習曲線比較平緩,寫出的程序代碼簡潔,架構清晰,平臺兼容性較好;同時PYTHON生態圈擁有大量的擴展模塊;這些強大易用的第三方庫使得PYTHON在系統運維/網絡開發/科學計算/圖像處理等領域都有廣泛應用。

Pandas

這里的Pandas不是熊貓,而是一個開源的PYTHON數據分析模塊,他提供了大量庫和標準模塊,能夠對大型數據集進行快捷的處理和分析。在我們的日常工作中,經常會用到excel的數據透視表功能來對數據進行統計分析,但excel能夠實現的功能較為簡單,難以擴展,同時excel在數據量過大的場景中也難以發揮用武之地。

利用Pandas,我們可以實現很多excel中難以完成的任務。在本文中我們嘗試使用Pandas對10w數量級的告警信息進行統計分析。哪個時段產生的告警數量最多,哪些主機的告警數量最多,哪些次要告警觸發了主要告警,以及一些更為復雜的問題都可以通過Pandas來進行數據分析。

PANDAS中的數據結構介紹

在接觸實際代碼之前,我們先熟悉一下Pandas中常用的數據結構類型。在Pandas中有兩類最重要的數據結構

一. Series

Series代表一個一維數組,和常用的List數據結構類似,我們可以把excel文件中的一列值賦給一個Series對象。

二. Dataframe

Dataframe是一個二維表狀結構,和二維數組類似,我們可以把excel文件中n列m行的值賦給一個nm大小的Dataframe對象。

本文中主要將用到Dataframe對象,通過操作Dataframe對告警信息進行分析

批量讀取xls數據文件

上圖就是所有的次要告警數據文件,每個excel文件中有2000條數據。為方便處理,我們首先將所有次要告警的數據匯總,代碼如下:

ImportPandas aspd #導入Pandas包

Import os #導入操作系統包

file_list = os.listdir(secondary_data_path)

total_arr = []

for f in file_list:

if f.endswith('.xls'):

df = pd.read_excel(data_path+f) #如果是xls文件則將其內容讀取到df變量中

total_arr.append(df)

secondary_df = pd.concat(total_arr) #將所有xls文件內容整合到獨個Dataframe中

tdf.to_csv(secondary_data_path +'secondary_total.csv')

匯總后的內容保存到本地文件方便后續操作

這部分代碼功能很簡單:每次用Pandas模塊中的read_excel函數讀取一個excel文件,將文件的內容保存到Dataframe類型的變量df中,然后將所有df合并到一個總的secondary_df,為了以后讀取方便,我們同時將匯總后的數據保存到secondary_total.csv本地文件中。(同樣的數據量,保存為csv格式比xls格式節省空間)。

用同樣的方法,將主要告警的數據匯總到primary_df,保存到primary_total.csv文件中。

所有的告警信息都保存到了primary_df和secondary_df這兩個Dataframe中,我們后續的所有操作都是基于這兩個df。

首先看看告警信息都有哪些屬性

我們單獨挑出“配置項應用系統”這個屬性來計數并排序,看看次要告警數量最多的應用系統都有哪些

數字總是略顯枯燥,我們可以使用Python的matplotlib這個庫來將數據可視化。根據各系統的告警數量作出柱狀圖,只需要兩行代碼

同樣的方法,再看看主要告警的情況

接下來我們希望計算各系統主/次要告警的數量比,我們將主/次要告警的數量比看做一個告警傳導率,比值越高的,說明次要告警轉化為主要告警的傳導率越高。

知道哪些系統的告警轉化率較高之后,我們可以進一步分析,這些主要告警的告警指標類型都是什么?是CPU類,還是內存類,或是磁盤類?是否和次要告警的告警指標類型相同?下面的代碼分別匯總轉化率最高系統的主/次要告警類別。

可以看到,該系統中的主要告警主要是CPU使用率類,次要告警中較多的有CPU,磁盤和內存交換頁三類。可見由CPU類次要告警觸發的主要告警數量較多。如果想要降低主要告警的數量,可以從優化程序代碼或增加CPU運算能力的方向著手。

后續我們還可以進行很多更加細化的分析,例如根據系統內主機,告警時間等維度來進行各類統計,可以通過散點圖,餅狀圖,累積柱狀圖等多種形式對數據進行更加生動的展現。由于篇幅的限制,本文中不對此展開詳細描述。

結語

Python/Pandas是一個輕量級的數據分析框架,使用Python/Pandas可以完成很多excel難以實現的功能,同時具備優異的擴展性和靈活性。配合Python的Matplotlib等模塊,Pandas在數據可視化/繪圖等領域也有很好的表現。本文僅實現了一些非常簡單的功能,Pandas更多強大的功能等待待大家去發掘。

總結

以上是生活随笔為你收集整理的python收入波动告警分析_使用Python/Pandas分析告警日志数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。