您好,登錄后才能下訂單哦!
Zabbix:
是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案,非常強大的一款工具。一般zabbix都是選擇mysql作為存儲數(shù)據(jù),所以當(dāng)zabbix監(jiān)控的主機越來越多,數(shù)據(jù)量也會越來越大,這是mysql就會成為瓶頸。
zabbix的版本:
長期維護的版本有2.2和3.0,還有2.0和2.4
zabbix的功能:
1、數(shù)據(jù)采集: 可以根據(jù)zabbix內(nèi)置的key,也可以使用自定義的UserParameter
2、實時繪圖: 展示采集的結(jié)果,由graph和screen
3、告警 : 超出定義的觸發(fā)器的值就告警,可以通過郵件、短信、QQ、微信的方式通知
4、數(shù)據(jù)存儲: 采集的數(shù)據(jù)存儲在數(shù)據(jù)庫中
5、支持使用模塊:
6、網(wǎng)絡(luò)自動發(fā)現(xiàn): 只要在主機上定義好ip和端口,zabbix通過掃描機制自動添加監(jiān)控
7、分布式監(jiān)控: 可以通過代理收集區(qū)域內(nèi)的主機采集信息,然后發(fā)送給zabbix,減緩zabbix的壓力
zabbix程序的構(gòu)成:
zabbix_server:服務(wù)端守護進程,監(jiān)聽的端口是10050
zabbix_agentd: agent端守護進程,監(jiān)聽的端口是10051
zabbix_proxy: 代理服務(wù)器,可選組件
zabbix_get: 命令行工具,手動測試數(shù)據(jù)采集;
zabbix_sender: 命令行工具,運行于agent端,手動向server端發(fā)送數(shù)據(jù)
zabbix_java_gateway: java網(wǎng)關(guān),只用于監(jiān)控jvm虛擬機的
一、安裝zabbix,以3.0為例:
~]# yum -y install zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-get mariadb-server
編輯配置文件:/etc/zabbix/zabbix_server.conf:
ListenPort=10051 //監(jiān)聽的端口 SourceIP= //服務(wù)端IP LogType=file //日志格式,自我獨立進行的格式(file)、system(系統(tǒng)記錄) LogFile=/var/log/zabbix/zabbix_server.log //日志文件 LogFileSize=0|1 //日志是否需要滾動 PidFile=/var/run/zabbix/zabbix_server.pid DBHost=localhost //數(shù)據(jù)庫服務(wù)器地址 DBName=zabbix //數(shù)據(jù)庫名稱 DBUser=zabbix //登錄數(shù)據(jù)庫名稱 DBPassword=zabbix //數(shù)據(jù)庫密碼 DBSocket=/var/lib/mysql/mysql.sock //指明數(shù)據(jù)庫的sock路徑
編輯zabbix-web文件:
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai //修改時區(qū)
編輯php.ini文件:
vim /etc/php.ini [Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Shanghai //修改時區(qū)
授權(quán)zabbix登錄數(shù)據(jù)庫,并創(chuàng)建zabbix存儲的數(shù)據(jù)庫:
> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix'; > create database zabbix charset 'utf8';
zabbix_server數(shù)據(jù)庫的初始化:
~]# cd /usr/share/doc/zabbix-server-mysql-3.0.2/ ~]# gzip -d create.sql.gz ~]# mysql -uzabbix -h227.0.0.1 -p zabbix <create.sql Enter password:
啟動zabbix,web服務(wù):
]# service zabbix-server start ]# service httpd start
根據(jù)指示一步步填寫信息,最后登錄zabbix:
二:配置需要監(jiān)控的主機:
~]# yum -y install zabbix-agent zabbix-sender
編輯配置文件:
~]# vim /etc/zabbix/zabbix_agentd.conf LogFileSize=1 //日志是否需要滾動 EnableRemoteCommands=1 //是否允許遠程命令執(zhí)行 LogRemoteCommands=1 //記錄遠程命令的執(zhí)行日志 Server=172.18.250.77 //被動模式下zabbix的地址,允許哪些zabbix-server來拉取數(shù)據(jù) ListenPort=10050 //監(jiān)聽的端口 ListenIP=0.0.0.0 //監(jiān)聽的IP,表示監(jiān)聽任何主機發(fā)送的信息 StartAgents=3 //啟用多少進程來采集數(shù)據(jù) ServerActive=172.18.250.77 //主動模式下zabbix的地址,主機主動發(fā)送數(shù)據(jù)給zabbix-server Hostname=zabbix.node1 //主機名
啟動agent服務(wù):
~]# service zabbix-agent start
三、配置監(jiān)控主機狀態(tài)
1、先創(chuàng)建一個host group組
2、創(chuàng)建hosts主機
3、創(chuàng)建監(jiān)控項,監(jiān)控目標(biāo)主機上的80端口:
Store value:
As is: 數(shù)據(jù)不做任何處理
Delta(simple change): 本次采樣數(shù)據(jù)減去前一次采集數(shù)據(jù)
Delta(speed per second): 本次采樣數(shù)據(jù)減去前一次采樣數(shù)據(jù),而后除以采樣間隔時長
這樣基本上就能監(jiān)控目標(biāo)主機上的端口了。
4、定義觸發(fā)器,只要檢測到端口為0就發(fā)送警告,并發(fā)送告警郵件
可以點Monitoring的Dashboard,查看告警信息:
設(shè)置發(fā)送告警信息到郵箱:
1、先創(chuàng)建一個用戶組和用戶:
定義發(fā)送媒介:
定義zabbix用戶給系統(tǒng)用戶發(fā)郵件:
查看系統(tǒng)是否收到報警郵件:
~]# mail Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/spool/mail/root": 1 message 1 new >N 1 zabbix@localhost.loc Fri May 20 19:37 23/1047 "PROBLEM: zabbix.node.port" & 1 Message 1:
5、對于多個監(jiān)控項可以整合到一個圖形當(dāng)中,比如監(jiān)控網(wǎng)卡流量:
定義網(wǎng)卡的進口流量和出口流量,點擊Hosts中的node1主機中的Graphs,創(chuàng)建圖像
添加完后查看圖形界面:
如果有多個主機監(jiān)控了流量的話可以聚合在一個頁面,方便查看:
四、配置模板,直接讓主機套用模板,而不用一個個添加監(jiān)控項:
模板可以直接用系統(tǒng)自帶的,也可以自定義一個模板:
生成一個模板后,之后只要添加各種監(jiān)控項,觸發(fā)器,和應(yīng)用集等,添加完后直接套用在主機上即可:
五、配置宏定義 (macro,預(yù)設(shè)的文本替換模式)
兩種:
內(nèi)置 {MACRO} 調(diào)用不需要加$
自定義 {$MACRO} 調(diào)用和定義都需要加$
級別:
全局
模板
主機
優(yōu)先級: 主機 --> 模板 -->全局
定義端口全局宏:
定義一個模板宏:
定義一個主機宏:
直接修改node1的監(jiān)聽端口的值:
查看是否生效:
六:配置key
key也分內(nèi)建和自定義,有時候系統(tǒng)沒有的key只能自己定義,自定義的key是在agent端實現(xiàn):
語法格式:
UserParameter=<key>,<command>
~]# vim /etc/zabbix/zabbix_agentd.conf UserParameter=menory.info,awk '/^MemFree/{print $2}' /proc/meminfo UserParameter=memory.usage[*],awk '/^$1/{print $$2}' /proc/meminfo //傳遞參數(shù)
重啟zabbix-agent服務(wù):
~]# service zabbix-agent restart ~]# zabbix_get -s 172.18.250.75 -p 10050 -k "memory.info" //在zabbix-server端測試 693772 ~]# zabbix_get -s 172.18.250.75 -p 10050 -k "memory.usage[MemTotal]" 1012352
測試key能否在主機上應(yīng)用:
七:配置zabbix的分布式監(jiān)控:
當(dāng)zabbix-server監(jiān)控的主機太多時,每個item都需要server端去建立tcp連接,這時server會扛不住,所以可以根據(jù)布置分布式代理來建立item連接,然后收集數(shù)據(jù),并一起發(fā)給server端。
~]# yum -y install zabbix-proxy-mysql mariadb-server
授權(quán)zabbix登錄數(shù)據(jù)庫,并創(chuàng)建proxy存儲的數(shù)據(jù)庫:
> grant all on proxy.* to 'proxy'@'localhost' identified by 'proxy'; > create database proy charset 'utf8';
zabbix_server數(shù)據(jù)庫的初始化:
~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.2/ ~]# gzip -d scheam.sql.gz ~]# mysql -uproxy -h227.0.0.1 -p proxy <create.sql Enter password:
授權(quán)zabbix登錄數(shù)據(jù)庫,并創(chuàng)建zabbix存儲的數(shù)據(jù)庫:
> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix'; > create database zabbix charset 'utf8';
zabbix_server數(shù)據(jù)庫的初始化:
~]# cd /usr/share/doc/zabbix-server-mysql-3.0.2/ ~]# gzip -d create.sql.gz ~]# mysql -uzabbix -h227.0.0.1 -p zabbix <create.sql Enter password:
編輯配置文件:
]# vim /etc/zabbix/zabbix_proxy.conf Server=172.18.250.77 //指向server端 Hostname=proxy.zabbix LogFileSize=1 DBName=proxy DBUser=proxy DBPassword=proxy DBSocket=/var/lib/mysql/mysql.sock
編輯proxy管理區(qū)域內(nèi)的agent主機:
]# vim /etc/zabbix/zabbix_agent.conf LogFileSize=1 //日志是否需要滾動 EnableRemoteCommands=1 //是否允許遠程命令執(zhí)行 LogRemoteCommands=1 //記錄遠程命令的執(zhí)行日志 Server=172.18.250.78 //被動模式下zabbix的地址,允許哪些zabbix-proxy來拉取數(shù)據(jù) ListenPort=10050 //監(jiān)聽的端口 ListenIP=0.0.0.0 //監(jiān)聽的IP,表示監(jiān)聽任何主機發(fā)送的信息 StartAgents=3 //啟用多少進程來采集數(shù)據(jù) ServerActive=172.18.250.78 //主動模式下zabbix的地址,主機主動發(fā)送數(shù)據(jù)給zabbix-proxy Hostname=node1.proxy
啟動服務(wù):
]# service zabbix-proxy start //proxy服務(wù) ]# service zabbix-agent start //監(jiān)控的agent主機
創(chuàng)建代理主機:
創(chuàng)建監(jiān)控的agent主機:
創(chuàng)建個監(jiān)控項,看是否能正常監(jiān)控:
如果還需要監(jiān)控其他主機或者監(jiān)控項,只需添加模板就行。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。