摘要:日志管理是一件麻煩的事情,特別是服務(wù)多的情況下出了問(wèn)題需要排錯(cuò)分析非常困難,一般會(huì)使用,但這篇文章將會(huì)介紹另外一個(gè)同樣優(yōu)秀的日志聚合平臺(tái)準(zhǔn)備工作安裝修改鏡像倉(cāng)庫(kù)安裝安裝如果覺得麻煩可以用這個(gè)部署輔助工具自動(dòng)完成進(jìn)入工具目錄并自動(dòng)部署配置文
日志管理是一件麻煩的事情,特別是服務(wù)多的情況下出了問(wèn)題需要排錯(cuò)、分析非常困難,一般會(huì)使用 ELK,但這篇文章將會(huì)介紹另外一個(gè)同樣優(yōu)秀的日志聚合平臺(tái) Graylog
準(zhǔn)備工作安裝 docker、修改 docker 鏡像倉(cāng)庫(kù)、安裝 pip、安裝 docker-compose
# 如果覺得麻煩可以用這個(gè)部署輔助工具自動(dòng)完成 git clone https://github.com/kwkwc/dockerSH.git # 進(jìn)入工具目錄并自動(dòng)部署 cd dockerSH && ./deploy.shGraylog 配置文件
graylog 的配置文件有兩個(gè),graylog.conf、log4j2.xml,其中 graylog.conf 的內(nèi)容經(jīng)常會(huì)有改動(dòng),可能會(huì)導(dǎo)致啟動(dòng)失敗,所以請(qǐng)從下面的地址下載(同樣是官方配置,只是版本不同)
# graylog.conf https://github.com/kwkwc/dockerSH/blob/master/services/graylog/config/graylog.conf # log4j2.xml https://github.com/kwkwc/dockerSH/blob/master/services/graylog/config/log4j2.xml注意事項(xiàng)
graylog 依賴 mongo、elasticsearch,如果機(jī)器配置低可能會(huì)啟動(dòng)失敗docker-compose.yml 文件
由于個(gè)人傾向于服務(wù)的獨(dú)立性,所以會(huì)多帶帶配置 mongo、elasticsearch、graylogmongo
version: "2" services: graylog-mongo: restart: always image: mongo:3.6.4 container_name: graylog-mongo volumes: - ../data/graylog-mongo:/data/dbelasticsearch
version: "2" services: graylog-elasticsearch: restart: always image: elasticsearch:5.6.9 container_name: graylog-elasticsearch volumes: - ../data/graylog-elasticsearch:/usr/share/elasticsearch/data environment: - http.host=0.0.0.0 - transport.host=localhost - network.host=0.0.0.0 - xpack.security.enabled=false - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 mem_limit: 1ggraylog
version: "2" services: graylog: restart: always image: graylog/graylog:2.4.5-2 container_name: graylog volumes: # 配置文件這里掛載 - ./config:/usr/share/graylog/data/config # 持久化數(shù)據(jù) - ../data/graylog:/usr/share/graylog/data/journal environment: # 密碼鹽值,隨便改 - GRAYLOG_PASSWORD_SECRET=gr8r3hbnvfs73b8wefhweufpokdnc # 管理員名稱 - GRAYLOG_ROOT_USERNAME=admin # 密碼需要填寫 SHA256 加密的密文,例如這里是 admin # echo -n admin | shasum -a 256 - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 # elasticsearch host - GRAYLOG_ELASTICSEARCH_HOSTS=http://graylog-elasticsearch:9200 # mongo host - GRAYLOG_MONGODB_URI=mongodb://graylog-mongo/graylog # 時(shí)區(qū) - GRAYLOG_ROOT_TIMEZONE=Asia/Shanghai # 將 x.x.x.x 替換成你的 IP - GRAYLOG_WEB_ENDPOINT_URI=http://x.x.x.x:9000/api - GRAYLOG_WEB_LISTEN_URI=http://0.0.0.0:9000/ - GRAYLOG_REST_LISTEN_URI=http://0.0.0.0:9000/api # 其他配置請(qǐng)參考 graylog.conf 文件, 在需要覆蓋的配置項(xiàng)前面加 "GRAYLOG_",換成大寫 ports: # web 和 api 端口 - 9000:9000 # Syslog TCP - 514:514 # Syslog UDP - 514:514/udp # GELF TCP - 12201:12201 # GELF UDP - 12201:12201/udp啟動(dòng)
依次啟動(dòng) mongo、elasticsearch、graylog
docker-compose up -d瀏覽器打開
http://127.0.0.1:9000搭建完成 設(shè)置
使用前需要先設(shè)置輸入點(diǎn)
點(diǎn)擊 “頂部導(dǎo)航欄” –> “System / Inputs” –> “Inputs”
“Select Input” 選擇 “GELF UDP” 然后按 “Launch new input”
選擇 “Node”,填寫 “Title”,保存設(shè)置完成
出現(xiàn)綠色 “RUNNING”,證明運(yùn)行成功docker 容器日志收集
以 redis 作為示例,配置日志驅(qū)動(dòng)docker-compose.yml
version: "2" services: redis: restart: always image: redis:4.0.10 container_name: redis logging: driver: gelf options: # 將 x.x.x.x 替換成你的 IP gelf-address: udp://x.x.x.x:12201 tag: "redis"查看
redis 啟動(dòng)后就可以在 graylog 的 “Search” 界面看到 redis 的日志
默認(rèn)不會(huì)顯示 “tag” 標(biāo)簽欄,我們需要顯示用于區(qū)分日志,只需要在左側(cè) “Fields” 打勾就行非 docker 容器日志收集
需要使用第三方工具收集日志再轉(zhuǎn)發(fā)到 graylog,也可以直接發(fā)送,例如 python 可以使用 graypy 這個(gè)庫(kù)搜索
例如要搜索 redis 中包含 “WARNING” 字眼的日志(注意 “AND”、“OR” 等條件需要大寫)備注
docker 的日志驅(qū)動(dòng)有幾種,大多 ELK 的文章會(huì)介紹使用 syslog,但使用 syslog 在日志服務(wù)器斷開重啟后就不會(huì)接收到新日志,gelf 是 graylog 的日志格式,日志服務(wù)器斷開重啟依舊可以接收到新日志
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/27420.html
摘要:寫在前面的話網(wǎng)上看到的文章都是比較年前的了,剛好自己整合了下,來(lái)分享下經(jīng)驗(yàn)。目前所了解到的應(yīng)用是通過(guò)所使用的不同的日志框架來(lái)推送數(shù)據(jù)到里面,常用的有,等。啟動(dòng)項(xiàng)目啟動(dòng)項(xiàng)目之后,即可在控制臺(tái)中看到項(xiàng)目啟動(dòng)時(shí)打印的日志 寫在前面的話 網(wǎng)上看到的文章都是比較1、2年前的了,剛好自己整合了下,來(lái)分享下經(jīng)驗(yàn)。 目前所了解到的springboot應(yīng)用是通過(guò)所使用的不同的日志框架來(lái)推送數(shù)據(jù)到gra...
摘要:來(lái)自用戶的最佳實(shí)踐分享,如何用阿里開源的日志收集工具收集機(jī)器上所有應(yīng)用日志。具有如下特性一個(gè)單獨(dú)的進(jìn)程收集機(jī)器上所有容器的日志。無(wú)論是強(qiáng)大的阿里云日志服務(wù),還是比較流行的組合,甚至是,都能把日志投遞到正確的地點(diǎn)。 來(lái)自用戶的最佳實(shí)踐分享,如何用阿里開源的Docker日志收集工具fluentd-pilot收集機(jī)器上所有Docker應(yīng)用日志。 fluentd-pilot簡(jiǎn)介 fluentd...
摘要:方案匯總一開源方案采集展示報(bào)警二商業(yè)方案三云廠商騰訊云阿里云百度云華為云四主機(jī)監(jiān)控五日志監(jiān)控六服務(wù)監(jiān)控七存儲(chǔ)后端腦圖本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見 概述 隨著越來(lái)越多的線上服務(wù)docker化,對(duì)容器的監(jiān)控、報(bào)警變得越來(lái)越重要,容器監(jiān)控有多種形態(tài),有些是開源的(如promethues),而另一些則是商業(yè)性質(zhì)的(如Weave),有些是集成在云廠商一鍵部署的(Rancher、谷歌云)...
摘要:方案匯總一開源方案采集展示報(bào)警二商業(yè)方案三云廠商騰訊云阿里云百度云華為云四主機(jī)監(jiān)控五日志監(jiān)控六服務(wù)監(jiān)控七存儲(chǔ)后端腦圖本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見 概述 隨著越來(lái)越多的線上服務(wù)docker化,對(duì)容器的監(jiān)控、報(bào)警變得越來(lái)越重要,容器監(jiān)控有多種形態(tài),有些是開源的(如promethues),而另一些則是商業(yè)性質(zhì)的(如Weave),有些是集成在云廠商一鍵部署的(Rancher、谷歌云)...
摘要:使用管理日志標(biāo)簽空格分隔日志管理本文作者是,本文原文地址是當(dāng)前版本的一個(gè)問(wèn)題就是日志管理。任何長(zhǎng)時(shí)間運(yùn)行的進(jìn)程產(chǎn)生的日志都是冗長(zhǎng)的,這會(huì)導(dǎo)致仔細(xì)檢查非常困難。所有文件這時(shí)能被轉(zhuǎn)發(fā)到一個(gè)中央日志系統(tǒng)。 使用 Fluentd 管理 Docker 日志 標(biāo)簽(空格分隔): Fluentd Docker 日志管理 本文作者是 jwilder,本文原文地址是 Docker Log M...
閱讀 884·2019-08-30 14:05
閱讀 1773·2019-08-30 11:08
閱讀 3279·2019-08-29 15:41
閱讀 3645·2019-08-23 18:31
閱讀 1587·2019-08-23 18:29
閱讀 606·2019-08-23 14:51
閱讀 2159·2019-08-23 13:53
閱讀 2199·2019-08-23 13:02