docker的啟動(dòng)腳本也許是個(gè)坑

最近項(xiàng)目需要為大數(shù)據(jù)平臺(tái)配備監(jiān)控告警系統(tǒng),雖說(shuō)之前折騰過(guò)很長(zhǎng)時(shí)間的nagios,對(duì)其中的原理比較了解,但是最終還是決定選擇zabbix,

原因有兩點(diǎn):

1、nagios的開(kāi)源的UI實(shí)在是慘不忍睹,而客戶特別是不懂技術(shù)的門外漢對(duì)產(chǎn)品的要求往往都集中在UI上;zabbix的UI設(shè)計(jì)可以直接很省心;

2、動(dòng)態(tài)性,nagios的告警機(jī)制非常靈活,配置項(xiàng)也很靈活,但是它修改配置需要去重啟,不如zabbix,修改后無(wú)需重啟服務(wù);


選擇采用docker-compose的方式部署zabbix,持續(xù)穩(wěn)定運(yùn)行了一段時(shí)間后發(fā)現(xiàn),zabbix-server一直處于restarting狀態(tài), 采用docker-compose logs

--tail=100 (注意,當(dāng)日志太多的時(shí)候,--tail很有用)發(fā)現(xiàn)是CacheSize設(shè)置太?。ㄖ挥?M,果斷修改成1028M),然后把配置文件docker cp到容器里,奇怪的事情發(fā)生了,zabbix-server仍然是處于restarting,日志也還是跟原來(lái)沒(méi)有變化,難道不是cachesize的問(wèn)題?

苦惱啊,繼續(xù)google了一陣,沒(méi)有別的解釋

突然想到,難道配置沒(méi)有修改成功,把容器里面的配置文件zabbix-server.conf? ?拷貝出來(lái)一看,發(fā)現(xiàn)果然,CacheSize? ?配置不見(jiàn)了,太詭異了;


找另外一個(gè)zabbix進(jìn)行測(cè)試,確定這種方式修改配置沒(méi)有問(wèn)題,那是什么原因呢?


猜想如下:

1、docker把修改好的配置文件給改了

2、其它程序把修改好的配置文件給改了


如何確定了?最好的還是日志,繼續(xù)向上看日志,發(fā)現(xiàn)了貓膩,居然每次CacheSize的配置都被update了,難怪沒(méi)有用?到底是誰(shuí)干的?

經(jīng)過(guò)分析發(fā)現(xiàn)容器的入口文件docker-entry.sh有重大嫌疑,找到對(duì)應(yīng)的文件,果然就是它,為了防止配置被修改,它每次都會(huì)檢查,而它

執(zhí)行的時(shí)機(jī)是容器啟動(dòng)的時(shí)候,容器一直在restarting,它就被反復(fù)執(zhí)行,也就是說(shuō)zabbix-server.conf文件一直是它在修改。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容