今天我們來(lái)學(xué)習(xí)關(guān)于“zabbix監(jiān)控云服務(wù)器結(jié)構(gòu)時(shí)報(bào)錯(cuò)怎么解決?”的內(nèi)容,下文有詳解方法和實(shí)例,內(nèi)容詳細(xì),邏輯清晰,有需要的朋友可以參考,希望大家閱讀完這篇文章后能有所收獲,那么下面就一起來(lái)了解一下吧。
今天 搞監(jiān)控碰到了一個(gè)問(wèn)題就是。內(nèi)網(wǎng)機(jī)器搭建的zabbix服務(wù)器去監(jiān)控云服務(wù)器agent的時(shí)候,agent 需要寫(xiě)服務(wù)端的IP地址。
我的思路是內(nèi)網(wǎng)服務(wù)器映射自己公網(wǎng)IP地址的zabbix的端口10051 就好,但是測(cè)試的結(jié)構(gòu)時(shí)報(bào)錯(cuò):
當(dāng)然我們要事先開(kāi)啟云服務(wù)器的安全組
# zabbix_get -s 119.20.21.100 -k system.hostname zabbix_get [26066]: Check access restrictions in Zabbix agent configuration
解決措施
方法來(lái)自于某不知名哥們
https://blog.csdn.net/bacteriumx/article/details/81430867
在內(nèi)網(wǎng)的zabbix-server 服務(wù)端 去telnet 云服務(wù)器的公網(wǎng)IP,再在云服務(wù)器的客戶端查看10050端口被誰(shuí)訪問(wèn)了,我們就能得到zabbix的公網(wǎng)IP:
1 [root@node2 ~]# telnet 119.20.21.100 10050 2 Trying 119.20.21.100... 3 Connected to 119.20.21.100. 4 Escape character is '^]'. 5 Connection closed by foreign host.
被監(jiān)控云主機(jī)
[root@zklf-cloud ~]# netstat -na |grep 10050 tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN tcp 0 0 192.168.0.209:10050 1.115.10.203:55899 TIME_WAIT tcp 0 0 192.168.0.209:10050 1.115.10.203:55931 TIME_WAIT tcp 0 0 192.168.0.209:10050 1.115.10.203:55923 TIME_WAIT tcp 0 0 192.168.0.209:10050 1.115.10.203:55737 TIME_WAIT tcp 0 0 192.168.0.209:10050 1.115.10.203:55725 TIME_WAIT
這個(gè)1.115.10.203 就是zabbix的服務(wù)端的IP地址。
修改云服務(wù)器的/etc/zabbix/zabbix.agent.conf 下的 Server 或者ServerActive地址為1.115.10.203 即可。
重啟云服務(wù)我們?cè)趦?nèi)網(wǎng)服務(wù)端做get測(cè)試發(fā)現(xiàn)全部可以:
[root@zklf-server02 ~]# zabbix_get -s 119.20.21.100 -k agent.ping 1 [root@zklf-server02 ~]# zabbix_get -s 119.20.21.100 -k system.hostname zklf-cloud [root@zklf-server02 ~]# zabbix_get -s 119.20.21.100 -k agent.version 4.0.9
剩下的就不用再說(shuō)了。這個(gè)操作讓我這種小渣渣不能理解。
再了解一下 telnet 和 netstat 的詳解
telnet原理:來(lái)自百度百科
Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠(yuǎn)程登錄服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。它為用戶提供了在本地計(jì)算機(jī)上完成遠(yuǎn)程主機(jī)工作的能力。
遠(yuǎn)程登錄是指用戶使用Telnet命令,使自己的計(jì)算機(jī)暫時(shí)成為遠(yuǎn)程主機(jī)的一個(gè)仿真終端的過(guò)程。仿真終端等效于一個(gè)非智能的機(jī)器,它只負(fù)責(zé)把用戶輸入的每個(gè)字符傳遞給主機(jī),再將主機(jī)輸出的每個(gè)信息回顯在屏幕上。(xshell也是這個(gè)原理吧)
使用Telnet協(xié)議進(jìn)行遠(yuǎn)程登錄時(shí)需要滿足以下條件:在本地計(jì)算機(jī)上必須裝有包含Telnet協(xié)議的客戶程序;必須知道遠(yuǎn)程主機(jī)的Ip地址或域名;必須知道登錄標(biāo)識(shí)與口令。
Telnet遠(yuǎn)程登錄服務(wù)分為以下4個(gè)過(guò)程: 1)本地與遠(yuǎn)程主機(jī)建立連接。該過(guò)程實(shí)際上是建立一個(gè)TCP連接,用戶必須知道遠(yuǎn)程主機(jī)的Ip地址或域名; 2)將本地終端上輸入的用戶名和口令及以后輸入的任何命令或字符以NVT(Net Virtual Terminal)格式傳送到遠(yuǎn)程主機(jī)。該過(guò)程實(shí)際上是從本地主機(jī)向遠(yuǎn)程主機(jī)發(fā)送一個(gè)IP數(shù)據(jù)包; 3)將遠(yuǎn)程主機(jī)輸出的NVT格式的數(shù)據(jù)轉(zhuǎn)化為本地所接受的格式送回本地終端,包括輸入命令回顯和命令執(zhí)行結(jié)果; 4)最后,本地終端對(duì)遠(yuǎn)程主機(jī)進(jìn)行撤消連接。該過(guò)程是撤銷一個(gè)TCP連接。 Telnet交互(C/S架構(gòu)交互過(guò)程) 當(dāng)我們使用Telnet登錄進(jìn)入遠(yuǎn)程計(jì)算機(jī)系統(tǒng)時(shí),事實(shí)上啟動(dòng)了兩個(gè)程序:一個(gè)是Telnet客戶程序,運(yùn)行在本地主機(jī)上;另一個(gè)是Telnet服務(wù)器程序,它運(yùn)行在要登錄的遠(yuǎn)程計(jì)算機(jī)上。 本地主機(jī)上的Telnet客戶程序主要完成以下功能:
- 建立與遠(yuǎn)程服務(wù)器的TCP聯(lián)接。
- 從鍵盤(pán)上接收本地輸入的字符。
- 將輸入的字符串變成標(biāo)準(zhǔn)格式并傳送給遠(yuǎn)程服務(wù)器。
- 從遠(yuǎn)程服務(wù)器接收輸出的信息。
- 將該信息顯示在本地主機(jī)屏幕上。
遠(yuǎn)程主機(jī)的“服務(wù)”程序通常被昵稱為“精靈”,它平時(shí)不聲不響地守候在遠(yuǎn)程主機(jī)上,一接到本地主機(jī)的請(qǐng)求,就會(huì)立馬活躍起來(lái),并完成以下功能:
- 通知本地主機(jī),遠(yuǎn)程主機(jī)已經(jīng)準(zhǔn)備好了。
- 等候本地主機(jī)輸入命令。
- 對(duì)本地主機(jī)的命令作出反應(yīng)(如顯示目錄內(nèi)容,或執(zhí)行某個(gè)程序等)。
- 把執(zhí)行命令的結(jié)果送回本地計(jì)算機(jī)顯示。
- 重新等候本地主機(jī)的命令。
netstat 命令
https://www.cnblogs.com/ftl1012/p/netstat.html 這個(gè)地址寫(xiě)的有些東西可以參考
[root@zklf-cloud ~]# netstat -h usage: netstat [-vWeenNcCF] [<Af>] -r netstat {-V|--version|-h|--help} netstat [-vWnNcaeol] [<Socket> ...] netstat { [-vWeenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw] } [delay] -r, --route display routing table 顯示路由表 -I, --interfaces=<Iface> display interface table for <Iface> 顯示網(wǎng)卡接口表 -i, --interfaces display interface table -g, --groups display multicast group memberships 顯示多播組成員身份 -s, --statistics display networking statistics (like SNMP) 顯示網(wǎng)絡(luò)統(tǒng)計(jì)信息(ip,icmp,tcp,udp 等) -M, --masquerade display masqueraded connections 顯示偽裝鏈接 -v, --verbose be verbose 詳細(xì)顯示 -W, --wide don't truncate IP addresses 不截?cái)囡@示 -n, --numeric don't resolve names 不解析地址名稱 (顯示IP地址信息) --numeric-hosts don't resolve host names 不解析主機(jī)名稱 --numeric-ports don't resolve port names --numeric-users don't resolve user names -N, --symbolic resolve hardware names 解析硬件名稱 -e, --extend display other/more information 顯示其他更多的信息 -p, --programs display PID/Program name for sockets 顯示套接字的PID/程序名