日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 服務器 > zabbix報錯分析

zabbix報錯分析

來源:程序員人生   發布時間:2015-05-28 08:50:25 閱讀次數:4160次

zabbix報錯分析

報錯信息以下:

3128:20150429:114455.871 history data from active proxy on “115.29.182.109” failed: proxy “jinrong” not found

查找源碼

[root@monitor src]# grep “history data from active proxy” * -r|more
zabbix_server/trapper/trapper.c: zabbix_log(LOG_LEVEL_WARNING, “history data from active proxy on ”%s” failed: %s”,

得出是trapper.c 致使。

分析trapper.c

/****************************************************************************** * * * Function: recv_proxyhistory * * * * Purpose: processes the received values from active proxies * * * ******************************************************************************/ static void recv_proxyhistory(zbx_sock_t *sock, struct zbx_json_parse *jp) { const char *__function_name = "recv_proxyhistory"; zbx_uint64_t proxy_hostid; char host[HOST_HOST_LEN_MAX], *error = NULL; int ret; zabbix_log(LOG_LEVEL_DEBUG, "In %s()", __function_name); if (SUCCEED != (ret = get_active_proxy_id(jp, &proxy_hostid, host, &error))) { zabbix_log(LOG_LEVEL_WARNING, "history data from active proxy on "%s" failed: %s", get_ip_by_socket(sock), error); goto out; } update_proxy_lastaccess(proxy_hostid); ret = process_hist_data(sock, jp, proxy_hostid, error, sizeof(error)); out: zbx_send_response(sock, ret, error, CONFIG_TIMEOUT); zbx_free(error); zabbix_log(LOG_LEVEL_DEBUG, "End of %s()", __function_name); }

也就是說 get_active_proxy_id(jp, &proxy_hostid, host, &error)) 這個函數履行不正確的話,會報上面的錯。
問題又轉化為 get_active_proxy_id的履行了。
繼續搜索 get_active_proxy_id 這個函數的源碼文件,

[root@monitor src]# grep get_active_proxy_id * -r Binary file libs/zbxdbhigh/libzbxdbhigh.a matches Binary file libs/zbxdbhigh/libzbxdbhigh_a-proxy.o matches libs/zbxdbhigh/proxy.c: * Function: get_active_proxy_id * libs/zbxdbhigh/proxy.c:int get_active_proxy_id(struct zbx_json_parse *jp, zbx_uint64_t *hostid, char *host, char **error) Binary file zabbix_server/trapper/proxyhosts.o matches zabbix_server/trapper/proxydiscovery.c: if (SUCCEED != (ret = get_active_proxy_id(jp, &proxy_hostid, host, &error))) zabbix_server/trapper/trapper.c: if (SUCCEED != (ret = get_active_proxy_id(jp, &proxy_hostid, host, &error))) zabbix_server/trapper/trapper.c: if (SUCCEED != (ret = get_active_proxy_id(jp, &proxy_hostid, host, &error))) Binary file zabbix_server/trapper/trapper.o matches Binary file zabbix_server/trapper/proxydiscovery.o matches Binary file zabbix_server/trapper/proxyconfig.o matches zabbix_server/trapper/proxyautoreg.c: if (SUCCEED != (ret = get_active_proxy_id(jp, &proxy_hostid, host, &error))) zabbix_server/trapper/proxyconfig.c: if (SUCCEED != get_active_proxy_id(jp, &proxy_hostid, host, &error)) Binary file zabbix_server/trapper/proxyautoreg.o matches Binary file zabbix_server/trapper/libzbxtrapper.a matches zabbix_server/trapper/proxyhosts.c: if (SUCCEED != (ret = get_active_proxy_id(jp, &proxy_hostid, host, &error))) Binary file zabbix_server/zabbix_server matches

可以看到是在libs/zbxdbhigh/proxy.c 文件中定義

/****************************************************************************** * * * Function: get_active_proxy_id * * * * Purpose: extract a proxy name from JSON and find the proxy ID in database. * * The proxy must be configured in active mode. * * * * Parameters: jp - [IN] JSON with the proxy name * * hostid - [OUT] proxy host ID found in database * * host - [IN] buffer with minimum size * * 'HOST_HOST_LEN_MAX' * * error - [OUT] error message * * * * Return value: SUCCEED - proxy ID was found in database * * FAIL - an error occurred (e.g. an unknown proxy or the * * proxy is configured in passive mode * * * * Author: Alexander Vladishev * * * ******************************************************************************/ int get_active_proxy_id(struct zbx_json_parse *jp, zbx_uint64_t *hostid, char *host, char **error) { DB_RESULT result; DB_ROW row; char *host_esc; int ret = FAIL, status; if (SUCCEED == zbx_json_value_by_name(jp, ZBX_PROTO_TAG_HOST, host, HOST_HOST_LEN_MAX)) { if (FAIL == zbx_check_hostname(host)) { *error = zbx_dsprintf(*error, "invalid proxy name "%s"", host); return ret; } host_esc = DBdyn_escape_string(host); result = DBselect( "select hostid,status" " from hosts" " where host='%s'" " and status in (%d,%d)" ZBX_SQL_NODE, host_esc, HOST_STATUS_PROXY_ACTIVE, HOST_STATUS_PROXY_PASSIVE, DBand_node_local("hostid")); zbx_free(host_esc); if (NULL != (row = DBfetch(result)) && FAIL == DBis_null(row[0])) { if (SUCCEED == is_uint31(row[1], &status)) { if (HOST_STATUS_PROXY_ACTIVE == status) { ZBX_STR2UINT64(*hostid, row[0]); ret = SUCCEED; } else { *error = zbx_dsprintf(*error, "proxy "%s" is configured in passive mode", host); } } else THIS_SHOULD_NEVER_HAPPEN; } else *error = zbx_dsprintf(*error, "proxy "%s" not found", host); DBfree_result(result); } else *error = zbx_strdup(*error, "missing name of proxy"); return ret; }

分析這段源碼,也就是說hosts表中查不到的時候是會報 proxy ”%s” not found 的。

hosts表結構

MySQL [zabbix]> desc hosts;
+――――――

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美日韩在线一区 | 99久久99热这里只有精品 | 成人区精品一区二区 | 在线黄网站 | 99精品国产视频 | 国内精品久久久久久影视8 成人午夜影院 | 精品久久久久久亚洲综合网 | 亚洲高清在线视频 | 国产激情美女久久久久久吹潮 | 国产精品久久久久久久久久久不卡 | 国产精品九九 | 成人一区二区三区 | 一区二区视频在线 | 国产精品久久 | 精品国产91久久久久久 | 97视频在线免费观看 | 国产一区二区三区四 | 麻豆b2b| 91精品国产入 | 亚洲一区二区国产 | 亚洲精品18| 久久精选视频 | 国产片网站 | 国产欧美大片 | 精品91在线 | 成年人在线免费观看 | 久久久久久成人 | av片在线看 | 97精品久久久午夜一区二区三区 | 欧美日韩电影在线 | 欧美日韩在线精品一区二区 | av在线免费观看网站 | 亚洲国产精品久久 | 99精品国产一区二区 | 国产精品影院在线观看 | 久久久久无码国产精品一区 | 中文字幕专区高清在线观看 | 污网站免费观看 | 亚洲欧美视频在线观看 | 国产成人精品在线观看 | 99久久国|