亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Prometheus的油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)系統(tǒng)運(yùn)維方法

        2021-04-18 23:45:40王曉鋒馬麗麗
        軟件工程 2021年4期
        關(guān)鍵詞:數(shù)據(jù)采集

        王曉鋒 馬麗麗

        摘? 要:數(shù)據(jù)泄漏防護(hù)系統(tǒng)可以阻止企業(yè)的重要數(shù)據(jù)從網(wǎng)絡(luò)出口違規(guī)外發(fā)。針對(duì)油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)平臺(tái)對(duì)各個(gè)區(qū)域、不同類型的數(shù)據(jù)采集和設(shè)備、業(yè)務(wù)監(jiān)測(cè)問(wèn)題,本文首先提出依托大數(shù)據(jù)Flume(數(shù)據(jù)采集系統(tǒng))組件,采用抓取外泄事件日志JSON(一種輕量級(jí)的數(shù)據(jù)交換格式)和解析后的違規(guī)外發(fā)文件txt文本的方法,實(shí)現(xiàn)數(shù)據(jù)采集;其次依托Prometheus服務(wù)監(jiān)管系統(tǒng)Flume_exporter、Node_exporter組件和Grafana(一個(gè)跨平臺(tái)的、開源的度量分析和可視化工具),實(shí)現(xiàn)對(duì)數(shù)據(jù)泄漏防護(hù)設(shè)備信息和應(yīng)用數(shù)據(jù)的監(jiān)管;最后指出搭建采集系統(tǒng)和監(jiān)管平臺(tái)對(duì)數(shù)據(jù)泄漏防護(hù)系統(tǒng)運(yùn)維的作用。

        關(guān)鍵詞:Flume;Prometheus;數(shù)據(jù)采集;監(jiān)管平臺(tái)

        中圖分類號(hào):TP391? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):2096-1472(2021)-04-43-03

        Abstract: Data leakage protection system can prevent important data of enterprises from being illegally exported from networks. This paper aims to solve problems of acquiring data of different types in different regions, and monitoring equipment and business on big data system for oilfield data leakage prevention. First, based on big data Flume (data acquisition system) component, this paper proposes to adopt the method of capturing JSON (JavaScript Object Notation, a lightweight data exchange format) of the leakage event log and the parsed illegally exported TXT file to achieve data acquisition. Second, Flume_exporter (Prometheus service supervision system), Node_exporter component and Grafana (a cross-platform open source measurement analysis and visualization tool) are used to supervise equipment information and application data of data leakage prevention. Finally, this paper points out the effect of building an acquisition system and supervision platform in operation and maintenance of data leakage prevention system.

        Keywords: Flume; Prometheus; data acquisition; supervision platform

        1? ?引言(Introduction)

        隨著信息技術(shù)的快速發(fā)展,數(shù)據(jù)量成幾何級(jí)數(shù)增長(zhǎng),人類進(jìn)入大數(shù)據(jù)時(shí)代。在大數(shù)據(jù)分布式集群系統(tǒng)環(huán)境下,實(shí)現(xiàn)滿足每秒數(shù)百M(fèi)B的日志數(shù)據(jù)采集和傳輸需求,已經(jīng)成為大數(shù)據(jù)解決方案的前提和基本保障。如何解決在復(fù)雜場(chǎng)景下技術(shù)實(shí)現(xiàn)高緯度數(shù)據(jù)模型、自定義語(yǔ)言查詢、可視化數(shù)據(jù)展示等數(shù)據(jù)監(jiān)控技術(shù)難題,也成為大數(shù)據(jù)解決方案的一項(xiàng)嚴(yán)峻的挑戰(zhàn)[1]。

        油田企業(yè)為防護(hù)重要數(shù)據(jù)資產(chǎn)不從網(wǎng)絡(luò)出口違規(guī)泄漏,搭建了油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)系統(tǒng)。本文主要研究依托開源數(shù)據(jù)采集系統(tǒng)Flume,實(shí)現(xiàn)油田對(duì)網(wǎng)絡(luò)、終端敏感文件外泄事件全面數(shù)據(jù)采集,并且基于Prometheus服務(wù)監(jiān)管系統(tǒng)[2]搭建油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)監(jiān)管平臺(tái),實(shí)現(xiàn)對(duì)數(shù)據(jù)泄漏防護(hù)設(shè)備基本信息和應(yīng)用數(shù)據(jù)的實(shí)時(shí)監(jiān)控、管理、分析以及健康度準(zhǔn)確評(píng)估。

        2? Flume數(shù)據(jù)采集系統(tǒng)(Flume data acquisition system)

        Flume是一個(gè)高可靠、分布式、高可用的海量日志采集、聚合和傳輸系統(tǒng),將大批量不同數(shù)據(jù)源的日志數(shù)據(jù)收集、聚合、移動(dòng)到HDFS進(jìn)行存儲(chǔ)[2]。Flume分布式系統(tǒng)的核心是Agent,內(nèi)部有三個(gè)組件:Source、Channel、Sink。Source:源數(shù)據(jù)采集,通過(guò)與應(yīng)用服務(wù)接口對(duì)接以獲取數(shù)據(jù);Channel:Agent內(nèi)部的數(shù)據(jù)傳輸通道,作為臨時(shí)存儲(chǔ)聚合數(shù)據(jù),用于從Source將數(shù)據(jù)傳遞到Sink;Sink:從Channel消費(fèi)數(shù)據(jù)并將其傳遞給目標(biāo)地,最終將數(shù)據(jù)存儲(chǔ)到集中存儲(chǔ)器(HDFS)。Flume數(shù)據(jù)采集系統(tǒng)架構(gòu)圖如圖1所示。油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)采集系統(tǒng)就是對(duì)終端、網(wǎng)絡(luò)數(shù)據(jù)泄漏防護(hù)日志、文件通過(guò)Flume Agent采集工具,以不同的Topic形式統(tǒng)一傳輸?shù)終afka,最終存儲(chǔ)到HDFS中。

        Flume在收集數(shù)據(jù)過(guò)程中,可以定義JMX、JSON、Custom等格式采集報(bào)告,并通過(guò)配置Web服務(wù)器展示,實(shí)現(xiàn)對(duì)傳輸數(shù)據(jù)的實(shí)時(shí)監(jiān)控。由于Flume數(shù)據(jù)采集報(bào)告Web展示端不具備大規(guī)模數(shù)據(jù)儀表盤式展示,在大數(shù)據(jù)背景下,借助Prometheus監(jiān)管平臺(tái)以圖表形式簡(jiǎn)潔、直觀地展示并統(tǒng)計(jì)、分析采集數(shù)據(jù)。

        3? Prometheus監(jiān)管平臺(tái)(Prometheus supervision platform)

        Prometheus是一個(gè)開源的服務(wù)監(jiān)控系統(tǒng)和時(shí)間序列數(shù)據(jù)庫(kù),目前已經(jīng)被廣泛應(yīng)用于數(shù)據(jù)中心監(jiān)控[3]。Prometheus可以對(duì)系統(tǒng)資源或指定業(yè)務(wù)資源實(shí)時(shí)監(jiān)控,對(duì)自定義時(shí)間段內(nèi)的數(shù)據(jù)參數(shù)進(jìn)行查詢、分析,實(shí)現(xiàn)高效的系統(tǒng)維護(hù)和實(shí)時(shí)健康評(píng)估。

        3.1? ?Prometheus組件介紹

        Prometheus核心組件包括Prometheus Server(服務(wù)器)、Exporter(采集主機(jī)的監(jiān)控樣本數(shù)據(jù)程序)、PushGateway(數(shù)據(jù)中轉(zhuǎn)網(wǎng)關(guān))、AlertManager(告警系統(tǒng))。

        Prometheus Server:負(fù)責(zé)實(shí)現(xiàn)對(duì)監(jiān)控?cái)?shù)據(jù)的獲取、存儲(chǔ)及查詢。Prometheus Server可以通過(guò)靜態(tài)配置管理監(jiān)控目標(biāo),也可以配合使用Service Discovery的方式動(dòng)態(tài)管理監(jiān)控目標(biāo),并從這些監(jiān)控目標(biāo)中獲取數(shù)據(jù)。Storage模塊將采集的數(shù)據(jù)保存在TSDB(時(shí)序數(shù)據(jù)庫(kù))中,最終按照時(shí)間序列的方式存儲(chǔ)在本地磁盤中。

        Exporter:將監(jiān)控?cái)?shù)據(jù)采集的端點(diǎn)(Endpoint)通過(guò)HTTP服務(wù)的形式暴露給Prometheus Server,Prometheus Server通過(guò)訪問(wèn)該端點(diǎn)獲取到需要采集的監(jiān)控?cái)?shù)據(jù)。

        PushGateway:當(dāng)網(wǎng)絡(luò)環(huán)境不允許Prometheus Server和Exporter進(jìn)行通信時(shí),可以使用PushGateway來(lái)進(jìn)行中轉(zhuǎn)。PushGateway將監(jiān)控?cái)?shù)據(jù)主動(dòng)推送到Gateway中,然后Prometheus Server從PushGateway中拉取監(jiān)控?cái)?shù)據(jù)。

        AlertManager:在Prometheus Server中支持基于PromQL創(chuàng)建告警規(guī)則,如果滿足PromQL定義的規(guī)則,則會(huì)產(chǎn)生一條告警。當(dāng)接收到告警后,會(huì)通過(guò)郵件、釘釘?shù)确绞桨l(fā)出告警。

        Grafana是一款美觀、強(qiáng)大的可視化監(jiān)控指標(biāo)展示工具,主要用于大規(guī)模指標(biāo)數(shù)據(jù)的可視化展現(xiàn),是網(wǎng)絡(luò)架構(gòu)和應(yīng)用分析中最流行的時(shí)序數(shù)據(jù)展示工具。它將Prometheus監(jiān)控的數(shù)據(jù)源以儀表盤方式在Web面板展示。

        Prometheus技術(shù)架構(gòu)圖如圖2所示。

        3.2? ?Prometheus的工作流

        Prometheus Server定期從Exporter中拉取數(shù)據(jù),或者接收來(lái)自PushGateway推送的數(shù)據(jù);Prometheus Server在本地存儲(chǔ)收集到的數(shù)據(jù),并運(yùn)行定義好的告警規(guī)則,記錄新的時(shí)間序列或者向AlertManager推送警報(bào);AlertManager根據(jù)配置文件對(duì)接收到的警報(bào)進(jìn)行處理,發(fā)出告警;在Grafana圖形界面中,可視化展示數(shù)據(jù)。

        4? 油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)采集系統(tǒng)和監(jiān)管平臺(tái) (Big data acquisition system and supervision platform for oilfield data leakage prevention)

        油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)采集系統(tǒng)的目標(biāo)是通過(guò)Flume 1.8.0采集油田企業(yè)違規(guī)外發(fā)敏感數(shù)據(jù)產(chǎn)生的外泄事件和油田企業(yè)內(nèi)部終端資產(chǎn)信息(包括軟硬件信息、終端存儲(chǔ)文件信息、組織機(jī)構(gòu)信息等),根據(jù)不同類型Topic,統(tǒng)一傳輸?shù)終afka,為數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)平臺(tái)提供分析、建模的數(shù)據(jù)源,采集數(shù)據(jù)最終存儲(chǔ)到HDFS中。

        油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)監(jiān)管平臺(tái)基于Prometheus監(jiān)控系統(tǒng)Flume_exporter組件采集Flume獲取數(shù)據(jù)的統(tǒng)計(jì)數(shù)量,Node_exporter組件獲取數(shù)據(jù)泄漏防護(hù)設(shè)備系統(tǒng)運(yùn)行狀態(tài),AlertManager組件進(jìn)行異常告警,Grafana工具在Web面板展示,實(shí)現(xiàn)數(shù)據(jù)信息的分析和監(jiān)控。油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)采集系統(tǒng)和監(jiān)管平臺(tái)架構(gòu)圖如圖3所示。

        4.1? ?油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)采集系統(tǒng)

        根據(jù)Flume Agent采集數(shù)據(jù)泄漏防護(hù)外泄事件和網(wǎng)絡(luò)資源業(yè)務(wù)需求,進(jìn)行項(xiàng)目定制開發(fā),形成FileLimitrateThriftInterceptor.java,修改配置文件thrift2kafka.conf,實(shí)現(xiàn)將數(shù)據(jù)傳輸至大數(shù)據(jù)Kafka組件[4-5]。FileLimitrateThriftInterceptor.java部分代碼如下:

        public FileLimitrateThriftInterceptor(Context context)

        {

        this.context = context;

        //采集數(shù)據(jù)初始化

        public void initialize() {

        //根據(jù)標(biāo)記iscollect決定是否啟用該通道

        this.flag=context.getBoolean(ISCOLLECT, true).booleanValue();

        this.secretkey = context.getString(SECRETKEY);

        try {

        this.aesUtils = new AesUtils(this.secretkey);

        } catch (Exception e) {

        e.printStackTrace();

        logger.info("aesUtils initialize error");

        //獲取事件方法

        public Event intercept(Event event) {

        ArrayList bytes = new ArrayList

        ();

        bytes.add(addBytes(event.getBody()));

        if(isUseSecret){

        event.setBody(aesUtils.AESEncode(SerializableUtils.ObjectToByte(bytes)));

        }else{

        event.setBody(SerializableUtils.ObjectToByte

        (bytes));

        public List intercept(List events) {

        for (Event event : events) {

        intercept(event);

        thrift2kafka.conf配置文件如下:

        //配置Source

        a1.sources.r1.type=thrift

        a1.sources.r1.port=9110

        a1.sources.r1.interceptors=limitrate

        a1.sources.r1.interceptors.limitrate.type=src.interceptor.FileLimitrateThriftInterceptor$Builder

        //配置Channel

        a1.channels.c1.type=file

        a1.channels.c1.checkpointDir=/mnt/checkpoint1

        a1.channels.c1.dataDirs=/mnt/file-channel1

        //配置Sink

        a1.sinks.k1.type=org.apache.flume.sink.kafka.KafkaSink

        a1.sinks.k1.kafka.topic=FILE_STORE_TOPIC

        a1.sinks.k1.kafka.bootstrap.servers=kafka01.dqyt.com:9092

        4.2? ?油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)監(jiān)管平臺(tái)

        油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)監(jiān)管平臺(tái)建設(shè)包括三部分:Exporter組件代碼編寫;告警規(guī)則AlertRule配置,AlertManager組件進(jìn)行異常處理方法配置;Grafana工具在Web面板展示方法配置[6-7]。

        4.2.1? ?Exporter組件

        采用Go語(yǔ)言開發(fā)Flume_exporter、Node_exporter組件代碼,獲取Flume端采集數(shù)據(jù)數(shù)量和服務(wù)器系統(tǒng)資源數(shù)值。Exporter部分核心代碼如下:

        go func() {

        defer wg.Done()

        for _, url := range e.flumeMetricUrls {

        m := <-channel

        if m.Metrics[url] == nil {

        log.Warn(">>>.receive metrics channel is nil, url: " + url)

        continue

        }

        reg := regexp.MustCompile(`//(.*)/metrics`)

        host := reg.FindStringSubmatch(url)[1]

        for k, v := range m.Metrics[url] {

        sMetrics := make(map[string]interface{})

        sMetrics = v.(map[string]interface{})

        delete(sMetrics, "Type")

        if strings.HasPrefix(k, "SOURCE.") {

        e.processGaugeVecs(k, host, "SOURCE", sMetrics)

        } else if strings.HasPrefix(k, "CHANNEL.") {

        delete(sMetrics, "Open")

        e.processGaugeVecs(k, host, "CHANNEL", sMetrics)

        } else if strings.HasPrefix(k, "SINK.") {

        e.processGaugeVecs(k, host, "SINK", sMetrics)

        4.2.2? ?Grafana界面展示

        Grafana平臺(tái)配置頁(yè)面定義與Prometheus鏈接的變量后,配置展示的JSON Model。配置變量Variable如下:

        Variable:

        $host? label_values(host)

        $channel_name

        label_values(FLUME_CHANNEL_ChannelSize{host=

        "$host"},name)

        $sink_name

        label_values(FLUME_SINK_EventDrainSuccessCount

        {host="$host"},name)

        $source_name

        label_values(FLUME_SOURCE_OpenConnectionCount{host="$host"},name)

        4.2.3? ?AlertManager告警

        制定Prometheus服務(wù)器中的警報(bào)規(guī)則,規(guī)則觸發(fā)時(shí),將警報(bào)發(fā)送到AlertManager組件。告警處理方法包括沉默、抑制、聚集和通過(guò),例如郵件、即時(shí)通訊平臺(tái)、釘釘?shù)取?/p>

        4.3? ?測(cè)試及運(yùn)行結(jié)果

        Flume數(shù)據(jù)采集系統(tǒng)以流處理形式采集數(shù)據(jù)泄漏防護(hù)產(chǎn)生外泄事件JSON和解析的違規(guī)文件txt,系統(tǒng)性能測(cè)試需求是找出每秒接收事務(wù)數(shù)(外泄事件JSON數(shù))峰值和Flume系統(tǒng)處理最大size文件需要的平均時(shí)間,生產(chǎn)環(huán)境要求最大文件為50 MB。測(cè)試結(jié)果為:每秒接收事務(wù)數(shù)峰值613條,處理事務(wù)數(shù)1.5 Mbps,處理50 MB大小解析文件需要30多秒。

        Prometheus數(shù)據(jù)監(jiān)控系統(tǒng)批處理形式獲取數(shù)據(jù),只需對(duì)采集數(shù)據(jù)和告警功能的接口功能進(jìn)行測(cè)試。

        5? ?結(jié)論(Conclusion)

        利用大數(shù)據(jù)組件Flume的油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)采集系統(tǒng)為大數(shù)據(jù)分析展示平臺(tái)提供了數(shù)據(jù)源,為油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)解決方案提供了數(shù)據(jù)基礎(chǔ)。搭建Prometheus監(jiān)管平臺(tái)實(shí)現(xiàn)數(shù)據(jù)泄漏防護(hù)設(shè)備基本信息和Flume采集數(shù)據(jù)實(shí)時(shí)監(jiān)控、管理、分析和健康度準(zhǔn)確評(píng)估。在數(shù)字化油田的推動(dòng)下,信息化產(chǎn)品類型更加多樣,設(shè)備數(shù)量、復(fù)雜度逐年增加,為網(wǎng)絡(luò)運(yùn)維帶來(lái)巨大的挑戰(zhàn)。油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)監(jiān)管平臺(tái)全面監(jiān)控油田數(shù)據(jù)泄漏防護(hù)大數(shù)據(jù)系統(tǒng)下所有運(yùn)行設(shè)備,大大降低了人工運(yùn)維成本和設(shè)備運(yùn)行風(fēng)險(xiǎn)。

        參考文獻(xiàn)(References)

        [1] 何邦才.大數(shù)據(jù)技術(shù)下企業(yè)信息采集技術(shù)研究[J].無(wú)線互聯(lián)科技,2019(4):58-59.

        [2] 方中純,趙江鵬.基于Flume和HDFS的大數(shù)據(jù)采集系統(tǒng)的研究和實(shí)現(xiàn)[N].內(nèi)蒙古科技大學(xué)學(xué)報(bào),2018(9):153-155.

        [3] 馬永,吳躍,何李囡.基于Prometheus的基礎(chǔ)軟硬件全鏈路監(jiān)控設(shè)計(jì)和實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2019(24):39-40.

        [4] 林蒼.基于flume的日志收集統(tǒng)計(jì)系統(tǒng)[D].福建:廈門大學(xué),2013(7):13.

        [5] 張小龍.基于Flume的XML數(shù)據(jù)自動(dòng)收集系統(tǒng)[J].科學(xué)技術(shù)與工程,2013(13):9062-9064.

        [6] 陳曉宇.深入淺出Prometheus:原理、應(yīng)用、源碼與拓展詳解[M].北京:電子工業(yè)出版社,2019:60-77.

        [7] JULIUS V. Prometheus monitoring system best practices and common pitfalls[C]. QCon北京2018大會(huì), 2019.

        作者簡(jiǎn)介:

        王曉鋒(1989-),男,本科,工程師.研究領(lǐng)域:軟件研發(fā),大數(shù)據(jù)運(yùn)維.

        馬麗麗(1982-),女,本科,高級(jí)工程師.研究領(lǐng)域:軟件開發(fā).

        猜你喜歡
        數(shù)據(jù)采集
        Web網(wǎng)絡(luò)大數(shù)據(jù)分類系統(tǒng)的設(shè)計(jì)與改進(jìn)
        CAN總線通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
        基于大型嵌入式系統(tǒng)的污水檢測(cè)系統(tǒng)設(shè)計(jì)
        社會(huì)保障一卡通數(shù)據(jù)采集與整理技巧
        基于AVR單片機(jī)的SPI接口設(shè)計(jì)與實(shí)現(xiàn)
        CS5463在植栽用電子鎮(zhèn)流器老化監(jiān)控系統(tǒng)中的應(yīng)用
        大數(shù)據(jù)時(shí)代高校數(shù)據(jù)管理的思考
        科技視界(2016年18期)2016-11-03 22:51:40
        鐵路客流時(shí)空分布研究綜述
        基于廣播模式的數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng)
        軟件工程(2016年8期)2016-10-25 15:54:18
        通用Web表單數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        軟件工程(2016年8期)2016-10-25 15:52:53
        国产在线一区二区三区av| 热久久国产欧美一区二区精品| 在线观看免费人成视频色9| 永久无码在线观看| 一区二区亚洲 av免费| 久久久精品亚洲一区二区国产av| 乱中年女人伦av一区二区| 亚洲国产欧美在线成人| 青青青草国产熟女大香蕉| 国产三级黄色大片在线免费看| 国产精品兄妹在线观看麻豆| 日本www一道久久久免费榴莲| 国产 无码 日韩| 久久精品久99精品免费| 337p日本欧洲亚洲大胆精品| 少妇精品无码一区二区三区| 成人黄网站免费永久在线观看| 亚洲蜜臀av一区二区三区| 国产av永久无码天堂影院| 久久91综合国产91久久精品| 精品在线亚洲一区二区三区| 狠狠躁天天躁无码中文字幕图| 人妻丰满熟妇av无码区免| 日韩激情网| 亚洲丰满熟女一区二亚洲亚洲| 亚洲av日韩综合一区二区三区| jizz国产精品免费麻豆| 午夜少妇高潮免费视频| 亚洲av无码国产精品色| 亚洲精品国产成人| а的天堂网最新版在线| 国内精品国产三级国产| 成 人 免费 在线电影| 亚洲AⅤ无码日韩AV中文AV伦| 中文字幕av一区二区三区诱惑 | 无码中文字幕av免费放| 国产精品一区二区三区在线观看| 女人和拘做受全程看视频| 国产色噜噜| 日韩精品自拍一区二区| 看久久久久久a级毛片|