小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Fluentd部署:日志

 RealPython 2021-03-14

Fluentd是用來處理其他系統(tǒng)產生的日志的,它本身也會產生一些運行時日志。我們一起來了解一下Fluentd本身的日志機制。

Fluentd包含兩個日志層:全局日志和插件級日志。每個層次的日志都可以進行單獨配置。

  1. 日志級別

    Fluentd的日志包含6個級別:fatal、error、warn、info、debug和trace。級別依次遞增,高級別的日志包含低級別的日志。默認為info,所以默認情況下,日志中包含info、warn、error、fatal這4個級別的日志。

  2. 全局日志

    Fluentd內核使用全局日志配置,若插件沒有單獨設置自己的日志配置項,插件也共用全局日志配置項。可通過命令行或配置文件進行設置。

    1. 命令行

      -v、-vv用于增加日志級別,-q、-qq用于降低日志級別。

      $ fluentd -v ... # debug level$ fluentd -vv ... # trace level

      $ fluentd -q ... # warn level$ fluentd -qq ... # error leve

      使用命令行可以在不改變配置文件的情況下調整日志級別,方便調試。
    2. 配置文件
      也可以在配置文件中設置<system>的log_level來配置全局日志級別。
      <system> # equal to -qq option log_level error</system>

  3. 插件日志
    可通過@log_level對每個插件單獨設置日志級別,這個級別將覆蓋全局日志級別。
    <source> @type tail @log_level debug path /var/log/data.log ...</source><source> @type http @log_level fatal</source>
    上邊這個片段中,我們對兩個不同的輸入源分別設置了各自的日志級別。

  4. 日志格式
    如今天第一篇文章中所述,F(xiàn)luentd的日志支持text和json兩種格式,默認使用text,可在<system>中進行設定。
    <system> <log> format json time_format %Y-%m-%d </log></system>
    若使用json格式,
    2017-07-27 06:44:54 +0900 [info]: #0 fluentd worker is now running worker=0
    這條日志將會轉化為如下輸出:
    {"time":"2017-07-27","level":"info","message":"fluentd worker is now running worker=0","worker_id":0}

  5. 將日志寫入文件
    Fluentd默認將其日志輸出到stdout,可通過-o將日志輸出到文件中。
    $ fluentd -o /path/to/log_file
    若將日志寫入文件,默認情況下Fluentd不會進行日志輪轉,即會向指定的文件中不斷寫入日志,這可能會導致日志文件過大??赏ㄟ^命令行參數開啟日志輪轉功能。
    1. --log-rotate-age AGE
      這里AGE為整數或字符串,需要和下邊的rotate-size配合使用。
      整數表示輪轉文件個數;
      字符串表示輪轉頻率,可為daily、weekly或monthly。
    2. -log-rotate-size BYTES
      BYTES為輪轉文件的大小,達到此字節(jié)數即開始寫入新的文件。
      當rotate-age值為整數時,通過此配置項控制日志的輪轉。
      $ fluentd -c fluent.conf --log-rotate-age 5 --log-rotate-size 104857600
  6. 捕獲Fluentd日志
    Fluentd自身日志也可以被采集。
    Fluentd使用fluent作為自身日志的tag,我們可以通過<label @FLUENT_LOG>來處理Fluentd自身的日志。
    # Add hostname for identifying the server<label @FLUENT_LOG> <filter fluent.*> @type record_transformer <record> host "#{Socket.gethostname}" </record> </filter>
    <match fluent.*> @type monitoring_plugin # parameters... </match><label>
    這樣做的一個用處是用來監(jiān)控Fluentd運行情況。


    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多