ZABBIX監控平台部署(LAMP+ZABBIX.Agent.make源安裝部署)
一、安裝用戶端
1、Zabbix Server端和Zabbix Agent執行如下代碼:
Zabbix監控平台部署,至少需要安裝四個元件,分别是Zabbix_Server、Zabbix_Web、Databases、Zabbix_Agent,如下為Zabbix.Agent安裝配置詳細步驟:
2、部署環境:
Server端 ————>192.168.1.59
Agent端 ————>192.168.1.60
CentOS版本 ————>CentOS 7.6.1810
ZABBIX版本 ————>Zabbix 4.0.19
部署zabbix_server,zabbix_agent
// zabbix源碼下載下傳位址(建議從官網下載下傳):
// https://www.zabbix.com/download_sources#tab:40LTS
//OR
[[email protected] ~]#
> wget -c https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.25.tar.gz //-c:斷點續傳
[[email protected] ~]# md5sum zabbix-4.0.25.tar.gz //檢視他的md5值
0694c540b1d014cdc5c6a50d361d77f2 zabbix-4.0.25.tar.gz
//因為zabbix基于C語言開發;安裝編譯時依賴包、庫檔案://本機不用安裝,編譯zabbix_server時已安裝
[[email protected] ~]# yum -y install gcc curl curl-devel net-snmp net-snmp-devel perl-DBI
> libxml2-devel libevent-devel pcre mysql-devel
2、編譯安裝zabbix-agent
//解壓zabbix-4.0.25.tar.gz
[[email protected] ~]# tar -xzvf zabbix-4.0.25.tar.gz
//-x extract解壓,-z gzip壓縮,-v verbose詳細,-f file檔案
//zabbix-server編譯安裝,需要通過源代碼部署三個步驟:
//1、預編譯:
[[email protected] zabbix-4.0.25]# ./configure --prefix=/usr/local/zabbix --enable-agent
//建議使用指令 開啟--enable-agent就可以了
//2、編譯
[[email protected] zabbix-4.0.25]# make
//3、安裝:
[[email protected] zabbix-4.0.25]# make install
//4、添加軟連結(相當于快捷方式);啟動腳本要找/usr/local/sbin;不然啟動時會報錯
[[email protected] ~]# ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/
修改zabbix-agent.conf用戶端配置檔案,執行如下指令,zabbix_agent.conf内容,指定serverIP,同時設定本地Hostname為本地IP位址或者DNS名稱;CPU、記憶體、負載、網卡、磁盤、IO、應用服務、端口、登入使用者。
//5、修改zabbix_agentd.conf檔案
[[email protected] etc]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=192.168.1.59 //指向服務端IP位址
ServerActive=192.168.1.59 //開啟主動模式,并設定傳輸資料的伺服器位址
Hostname=192.168.1.60 //指向自己的主機名或者IP位址
//6、同時cp zabbix_server啟動腳本至/etc/init.d/目錄,
// 啟動zabbix_agent Zabbix_agent預設監聽端口為10050
[[email protected] zabbix-4.0.25]#cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
[[email protected] ~]# chmod o+x /etc/init.d/zabbix_agentd
[[email protected] ~]# /etc/init.d/zabbix_agentd restart
zabbix-agent的監聽端口為10050
[[email protected] ~]# netstat -tunlp |grep -aw 10050
tcp 0 0 0.0.0.0:10050 LISTEN 14210/zabbix_agentd
tcp6 0 0 :::10050 LISTEN 14210/zabbix_agentd
[[email protected] ~]# /etc/init.d/zabbix_agentd restart
zabbix_agentd [113015]: user zabbix does not exist
zabbix_agentd [113015]: cannot run as root!
Zabbix agent started.
//建立使用者和使用者組即可:
[[email protected] ~]# groupadd zabbix
[[email protected] ~]# useradd -g zabbix zabbix
[[email protected]st ~]# usermod -s /sbin/nologin zabbix
二、使用腳本批量化部署agent端:
1、編輯配置腳本配置檔案:auto_install_zabbix_agent_v3.sh
[[email protected] ~]# vim auto_install_zabbix_agent_v3.sh
SERVER_IP="192.168.1.59"
[[email protected] ~]#sh auto_install_zabbix_agent_v3.sh
Please confirm whether to install Zabbix Server,yes or no? no
//選擇yes安裝用戶端,選擇no安裝服務端。
主動模式:在/usr/local/zabbix/etc/zabbix_agentd.conf下ServerActive=192.168.1.59是主動模式的配置指令。
主動模式是:用戶端自己會監控自己的資料,并且把資料發送給zabbix_server伺服器。
[[email protected] ~]# cat /tmp/zabbix_agentd.log
113048:20201030:232112.078 no active checks on server[192.168.1.59:10051]: host [192.168.1.60] not found
因為我們的部署平台上還沒有建立主機,是以無法檢測到資料。
主動模式:用戶端自己檢測自己的資料,并把資料推送給server伺服器,可以減少server的壓力。
被動模式:用戶端等着server來過來拉取資料,生産環境都是用主動模式。
三、主動模式監控一台client:在web平台建立主機
1、配置 ——> 主機 ——> 建立主機(圖一) ——> 建立監控項(圖二)或者導入模闆 ——> 檢測到資料。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN2XjlGcjAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL90TQjBnWzgFcG5mYox2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL2YzN3ITO1cTM5ETMxAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
圖一
手動建立太麻煩,我們直接使用模闆:綁定主機和模闆
配置 ——> 主機 ——> 打開主機 ——> 模闆
圖二
配置zabbix-agent端資訊:
檢測狀态如下:
2、批量檢測十台主機(我們開啟了十台zabbix-docker-client用戶端:
自動發現:server端會開啟discover程序,去掃描區域網的伺服器:
2.1、 配置 ——> 自動發現 ——> Local network(重新定義規則)(圖一)
圖一
//修改discover程序:
[[email protected] ~]# ps -ef |grep -i discover
//檢視discover程序; 預設就一個掃描程序,肯定很慢,開啟多個掃描程序。
zabbix 6206 00:00:03 /usr/local/sbin/zabbix_server: discoverers rming discovery]
[[email protected] ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
// 配置discover多程序同時探測。
StartDiscoverers=10 //預設是1個,改為10個 //企業中我們給為50或者100台裝置。
[[email protected] ~]# /etc/init.d/zabbix_server restart
//重新開機zabbix_server 掃描完需調小一點,畢竟它還是占用我們的資源。
檢視掃描的裝置:
2.2、檢測——> 自動發現清單(展示掃描的機器)
2.3、掃描之後還不會監控,我們需要給一個動作。
配置——> 動作——> 事件源(自動發現)(預設有一個動作是停用的,改為啟用)——> 點選進入:Auto discovery. Linux servers
2.4、自動發現用戶端用戶端需要開啟ssh服務,并打開22端口。
裝置掃描到,還是不會監控資料,資料傳達不到server服務端,需要安裝agent來主動推送資料。
3、正在docker下批量建立10台容器,并運作我們的zabbix-agent。
//使用該指令去建立一個容器:具備systemctl啟動權限。
[[email protected] ~]# docker run -tid --net=none --name=centos7-ssh2
> --privileged=true centos7-ssh:zabbix-agent /sbin/init //建立容器并運作
[[email protected] ~]# pipework br0 centos7-ssh 192.168.1.70/[email protected] //寫入IP位址
[[email protected] ~]# docker exec -it centos7-ssh1 /bin/bash //使用該指令進入容器
[[email protected] ~]# for i in $(seq 1 10);do docker run -itd --privileged centos:centos7 ;done
//建立10台容器用來做client
[[email protected] ~]# docker ps -aq |xargs docker rm -f //删除docker下的所有程式
将容器打包成鏡像并導入導出:
[[email protected] ~]# docker commit -a "yanqi" -m "centos7-ssh" 6cbc9ebfbc5f
> centos7-ssh:zabbix-agent //将容器打包成鏡像
[[email protected] ~]# docker save > centos7-ssh.tar centos7-ssh:zabbix-agent //從容器導出鏡像
[[email protected] ~]# docker import centos7-ssh.tar centos7-ssh1:zabbix-agent //導入鏡像
[[email protected] ~]# cat centos7-ssh.tar | docker import - centos7-ssh2:zabbix-agent //導入鏡像
注:docker使用教程為知筆記:Docker安裝、操作、及使用教程——V.201101