天天看點

NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22

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、配置 ——> 主機 ——> 建立主機(圖一) ——> 建立監控項(圖二)或者導入模闆 ——> 檢測到資料。

NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22
圖一
           
NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22

手動建立太麻煩,我們直接使用模闆:綁定主機和模闆

配置 ——> 主機 ——> 打開主機 ——> 模闆

NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22
圖二
           

配置zabbix-agent端資訊:

檢測狀态如下:

NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22

2、批量檢測十台主機(我們開啟了十台zabbix-docker-client用戶端:

自動發現:server端會開啟discover程序,去掃描區域網的伺服器:

2.1、 配置 ——> 自動發現 ——> Local network(重新定義規則)(圖一)

NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22
圖一
           

//修改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、檢測——> 自動發現清單(展示掃描的機器)

NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22

2.3、掃描之後還不會監控,我們需要給一個動作。

配置——> 動作——> 事件源(自動發現)(預設有一個動作是停用的,改為啟用)——> 點選進入:Auto discovery. Linux servers

NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22
NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22
NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22
NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22

2.4、自動發現用戶端用戶端需要開啟ssh服務,并打開22端口。

裝置掃描到,還是不會監控資料,資料傳達不到server服務端,需要安裝agent來主動推送資料。

NO.A.0005——zabbix_lnmp+zabbix.agent.編譯安裝/批量監控和100台裝置/自動發現_V2020.10.22

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

繼續閱讀