重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設、域名注冊、服務器等服務
為企業(yè)提供網(wǎng)站建設、域名注冊、服務器等服務
最近發(fā)現(xiàn)在報警郵件中,有顯示current http code是200,但是nagios的狀態(tài)卻是critical的情況。
創(chuàng)新互聯(lián)公司于2013年開始,先為工農等服務建站,工農等地企業(yè),進行企業(yè)商務咨詢服務。為工農企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
報警郵件:
通過nagios的頁面查看,確實看到了監(jiān)控報錯的情況:
nagios頁面:
分析nagio的報判斷的幾種狀態(tài):
在pycurl中控制超時的設置是CONNECTTIMEOUT(默認300s),TIMEOUT(永不超時)
而nagios的模式設置service_check_timeout模式時60s.
具體的pycurl的代碼:
def check_server_url(proxy,url,location): buf_header = cStringIO.StringIO() c = pycurl.Curl() c.setopt(c.URL,url) c.setopt(c.CONNECTTIMEOUT,20) c.setopt(c.TIMEOUT,40) if location == 0: c.setopt(c.FOLLOWLOCATION,0) else: c.setopt(c.FOLLOWLOCATION,1) c.setopt(c.PROXY,proxy) c.setopt(c.HEADERFUNCTION,buf_header.write) c.setopt(c.NOBODY,True) try: c.perform() http_code = c.getinfo(c.HTTP_CODE) print http_code http_hearder = buf_header.getvalue() except pycurl.error: http_code = "-1" c.close() buf_header.close() return http_code
其實最根本的rc還是業(yè)務響應慢導致(最終定位為db的響應慢)。