国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

FastD 最佳實踐五: 構建ELK日志分析

djfml / 3182人閱讀

摘要:點擊前往中文地址先決條件簡單安裝下載地址下載或者其他都可以。版本處理方案新建格式日志文件。配置日志會隨著配置進行生成,結果如下忽略上述日志內容,程序看得懂即可配置推送到需要根據業務場景進行配置,現在顯示最簡單的配置。

過去咱們開發中,對日志這個環節其實并不太重視,直到有一天,應用出現異常,這個時候才想起來“日志”,但很可惜,為時已晚。

咱們做運維和開發,除了救火,還需要防火,因此一些防范的意識也是非常重要的。

效果圖

安裝ELK

安裝 ELK 是相對簡單的,但是后期也需要對其進行優化,適當考慮運維人力,如果覺得個人可以折騰的不放可以嘗試。

如果已經存在 ELK 環境,可以直接跳過,進行框架日志配置環節。

點擊前往: 中文地址

先決條件: Java 8
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java8-installer
簡單安裝 elasticsearch

下載地址: elasticsearch

下載 zip 或者其他都可以。

解壓壓縮包。執行:

運行前請配置好系統參數。有一定要求,如果啟動失敗,仔細留意錯誤信息,對應調整即可。

bin/elasticsearch

驗證:

curl http://localhost:9200/
安裝 kibana

下載地址: kibana

設置 elasticsearch url 地址,也就是剛才的 localhost:9200 (默認)

運行: ./bin/kibana

打開: http://localhost:5601 訪問面板

安裝 logstash

下載地址: logstash

配置文件: config/logstash.conf

可參照:

input {
    file {
        type => "fastd"
        path => ["log file path"]
    }
}

filter {
    json {
        source => "message"
    }
}

output {
    # stdout { codec => rubydebug }
    elasticsearch {
        action => "index"
        hosts => "127.0.0.1:9200"
        index => "fastd"
    }
}

運行: bin/logstash -f config/logstash.conf

stdout 作為標準輸出,可以通過 stdout { codec => rubydebug } 對采集數據進行調試。

處理 php 應用日志 (FastD 3.2新特性)

慶幸我們有這么一個需求,也能將工作經驗總結并形成最終的解決方案分享給大家。

!!3.1 版本處理方案

新建格式日志文件。然后往下按照步驟進行處理即可(命名空間自定義,添加到日志配置中的第四個參數中)。

getName(), get_local_ip(), null, null, self::V1);
    }
}

配置 app.php

 [
        [
            MonologHandlerStreamHandler::class,
            "info.log",
            FastDLoggerLogger::INFO,
            FastDLoggerFormatterStashFormatter::class,
        ],
    ],
    // code ...
];

日志會隨著配置進行生成,結果如下:

{"@timestamp":"2017-09-12T15:47:37.189080+08:00","@version":1,"host":"10.1.81.60","message":"sprintf(): Too few arguments","type":"fast-d","channel":"fast-d","level":"ERROR","msg":"sprintf(): Too few arguments","code":0,"file":"/Users/janhuang/Documents/htdocs/me/fastd/fastd/vendor/fastd/routing/src/RouteDispatcher.php","line":78,"trace":["#0 [internal function]: FastDApplication->FastD{closure}(2, "sprintf(): Too ...", "/Users/janhuang...", 78, Array)","#1 /Users/janhuang/Documents/htdocs/me/fastd/fastd/vendor/fastd/routing/src/RouteDispatcher.php(78): sprintf("Middleware %s i...")","#2 /Users/janhuang/Documents/htdocs/me/fastd/fastd/vendor/fastd/routing/src/RouteDispatcher.php(60): FastDRoutingRouteDispatcher->callMiddleware(Object(FastDRoutingRoute), Object(FastDHttpServerRequest))","#3 /Users/janhuang/Documents/htdocs/me/fastd/fastd/src/Application.php(142): FastDRoutingRouteDispatcher->dispatch(Object(FastDHttpServerRequest))","#4 /Users/janhuang/Documents/htdocs/me/fastd/fastd/src/Application.php(205): FastDApplication->handleRequest(Object(FastDHttpServerRequest))","#5 /Users/janhuang/Documents/htdocs/me/fastd/fastd/tests/app/web/index.php(15): FastDApplication->run()","#6 {main}"]}

忽略上述日志內容,程序看得懂即可

配置 logstash 推送到 elasticsearch.

config/logstash.conf, 需要根據業務場景進行配置,現在顯示最簡單的配置。

input {
    file {
        type => "fastd"
        path => ["log file path"]
    }
}

filter {
    json {
        source => "message"
    }
}

output {
    elasticsearch {
        action => "index"
        hosts => "127.0.0.1:9200"
        index => "fastd"
    }
}

配置無誤后,開啟日志采集

./bin/logstash -f path/to/logstash.conf

每當日志刷新新增的時候,agent 就會將日志采集推送到 elasticsearch. 如果覺得 ELK 會有卡頓或者性能問題,可能嘗試結合 kafka 進行優化。

打開: http://127.0.0.1:5601/,即可看到剛才 php 應用產生的日志。

總結

如果 php 應用發生問題,異常而又無法第一時間發現的時候,日志可能是一個很好的切入點,當機器越來越多,應用越來越廣泛的時候,日志可能會大量消耗人力,這個時候我們不得不去想辦法,一方面解決人力問題,一方面需要提高應用質量。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25826.html

相關文章

  • FastD 最佳實踐四: 構建系統可視化監控

    摘要:的展示非常炫酷,絕對是運維提升逼格的一大利器。另外的可視化功能比強得多,而且以上版本將集成報警功能。它由寫成,著力于高性能地查詢與存儲時序型數據。被廣泛應用于存儲系統的監控數據,行業的實時數據等場景。 原有監控系統 showImg(https://segmentfault.com/img/remote/1460000011082384); 整個系統以 Graphite (carbon ...

    khlbat 評論0 收藏0
  • FastD 最佳實踐一: 構建 API

    摘要:最佳實踐一構建是一個專門針對應用層而生的一個應用框架,提供良好的中間件,路由以及支持擴展運行,從而具體良好的性能條件。手動創建添加路由地址調用完成最第一個路由。緩存也是一個前置中間件,使用方式與日常操作保持一致。 FastD 最佳實踐一: 構建 API FastD 是一個專門針對 API 應用層而生的一個 PHP 應用框架,提供良好的中間件,路由以及支持 swoole 擴展運行,從而具...

    WalkerXu 評論0 收藏0
  • FastD 最佳實踐三: 構建API網關

    摘要:我們需要將業務或服務放置在網關背后,由網關統一處理請求入口,本身由多個入口的處理變成了一個入口,由網關進行統一調度。網關負責來搞這些事情,你只需要知道網關就好了。 構建完成 API 服務,配置中心之后,架構圖大致如下: showImg(https://segmentfault.com/img/remote/1460000010676395); 我們為何需要網關 引用 別人 的一句話: ...

    CoXie 評論0 收藏0
  • FastD 最佳實踐二: 構建配置中心

    摘要:過去專門做了一篇文檔來構建配置中心,基于的配置中心。環境要求及構建步驟可參考搭建配置中心隨著業務增長,部署的機器可能會隨著增長,增加配置難度和維護難度。最終架構圖如下無論擴展多少個業務應用,僅需要一個配置中心即可完成多處配置修改。 過去專門做了一篇文檔來構建配置中心,基于 zookeeper 的配置中心。 環境要求及構建步驟可參考: QConf搭建配置中心 隨著業務增長,部署的機器可能...

    noONE 評論0 收藏0
  • FastD 最佳實踐六: 為應用添加調用鏈監控 Zipkin

    摘要:調整配置文件在選項中,追加即可。有了以上系統常規監控日志集中分析應用調用鏈監控,我們的業務就可以變得更加透明,清晰,可控。相關文章最佳實踐四構建系統可視化監控最佳實踐五構建日志分析 zipkin是一個開放源代碼分布式的跟蹤系統,由Twitter公司開源,它致力于收集服務的定時數據,以解決微服務架構中的延遲問題,包括數據的收集、存儲、查找和展現。它的理論模型來自于Google Dappe...

    jayce 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<