摘要:是一個(gè)時(shí)序數(shù)據(jù)庫,專門用于存儲時(shí)序相關(guān)數(shù)據(jù),很適合存儲的數(shù)據(jù)。容器監(jiān)控?cái)?shù)據(jù)存儲配置和運(yùn)行是一個(gè)開源的分布式時(shí)序數(shù)據(jù)庫,使用語言開發(fā)。的特色功能作為時(shí)序數(shù)據(jù)庫,相比傳統(tǒng)數(shù)據(jù)庫它有很多特色功能,比如獨(dú)有的一些特色函數(shù)和連續(xù)查詢功能。
本文已獲得原作者_(dá)_七把刀__授權(quán)。
隨著線上服務(wù)的全面 docker 化,對 docker 容器的監(jiān)控就很重要了。SA 的監(jiān)控系統(tǒng)是物理機(jī)的監(jiān)控,在一個(gè)物理機(jī)跑多個(gè)容器的情況下,我們是沒法從一個(gè)監(jiān)控圖表里面區(qū)分各個(gè)容器的資源占用情況的。為了更好的監(jiān)控容器運(yùn)行情況,更重要的是為了后續(xù)的容器動態(tài)調(diào)度算法需要的大量運(yùn)行時(shí)數(shù)據(jù)的搜集,經(jīng)過調(diào)研后,基于 CAdvisor + InfluxDB + Grafana 搭建了這套容器監(jiān)控系統(tǒng)。1 容器監(jiān)控方案選擇
在調(diào)研容器監(jiān)控系統(tǒng)的時(shí)候,其實(shí)是有很多選擇的,比如 docker 自帶的 docker stats 命令,
Scout,Data Dog,Sysdig Cloud,
Sensu Monitoring Framework,CAdvisor 等。
通過 docker stats 命令可以很方便的看到當(dāng)前宿主機(jī)上所有容器的 CPU,內(nèi)存以及網(wǎng)絡(luò)流量等數(shù)據(jù)。但是 docker stats 命令的缺點(diǎn)就是統(tǒng)計(jì)的只是當(dāng)前宿主機(jī)的所有容器,而獲取的監(jiān)控?cái)?shù)據(jù)是實(shí)時(shí)的,沒有地方存儲,也沒有報(bào)警功能。
? ssj docker stats CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS f216e9be15bf 0.06% 76.27 MiB / 992.6 MiB 7.68% 5.94 kB / 2.13 kB 16.2 MB / 0 B 7 ead53a6166f0 0.00% 8.703 MiB / 992.6 MiB 0.88% 578 B / 578 B 7.01 MB / 0 B 2
而Scout、Sysdig Cloud ,Data Dog雖然都提供了較完善的服務(wù),但是它們都是托管的服務(wù)而且都收費(fèi),于是也不在考慮范圍之內(nèi)。Sensu Monitoring Framework集成度較高,也免費(fèi),但是部署過于復(fù)雜。最后,我們選擇了 CAdvisor 做容器監(jiān)控工具。
CAdvisor谷歌出品,優(yōu)點(diǎn)是開源產(chǎn)品,監(jiān)控指標(biāo)齊全,部署方便,而且有官方的 docker 鏡像。缺點(diǎn)是集成度不高,默認(rèn)只在本地保存2分鐘數(shù)據(jù)。不過在調(diào)研之后發(fā)現(xiàn)可以加上 InfluxDB 存儲數(shù)據(jù),對接 Grafana 展示圖表,比較便利地搭建好了容器監(jiān)控系統(tǒng),數(shù)據(jù)收集和圖表展示效果良好,對系統(tǒng)性能也幾乎沒有什么影響。
2 容器資源監(jiān)控-CAdvisor 2.1 部署與運(yùn)行CAdvisor是一個(gè)容器資源監(jiān)控工具,包括容器的內(nèi)存,CPU,網(wǎng)絡(luò)IO,磁盤IO等監(jiān)控,同時(shí)提供了一個(gè)WEB頁面用于查看容器的實(shí)時(shí)運(yùn)行狀態(tài)。CAdvisor默認(rèn)存儲2分鐘的數(shù)據(jù),而且只是針對單物理機(jī)。不過,CAdvisor提供了很多數(shù)據(jù)集成接口,支持InfluxDB,Redis,Kafka,Elasticsearch等集成,可以加上對應(yīng)配置將監(jiān)控?cái)?shù)據(jù)發(fā)往這些數(shù)據(jù)庫存儲起來。
由于CAdvisor已經(jīng)容器化,部署和運(yùn)行很簡單,執(zhí)行如下命令即可:
docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor:latest
運(yùn)行之后,就可以在瀏覽器打開http://ip:8080查看宿主機(jī)的容器監(jiān)控?cái)?shù)據(jù)了。
2.2 集成 InfluxDB如前面說到,CAdvisor 默認(rèn)只在本機(jī)保存最近2分鐘的數(shù)據(jù),為了持久化存儲數(shù)據(jù)和統(tǒng)一收集展示監(jiān)控?cái)?shù)據(jù),需要將數(shù)據(jù)存儲到 InfluxDB中。InfluxDB 是一個(gè)時(shí)序數(shù)據(jù)庫,專門用于存儲時(shí)序相關(guān)數(shù)據(jù),很適合存儲 CAdvisor 的數(shù)據(jù)。而且,CAdvisor 本身已經(jīng)提供了 InfluxDB 的集成方法,在啟動容器時(shí)指定配置即可。我們使用了管理容器來管理 CAdvisor,修改后的啟動配置如下。主要指定了存儲引擎為 InfluxDB,以及指定 InfluxDB 的 HTTP API 的地址(這里用到了自建 DNS 的域名 influxdb.service.consul 以避免暴露外部端口),還有對應(yīng)的數(shù)據(jù)庫和用戶名密碼。
{ "binds": [ "/:/rootfs:ro", "/var/run:/var/run:rw", "/sys:/sys:ro", "/home/docker/var/lib/docker/:/var/lib/docker:ro" ], "image": "forum-cadvisor", "labels": { "type": "cadvisor" }, "command": " -docker_only=true -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb.service.consul:8086 -storage_driver_user=testuser -storage_driver_password=testpwd", "tag": "latest", "hostname": "cadvisor-{{lan_ip}}" }
注意到我們使用了一個(gè)自己的 forum-cadvisor 鏡像來代替官方的 cadvisor 鏡像,這是為了修復(fù) cadvisor 一些問題以及基于管理方便性的考慮。
2.3 CAdvisor 存在的問題 1)運(yùn)行報(bào)錯(cuò)問題運(yùn)行最新的 CAdvisor 容器的時(shí)候,發(fā)現(xiàn)容器有如下的錯(cuò)誤日志:
E0910 02:20:53.990423 1 fsHandler.go:121] failed to collect filesystem stats - rootDiskErr:, rootInodeErr: cmd [find /rootfs/home/docker/var/lib/docker/aufs/diff/2575b6816f03eee84c8915442129243fc03e0f5ce35c48dc42eb20a230384069 -xdev -printf .] failed. stderr: find: unrecognized: -printf
這個(gè)問題是因?yàn)闆]有安裝 findutils 工具導(dǎo)致的。
2)統(tǒng)計(jì)不到容器內(nèi)存數(shù)據(jù)Debian默認(rèn)沒有開啟 CGroup Memory 的支持,CAdvisor 默認(rèn)情況下無法統(tǒng)計(jì)到容器內(nèi)存數(shù)據(jù),需要修改 GRUB 啟動參數(shù),修改文件/etc/default/grub,加入下面這行:
GRUB_CMDLINE_LINUX=" cgroup_enable=memory"
然后更新 grub2重啟即可。
# sudo update-grub2 && reboot3)網(wǎng)絡(luò)流量監(jiān)控?cái)?shù)據(jù)錯(cuò)誤問題
在 CAdvisor 上線一段時(shí)間后,順安發(fā)現(xiàn)容器的網(wǎng)絡(luò)數(shù)據(jù)跟實(shí)際情況不符,并查找資料后發(fā)現(xiàn)問題是因?yàn)?CAdvisor 默認(rèn)只統(tǒng)計(jì)第一個(gè)網(wǎng)卡的流量,而在我們的容器中是有多個(gè) overlay 網(wǎng)絡(luò)的,需要統(tǒng)計(jì)容器中所有的網(wǎng)卡流量。于是我修改了 CAdvisor 統(tǒng)計(jì)網(wǎng)絡(luò)流量部分的代碼并重新編譯了一個(gè)版本在線上使用,修改的代碼在這里。
最后,我們自定義的鏡像文件 forum-cadvisor.Dockerfile 是這樣的(src/cadvisor 是修改后重新編譯的 cadvisor 可執(zhí)行文件):
FROM google/cadvisor:latest RUN apk add --update findutils && rm -rf /var/cache/apk/* COPY src/cadvisor /usr/bin/cadvisor2.4 CAdvisor 原理簡介
CAdvisor 運(yùn)行時(shí)掛載了宿主機(jī)根目錄,docker 根目錄等多個(gè)目錄,由此可以從中讀取容器的運(yùn)行時(shí)信息。docker 基礎(chǔ)技術(shù)有 Linux namespace,Control Group(CGroup),AUFS 等,其中 CGroup 用于系統(tǒng)資源限制和優(yōu)先級控制的。
宿主機(jī)的/sys/fs/cgroup/目錄下面存儲的就是 CGroup 的內(nèi)容了,CGroup 包括多個(gè)子系統(tǒng),如對塊設(shè)備的 blkio,cpu,內(nèi)存,網(wǎng)絡(luò) IO等限制。Docker 在 CGroup 里面的各個(gè)子系統(tǒng)中創(chuàng)建了 docker 目錄,而 CAdvisor 運(yùn)行時(shí)掛載了宿主機(jī)根目錄和 /sys目錄,從而CAdvisor 可以讀取到容器的資源使用記錄。比如下面可以看到容器b1f257當(dāng)前時(shí)刻的 CPU 的使用統(tǒng)計(jì)。CGroup 詳細(xì)介紹可以參見DOCKER 基礎(chǔ)技術(shù):LINUX CGROUP 。
# cat /sys/fs/cgroup/cpu/docker/b1f25723c5c3a17df5026cb60e1d1e1600feb293911362328bd17f671802dd31/cpuacct.stat user 95191 system 5028
而容器網(wǎng)絡(luò)流量 CAdvisor 是從/proc/PID/net/dev中讀取的,如上面的容器b1f257進(jìn)程在宿主機(jī)的 PID 為6748,可以看到容器所有網(wǎng)卡的接收和發(fā)送流量以及錯(cuò)誤數(shù)等。CAdvisor 定期讀取對應(yīng)目錄下面的數(shù)據(jù)并定期發(fā)送到指定的存儲引擎存儲,而本地會默認(rèn)存儲最近2分鐘的數(shù)據(jù)并提供UI界面查看。
# cat /proc/6748/net/dev Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed eth0: 6266314 512 0 0 0 0 0 0 22787 292 0 0 0 0 0 0 eth1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 lo: 5926805 5601 0 0 0 0 0 0 5926805 5601 0 0 0 0 0 03 容器監(jiān)控?cái)?shù)據(jù)存儲-InfluxDB 3.1 InfluxDB 配置和運(yùn)行
InfluxDB是一個(gè)開源的分布式時(shí)序數(shù)據(jù)庫,使用 GO 語言開發(fā)。特別適合用于時(shí)序類型數(shù)據(jù)存儲,CAdvisor 搜集的容器監(jiān)控?cái)?shù)據(jù)用 InfluxDB 存儲就很合適,而且CAdvisor 本身就提供了 InfluxDB 的支持,集成起來非常方便。
由于線上服務(wù)都 docker 化了,所以 InfluxDB 我們也是選擇用容器來跑,通過容器管理系統(tǒng)統(tǒng)一管理。容器運(yùn)行時(shí)的核心配置如下,主要掛載了數(shù)據(jù)庫目錄,以及配置了 consul 的服務(wù)注冊,這樣,CAdvisor 由于和 InfluxDB 處于同一個(gè) overlay 子網(wǎng)中,不需要再開放端口給外部訪問,CAdvisor 直接通過influxdb.service.consul:8086即可連接到 InfluxDB。
{ "binds": [ "{{volume_dir}}/influxdb/data:/var/lib/influxdb" ], "environment": { "SERVICE_INFO": { "Name": "influxdb", "Address": "{{register_ip}}", "Port": 8086, }, }, "image": "influxdb", "name": "influxdb-{{namespace}}", "tag": "latest" }
為了存儲 CAdvisor 的數(shù)據(jù),需要預(yù)先創(chuàng)建好數(shù)據(jù)庫并配置用戶名密碼以及相關(guān)權(quán)限。InfluxDB 提供了一套 influx 的 CLI,跟 mysql client 很相似。另外,InfluxDB 的數(shù)據(jù)庫操作語言 InfluxQL 跟 SQL 語法也基本一致。進(jìn)入 InfluxDB 容器,運(yùn)行下面命令創(chuàng)建數(shù)據(jù)庫和用戶密碼并授權(quán)。
# influx Connected to http://localhost:8086 version 1.3.5 InfluxDB shell version: 1.3.5 > create database cadvisor ## 創(chuàng)建數(shù)據(jù)庫cadvisor > show databases name: databases name ---- _internal cadvisor > CREATE USER testuser WITH PASSWORD "testpwd" ## 創(chuàng)建用戶和設(shè)置密碼 > GRANT ALL PRIVILEGES ON cadvisor TO testuser ## 授權(quán)數(shù)據(jù)庫給指定用戶 > CREATE RETENTION POLICY "cadvisor_retention" ON "cadvisor" DURATION 30d REPLICATION 1 DEFAULT ## 創(chuàng)建默認(rèn)的數(shù)據(jù)保留策略,設(shè)置保存時(shí)間30天,副本為1
配置成功后,可以看到 CAdvisor 會通過 InfluxDB 的 HTTP API 自動創(chuàng)建好數(shù)據(jù)表,并將數(shù)據(jù)發(fā)送到 InfluxDB 存儲起來。
root@b1f25723c5c3:/# influx Connected to http://localhost:8086 version 1.3.1 InfluxDB shell version: 1.3.1 > use cadvisor Using database cadvisor > show measurements # 顯示數(shù)據(jù)表與 SQL 略有不同,用的是關(guān)鍵字 measurements name: measurements name ---- cpu_usage_per_cpu cpu_usage_system cpu_usage_total cpu_usage_user fs_limit fs_usage load_average memory_usage memory_working_set rx_bytes rx_errors tx_bytes tx_errors > select * from rx_bytes order by time desc limit 2; name: rx_bytes time container_name game machine namespace type value ---- -------------- ---- ------- --------- ---- ----- 1504685259707223192 consul-agent-dev cadvisor-10.x.x.x dev consul-agent 17858781633 1504685257769130660 manager-agent-dev cadvisor-10.x.x.x dev manager-agent 13593983.2 InfluxDB 重要概念
influxdb 有一些重要概念:database,timestamp,field key, field value, field set,tag key,tag value,tag set,measurement, retention policy ,series,point,下面簡要說明一下:
database:數(shù)據(jù)庫,如之前創(chuàng)建的數(shù)據(jù)庫 cadvisor。InfluxDB 不是 CRUD 數(shù)據(jù)庫,更像是一個(gè) CR-ud 數(shù)據(jù)庫,它優(yōu)先考慮的是增加和讀取數(shù)據(jù)而不是更新刪除數(shù)據(jù)的性能。
timestamp:時(shí)間戳,因?yàn)?InfluxDB 是時(shí)序數(shù)據(jù)庫,它的數(shù)據(jù)里面都有一列名為 time 的列,存儲記錄生成時(shí)間。如 rx_bytes 中的 time 列,存儲的就是時(shí)間戳。
fields: 包括 field key,field value 和 field set 幾個(gè)概念。field key是字段名,在 rx_bytes 表中,字段名為 value。field value 是字段值,如 17858781633,1359398等。而 field set 是字段集合,由 field key 和 field value 構(gòu)成,如 rx_bytes 中的字段集合如下:
value = 17858781633 value = 1359398
在 InfluxDB 表中,字段必須存在,而且字段是沒有索引的。所以,字段相當(dāng)于傳統(tǒng)數(shù)據(jù)庫中沒有索引的列。
tags:包括 tag key, tag value, tag set 幾個(gè)概念。tag key 是標(biāo)簽名,在 rx_bytes 表中,container_name, game, machine, namespace,type 都是標(biāo)簽。tag value 就是標(biāo)簽的值了。tag set就是標(biāo)簽集合,由 tag key 和 tag value 構(gòu)成。InfluxDB 中標(biāo)簽是可選的,不過標(biāo)簽是有索引的。如果查詢中經(jīng)常用的字段,建議設(shè)置為標(biāo)簽而不是字段。標(biāo)簽相當(dāng)于傳統(tǒng)數(shù)據(jù)庫中有索引的列。
retention policy: 數(shù)據(jù)保留策略,cadvisor 的保留策略為cadvisor_retention,存儲30天,副本為1。一個(gè)數(shù)據(jù)庫可以有多個(gè)保留策略。
measurement:類似傳統(tǒng)數(shù)據(jù)看的表,是字段,標(biāo)簽以及time列的集合。
series:共享同一個(gè) retention policy,measurement 以及 tag set 的數(shù)據(jù)集合。
point:同一個(gè) series 中具有相同時(shí)間的字段集合,相當(dāng)于 SQL 中的數(shù)據(jù)行。
3.3 InfluxDB 的特色功能InfluxDB 作為時(shí)序數(shù)據(jù)庫,相比傳統(tǒng)數(shù)據(jù)庫它有很多特色功能,比如獨(dú)有的一些特色函數(shù)和連續(xù)查詢功能。關(guān)于 InfluxDB 的更多詳細(xì)內(nèi)容可以參見官方文檔。
特色函數(shù):有一些聚合類函數(shù)如 FILL()用于填充數(shù)據(jù), INTEGRAL()計(jì)算字段所覆蓋的曲面面積,SPREAD()計(jì)算表中最大與最小值的差值, STDDEV()計(jì)算字段標(biāo)準(zhǔn)差,MEAN()計(jì)算平均值, MEDIAN()計(jì)算中位數(shù),SAMPLE()函數(shù)用于隨機(jī)取樣以及 DERIVATIVE()計(jì)算數(shù)據(jù)變化比等。
連續(xù)查詢:InfluxDB 獨(dú)有的連續(xù)查詢功能可以定期的縮小取樣,就原數(shù)據(jù)庫的數(shù)據(jù)縮小取樣后存儲到指定的新的數(shù)據(jù)庫或者新的數(shù)據(jù)表中,在歷史數(shù)據(jù)統(tǒng)計(jì)整理時(shí)特別有用。
4 容器監(jiān)控?cái)?shù)據(jù)可視化-Grafana通過 CAdvisor 搜集容器的監(jiān)控?cái)?shù)據(jù),存儲到 InfluxDB 中,接下來就剩數(shù)據(jù)可視化的問題了。畢竟,一個(gè)可視化的圖表可以很方便快速的看到容器的一些問題。圖表展示我選擇的是 Grafana。
Grafana 是一個(gè)開源的數(shù)據(jù)監(jiān)控分析可視化平臺,支持多種數(shù)據(jù)源配置(支持的數(shù)據(jù)源包括 InfluxDB,MySQL,Elasticsearch,OpenTSDB,Graphite 等)和豐富的插件及模板功能,支持圖表權(quán)限控制和報(bào)警。
Grafana 同樣也是以容器方式運(yùn)行,容器啟動配置如下,主要是掛載了 grafana 的數(shù)據(jù)和日志目錄,設(shè)置了管理員的密碼,并開放了8888端口作為 grafana 的訪問端口:
{ "binds": [ "{{volume_dir}}/grafana/data:/var/lib/grafana", "{{volume_dir}}/grafana/log:/var/log/grafana" ], "environment": { "GF_SECURITY_ADMIN_PASSWORD": "testpwd" }, "image": "grafana/grafana", "name": "grafana-{{namespace}}", "port_bindings": { "3000": 8888 }, "ports": [ 3000 ], "tag": "latest" }
啟動之后就可以在http://IP:8888/頁面去配置數(shù)據(jù)源了,一個(gè)示例如下:
配置完數(shù)據(jù)源,就可以添加 Panel 來實(shí)現(xiàn)數(shù)據(jù)可視化了。Grafana 的圖表功能十分強(qiáng)大,在配置數(shù)據(jù)查詢語句的時(shí)候也是十分智能,會對數(shù)據(jù)源,數(shù)據(jù)表,數(shù)據(jù)字段自動提示,而且對 InfluxDB 的所有函數(shù)都有分類可以直接選取配置。需要注意的一點(diǎn)就是在配置字節(jié)類數(shù)據(jù)(比如網(wǎng)卡接收流量 rx_bytes 和 內(nèi)存使用量 memory_usage)的時(shí)候單位要選 data(IEC) 這個(gè)類別。
5 總結(jié)使用 CAdvisor+InfluxDB+Grafana 構(gòu)建容器資源監(jiān)控系統(tǒng),是可行而且是較為簡便的方式。這三個(gè)組件全部以容器的方式運(yùn)行,也符合我們線上服務(wù)皆為容器的理念。目前已經(jīng)全面上線該監(jiān)控系統(tǒng),運(yùn)行正常,數(shù)據(jù)可視化效果良好。除了用于可視化監(jiān)控之外,這些數(shù)據(jù)后續(xù)還會用于系統(tǒng)異常檢測算法和容器智能調(diào)度算法中。
作者:__七把刀__
鏈接:https://www.jianshu.com/p/abf...
來源:簡書
更多相關(guān)內(nèi)容
Docker底層技術(shù)
Docker可視化監(jiān)控?看這篇文章
利用TICK搭建Docker容器可視化監(jiān)控中心
Docker容器可視化監(jiān)控中心搭建
如果你還想了解更多,想和技術(shù)同僚分享切磋,可掃下方二維碼,回復(fù)yw,加入掘金運(yùn)維技術(shù)交流群
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/27382.html
摘要:既然要組集群那就涉及諸如的資源調(diào)度管理等等一系列問題。目前涉及集群的三個(gè)主要的技術(shù)無外乎三種。從本文開始作者將會一一實(shí)踐這幾種主要的集群技術(shù),話不多說,現(xiàn)在開始。完全運(yùn)行于內(nèi)存中,體積小,啟動快。 showImg(https://segmentfault.com/img/remote/1460000015723680); 前言 相信Docker技術(shù)大家都有所了解,單個(gè)Docker能發(fā)...
摘要:當(dāng)然此時(shí)的局限性較大,比如沒有副本和負(fù)載均衡的概念,這導(dǎo)致服務(wù)無法高可用當(dāng)然也更不存在什么服務(wù)網(wǎng)絡(luò)管理和跨節(jié)點(diǎn)數(shù)據(jù)存儲這些東西沒有服務(wù)模型集群中服務(wù)間關(guān)系和啟動順序編排也很復(fù)雜于是就有了下面的的誕生。 showImg(https://segmentfault.com/img/remote/1460000015317037?w=1885&h=1153); 概述 在我的《Docker S...
摘要:是一個(gè)時(shí)序數(shù)據(jù)庫,專門用于存儲時(shí)序相關(guān)數(shù)據(jù),很適合存儲的數(shù)據(jù)。容器監(jiān)控?cái)?shù)據(jù)存儲配置和運(yùn)行是一個(gè)開源的分布式時(shí)序數(shù)據(jù)庫,使用語言開發(fā)。的特色功能作為時(shí)序數(shù)據(jù)庫,相比傳統(tǒng)數(shù)據(jù)庫它有很多特色功能,比如獨(dú)有的一些特色函數(shù)和連續(xù)查詢功能。 本文已獲得原作者_(dá)_七把刀__授權(quán)。 隨著線上服務(wù)的全面 docker 化,對 docker 容器的監(jiān)控就很重要了。SA 的監(jiān)控系統(tǒng)是物理機(jī)的監(jiān)控,在一個(gè)物理...
摘要:發(fā)布不到兩天,上數(shù)已近,這個(gè)業(yè)界大熱的史上最輕量的開源發(fā)行版,你試過了沒資深架構(gòu)師來教你走出嘗鮮第一步使用教程在此前言昨天,正式發(fā)布了一款史上最輕量的開源發(fā)行版。大小只有,極簡,輕便,易于使用。 發(fā)布不到兩天,GitHub上Star數(shù)已近3000,這個(gè)業(yè)界大熱的、史上最輕量的開源Kubernetes發(fā)行版,你試過了沒? Rancher資深架構(gòu)師來教你走出嘗鮮第一步!使用教程在此! sh...
摘要:概述應(yīng)用一旦容器化以后,需要考慮的就是如何采集位于容器中的應(yīng)用程序的打印日志供運(yùn)維分析。 showImg(https://segmentfault.com/img/remote/1460000014146680); 概述 應(yīng)用一旦容器化以后,需要考慮的就是如何采集位于Docker容器中的應(yīng)用程序的打印日志供運(yùn)維分析。典型的比如 SpringBoot應(yīng)用的日志 收集。本文即將闡述如何利...
閱讀 2561·2021-09-02 15:40
閱讀 1565·2019-08-30 15:54
閱讀 1079·2019-08-30 12:48
閱讀 3398·2019-08-29 17:23
閱讀 1046·2019-08-28 18:04
閱讀 3664·2019-08-26 13:54
閱讀 606·2019-08-26 11:40
閱讀 2390·2019-08-26 10:15