真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用docker怎么實(shí)現(xiàn)日志監(jiān)控

這篇文章給大家介紹使用docker怎么實(shí)現(xiàn)日志監(jiān)控,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

成都創(chuàng)新互聯(lián)公司成都網(wǎng)站建設(shè)定制網(wǎng)站開(kāi)發(fā),是成都網(wǎng)站開(kāi)發(fā)公司,為成都發(fā)電機(jī)維修提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開(kāi)發(fā)等。成都網(wǎng)站改版熱線:13518219792

  • 日志處理機(jī)制

    • 我們先來(lái)了解一下docker日志處理的機(jī)制,當(dāng)啟動(dòng)一個(gè)容器的時(shí)候,它其實(shí)是docker daemon的一個(gè)子進(jìn)程,docker daemon可以拿到你容器里面進(jìn)程的標(biāo)準(zhǔn)輸出,拿到標(biāo)準(zhǔn)輸出后,它會(huì)通過(guò)自身的一個(gè)LogDriver模塊來(lái)處理,LogDriver支持的方式很多,可以寫(xiě)到本地的文件(默認(rèn)方式),可以發(fā)送到syslog等。

    • docker會(huì)默認(rèn)手機(jī)應(yīng)用程序的標(biāo)準(zhǔn)輸出存儲(chǔ)到一個(gè)json.log的文件中,文件的格式類似下面這種:

      {"log": "root@c835298de6dd:/# ls\r\n", "stream": "stdout", "time": "xxoo.155863426Z"}
      {"log":"bin boot dev\u0009etc home lib\u0009lib64 media mnt opt\u0009proc root run sbin selinux\u0009srv sys tmp usr var\r\n"}

      以一行一個(gè)作為一條json數(shù)據(jù)存儲(chǔ)。docker的這種日志存儲(chǔ)方式是可以配置的,具體參數(shù)可以在運(yùn)行run啟動(dòng)容器的時(shí)候通過(guò)log-driver進(jìn)行配置,具體配置可以參考log-driver。

    • docker默認(rèn)使用了json-file driver作為log driver,而gelf則是我們需要使用的log driver。當(dāng)容器多了,或者是采用類似swarm集群部署docker的時(shí)候,各種日志分散存儲(chǔ)在各個(gè)json.log文件中,當(dāng)查找問(wèn)題或者進(jìn)行相關(guān)統(tǒng)計(jì)的時(shí)候,分散的日志對(duì)我們來(lái)說(shuō)非常不友好。我們需要一個(gè)能夠集中管理docker日志的工具,這就是graylog。

  • Graylog

    • docker原生支持graylog協(xié)議,直接將日志發(fā)送到graylog(通過(guò)gelf協(xié)議);

    • graylog官方提供了將本身部署在docker的支持。

  • graylog官方提供了dockerfile供我們快速的在docker上部署日志系統(tǒng),在這個(gè)docker hub的地址中,也提供了docker-compose.yml來(lái)快速部署整個(gè)graylog棧,包含了MongoDB、elasticsearch,而不需要分別單獨(dú)進(jìn)行部署。

    https://hub.docker.com/r/graylog/graylog

  • graylog部署

    • 創(chuàng)建一個(gè)目錄用來(lái)部署graylog,本文假設(shè)目錄為/root/graylog,以下所有操作都是在/root/graylog中進(jìn)行的。

    • 初始化目錄和配置文件

      # 創(chuàng)建數(shù)據(jù)目錄
      mkdir -p ./graylog/data
      # 創(chuàng)建配置文件目錄
      mkdir -p ./graylog/config
      cd ./graylog/config
      # 直接下載官方推薦的配置文件
      wget https://raw.githubusercontent.com/Graylog2/graylog-docker/2.5/config/graylog.conf
      # 日志配置文件
      wget https://raw.githubusercontent.com/Graylog2/graylog-docker/2.5/config/log4j2.xml

    • 修改下載完的graylog.conf中的root_timezone為GMT+0800中國(guó)時(shí)區(qū)

      root_timezone=Etc/GMT-8

    • 新建docker-compose.yml來(lái)供docker-compose快速啟動(dòng)完成服務(wù)。需要注意的是,由于docker-compose內(nèi)容較多,我們以附件的形式存放在了當(dāng)前同級(jí)目錄;

    • 啟動(dòng)整個(gè)服務(wù)

      docker-compose up

    • 如果沒(méi)有問(wèn)題的話,會(huì)看到graylog webserver started的終端輸出消息。訪問(wèn)http://{server}:9000會(huì)看到graylog的web界面,使用用戶名admin,密碼admin來(lái)登錄后臺(tái),至此部署完成。

  • 完整的docker-compose文件

    version: '2'
    services:
      mongodb:
        image: mongo:3
        volumes:
          - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
          - mongo_data:/data/db
      elasticsearch:
        image: elasticsearch:6.6.2
        volumes:
          - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
          - es_data:/usr/share/elasticsearch/data
    # 這里需要在本地添加一個(gè)jvm.options文件,并且指定垃圾回收器為G1GC,否則無(wú)法啟動(dòng)成功
          - /Users/zhangxufeng/xufeng.zhang/docker/conf-compose/graylog/graylog/jvm.options:/usr/share/elasticsearch/config/jvm.options
        environment:
          - http.host=0.0.0.0
          - transport.host=localhost
          - network.host=0.0.0.0
          - xpack.security.enabled=false
          - xpack.watcher.enabled=false
          - xpack.monitoring.enabled=false
          - xpack.security.audit.enabled=false
          - xpack.ml.enabled=false
          - xpack.graph.enabled=false
          - ES_JAVA_OPTS=-Xms512m -Xmx512m -XX:+UseG1GC
        ulimits:
          memlock:
            soft: -1
            hard: -1
        mem_limit: 512M
      graylog:
        image: graylog/graylog:2.5
        volumes:
          - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
          - graylog_journal:/usr/share/graylog/data/journal
          - ./graylog/config:/usr/share/graylog/data/config
        environment:
          - GRAYLOG_PASSWORD_SECRET=admin_zxfwy1314_
          - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
          - GRAYLOG_WEB_ENDPOINT_URI=http://127.0.0.1:9000/api
        links:
          - mongodb:mongo
          - elasticsearch
        depends_on:
          - mongodb
          - elasticsearch
        ports:
          - 9000:9000
          - 514:514
          - 514:514/udp
          - 12201:12201
          - 12201:12201/udp
    volumes:
      mongo_data:
        driver: local
      es_data:
        driver: local
      graylog_journal:
        driver: local

  • Graylog系統(tǒng)配置

關(guān)于使用docker怎么實(shí)現(xiàn)日志監(jiān)控就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


文章題目:使用docker怎么實(shí)現(xiàn)日志監(jiān)控
網(wǎng)站網(wǎng)址:
http://weahome.cn/article/ppcdcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部