摘要:基礎鏡像單播模式下檢測效果使用作為基礎鏡像因為沒有使用作為系統服務管理工具這在后面啟動進程的時候會帶來很多麻煩但是有解決方案由社區微信群大神給出的解決方案個人并未嘗試使用來統一管理進行管理進程
基礎鏡像
單播模式下檢測效果
使用centos:6作為基礎鏡像,因為centos:7沒有使用systemd作為系統服務管理工具.這在后面啟動ganglia進程的時候會帶來很多麻煩,但是有解決方案(由dockone社區微信群大神給出的解決方案,個人并未嘗試):
使用supervisor來統一管理進行
runt管理進程
DockerfileFROM centos:6 MAINTAINER wlu wlu@linkernetworks.com RUN rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm RUN yum install -y php-common php-cli php-gb php # install ganglia server RUN yum install -y rrdtool rrdtool-devel ganglia-web ganglia-gmetad ganglia-gmond ganglia-gmond-python httpd apr-devel zlib-devel libconfuse-devel expat-devel pcre-devel # install ganglia client #RUN yum install -y ganglia-gmond RUN mkdir -p /var/lib/ganglia && chown nobody:nobody /var/lib/ganglia && chmod 777 /var/lib/ganglia ADD supervisord.conf /etc/supervisord.conf RUN yum install -y python-setuptools && easy_install supervisor && yum clean all RUN yum install -y vim && ln -f -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]
注意:這里可以把多個指令合并以減少鏡像層數.
ganglia的配置 原理圖:ganglia可以監控整個集群的信息.這里有兩個概念:
ganglia 中央機器...對應gmetad進程.對應配置信息在/etc/ganglia/gmetad.conf(centos6下)
ganglia client...對應gmond進程.對應配置信息在/etc/ganglia/gmond.conf(centos6下)
有點類似于master和slave的關系.
在集群中需要有一個中央機器來統一接收其它機器上收集到的監控信息(也可以包括中央機器自身),在這個中央機器上運行gmetad進程.
在其它機器上運行gmond進程,用來收集機器上的監控信息.
ganglia的兩種模式 單播模式這種模式下client上的數據會發送給中央機器,下面看下client(即gmond)的配置(只摘取部分需要的配置項):
gmond.conf...... cluster { name = "unspecified" owner = "unspecified" latlong = "unspecified" url = "unspecified" } ...... udp_send_channel { #bind_hostname = yes # Highly recommended, soon to be default. # This option tells gmond to use a source address # that resolves to the machine"s hostname. Without # this, the metrics may appear to come from any # interface and the DNS names associated with # those IPs will be used to create the RRDs. mcast_join = 239.2.11.71 port = 8649 ttl = 1 } ...... /* You can specify as many udp_recv_channels as you like as well. */ udp_recv_channel { mcast_join = 239.2.11.71 port = 8649 bind = 239.2.11.71 retry_bind = true # Size of the UDP buffer. If you are handling lots of metrics you really # should bump it up to e.g. 10MB or even higher. # buffer = 10485760 } ......
cluster name,這個必須指定并且相同集群使用相同的name
udp_send_channel,因為單播模式下各個client把數據以udp協議發給中央機器,所以需要配置中央機器的ip,配置后的結果:
udp_send_channel { #bind_hostname = yes # Highly recommended, soon to be default. # This option tells gmond to use a source address # that resolves to the machine"s hostname. Without # this, the metrics may appear to come from any # interface and the DNS names associated with # those IPs will be used to create the RRDs. #mcast_join = 239.2.11.71 host = host_ip port = 8649 ttl = 1 }
這條需要注釋:#mcast_join = 239.2.11.71,ganglia默認是多播.
注釋掉多播的配置:
udp_recv_channel { #mcast_join = 239.2.11.71 port = 8649 #bind = 239.2.11.71 retry_bind = true # Size of the UDP buffer. If you are handling lots of metrics you really # should bump it up to e.g. 10MB or even higher. # buffer = 10485760 }
note:這里注釋掉多播和綁定的ip.我還不是太明白,詳情參考這里
配置好后就可以通過service gmond start來啟動client上的gmond進程了.
gmetad.confdata_source "my cluster" localhost
改為
data_source "your cluster name" host_ip #host_ip指中央機器的配置
配置好后就可以通過service gmetad start來啟動中央機器上的gmetad進程了.
多播模式多播的特點:
集群中的每個client把自己的數據發送給集群中的其它client
中央機器指定一個client作為數據源.
個人覺得這種方式很浪費,因為單播模式下數據傳輸次數要少
參考連接reference 1
reference 2
本項目對應的GitHub地址
httpd訪問控制問題
南京docker meetup已經于2015年3月份成立,將于2016年開始舉辦線下技術分享.誠摯歡迎各位對docker及容器技術感興趣的同學加入Docker Nanjing meetup
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26510.html
摘要:當然此時的局限性較大,比如沒有副本和負載均衡的概念,這導致服務無法高可用當然也更不存在什么服務網絡管理和跨節點數據存儲這些東西沒有服務模型集群中服務間關系和啟動順序編排也很復雜于是就有了下面的的誕生。 showImg(https://segmentfault.com/img/remote/1460000015317037?w=1885&h=1153); 概述 在我的《Docker S...
摘要:常見的和等都是屬于某一個的默認是,而等則不屬于任何。其實其的命令和上面都差不多,這里不一一列出了創建查看啟動情況是一個定義了一組的策略的抽象,可以理解為抽象到用戶層的一個宏觀服務。其實這個概念在集群里也有,可以參照理解。 showImg(https://segmentfault.com/img/remote/1460000013229549); 【利用K8S技術棧打造個人私有云系列文...
摘要:常見的和等都是屬于某一個的默認是,而等則不屬于任何。其實其的命令和上面都差不多,這里不一一列出了創建查看啟動情況是一個定義了一組的策略的抽象,可以理解為抽象到用戶層的一個宏觀服務。其實這個概念在集群里也有,可以參照理解。 showImg(https://segmentfault.com/img/remote/1460000013229549); 【利用K8S技術棧打造個人私有云系列文...
摘要:使用導出端口,使用掛載數據卷。清理應用使用一鍵清理應用總結已經實現了容器擴容自動擋更直觀的控制容器啟動順序及依賴。從部署到編排,單字面理解,看起來能夠維護的容器量都增長了。推薦應用包括多個服務,推薦部署方式就是。前言 容器化,云原生越演越烈,新概念非常之多。信息爆炸的同時,帶來層層迷霧。我嘗試從擴容出發理解其脈路,經過實踐探索,整理形成一個入門教程,包括下面四篇文章。 容器化實踐之路-從d...
摘要:集成測試完成后,由運維同學從發起一個到分支,此時會會運行單元測試,構建鏡像,并發布到預發布環境測試人員在預發布環境下再次驗證功能,團隊做上線前的其他準備工作運維同學合并,將為本次發布的代碼及鏡像自動打上版本號并書寫,同時發布到生產環境。 云原生 (Cloud Native) 是伴隨的容器技術發展出現的的一個詞,最早出自 Pivotal 公司(即開發了 Spring 的公司)的一本技術小...
閱讀 1428·2021-11-15 11:38
閱讀 3577·2021-11-09 09:47
閱讀 1976·2021-09-27 13:36
閱讀 3222·2021-09-22 15:17
閱讀 2560·2021-09-13 10:27
閱讀 2871·2019-08-30 15:44
閱讀 1180·2019-08-27 10:53
閱讀 2712·2019-08-26 14:00