(第十八周作業(yè))
1、搭建zabbix服務(wù),實現(xiàn)監(jiān)控linux和windows的內(nèi)存,cpu,磁盤,網(wǎng)絡(luò)等基礎(chǔ)指標(biāo)
1)安裝zabbix服務(wù)端,zabbix? 服務(wù)端IP為192.168.184.130
安裝apache
# yum -y install httpd??php? php-fpm??php-mysql??httpd-manual mod_ssl mod_perl mod_auth_mysql
安裝php擴展包
#?yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
安裝Mysql擴展包
#?yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
安裝依賴包
# yum install -y net-snmp-devel libevent-devel
下載zabbix
# cd /usr/src/
# wget? https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.25/zabbix-3.0.25.tar.gz
#tar xf?zabbix-3.0.25.tar.gz
配置zabbix用戶和組
# groupadd -r zabbix
# useradd -r -g zabbix -M -s /sbin/nologin zabbix
安裝數(shù)據(jù)庫
#?yum install? mariadb-server? mariadb? -y
#?mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges? on? zabbix.* to zabbix@localhost identified? by? 'zabbixpasswd';
mysql> grant all privileges? on? zabbix.* to zabbix@127.0.0.1? identified? by? 'zabbixpasswd';
mysql> flush privileges;
mysql> quit
# cd /usr/src/zabbix-3.0.25/database/mysql/
# mysql -uzabbix -pzabbixpasswd zabbix < schema.sql
# mysql -uzabbix -pzabbixpasswd zabbix < images.sql
# mysql -uzabbix -pzabbixpasswd zabbix < data.sql
編譯安裝zabbix
# cd /usr/src/zabbix-3.0.25
# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
# make && make install
修改服務(wù)端配置文件 設(shè)置數(shù)據(jù)庫信息
#??vim /usr/local/etc/zabbix_server.conf
DBPassword=zabbixpasswd? ? ? ? ? #數(shù)據(jù)庫連接密碼
啟動zabbix_server和zabbix_agentd
# zabbix_server
# zabbix_agentd
修改/etc/php.ini的配置
# vi? /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
# service php-fpm restart
# mkdir -p? /usr/local/apache/htdocs/zabbix
#cp -a frontends/php/* /usr/local/apache/htdocs/zabbix/
配置apache虛擬主機
#?vim /etc/httpd.conf
在配置文件的末尾加入下內(nèi)容
<VirtualHost *:80>
? ? ? ? ?DocumentRoot "/usr/local/apache/htdocs/zabbix"
? ? ? ? ServerName 192.168.184.130
? ? ? ? ProxyRequests Off
? ? ? ? ?ProxyPassMatch? ?^/(.*\.php)$? ?fcgi://127.0.0.1:9000/usr/local/apache/htdocs/zabbix/$1
? ? ? ? <Directory "/usr/local/apache/htdocs/zabbix">
? ? ? ? ? ? ? ? Options none
? ? ? ? ? ? ? ? AllowOverride none
? ? ? ? ? ? ? ? Require all granted
? ? ? ?</Directory>
</VirtualHost>
設(shè)置zabbix/conf目錄的權(quán)限,讓zabbix有權(quán)限生成配置文件zabbix.conf.php
# chmod? ? ?777? ? ?/usr/local/apache/htdocs/zabbix/conf
重啟apache
# apachectl stop
# apachectl start?
禁用Selinux以及禁用防火墻
# systemctl disable firewalld
#systemctl stop firewalld
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
安裝zabbix web 界面,打開本地瀏覽器http://192.168.184.130/zabbix
在php依賴檢查都通過,配置數(shù)據(jù)庫連接信息,(這里就不截圖
zabbix默認登入用戶和密碼:Admin? ?zabblix?
恢復(fù)zabbix/conf目錄的權(quán)限為755
#chmod 755 /usr/local/apache/htdocs/zabbix/conf
2)Linux 安裝zabbix客戶端,客戶端IP為192.168.184.131
安裝zabbix客戶端軟件
# rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
#yum install zabbix_agent
修改配置文件
# vi /etc/zabbix/zabbix_agentd.conf?
PidFile=/var/run/zabbix/zabbix_agentd.pid? ? ? ? ?# agent pid 的運行目錄
LogFile=/var/log/zabbix/zabbix_agentd.log? ? ? ? # agent 運行日志目錄
Server=192.168.184.130? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# 被動模式服務(wù)器地址
ServerActive=192.168.184.130:10051? ? ? ? ? ? ? ? # 主動模式服務(wù)器地址
Hostname=192.168.184.131? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #?客戶端主機名或 IP 地址
禁用Selinux以及禁用防火墻
# systemctl disable firewalld
#systemctl stop firewalld
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
啟動Zabbix agent,并配置開機自啟
#? systemctl start zabbix-agent
#? systemctl enable zabbix-agent
在zabbix頁面上設(shè)置被監(jiān)控客戶端,上方的導(dǎo)航欄,選擇:“Configuration"-->"Hosts",再點右上角的“Create hosts”按鈕。
????在Host頁面的host選項卡:
????????Hostname寫入客戶端IP,Groups欄目點旁邊的“select"按鈕來選擇”Linux Servers“,
????????Agent interfaces?欄目的IP address寫客戶端地址
? ??????Enabled要打勾
? ??在Host頁面的Templates選項卡:
? ? ? ? 點Link new templates欄目右邊的”select"按鈕,選擇“Template OS Linux“,要記得點一下”Add“鏈接,這樣才會添加到Linked templates,然后再點update
然后回到Host頁面,可以看到剛才配置的主機名稱,等待Availability列的”ZBX“變成綠色。
在zabbix頁面上設(shè)置監(jiān)控頁面,上方的導(dǎo)航欄,選擇
“Monitoring"-->"Screens",再點"Create screen"按鈕,
輸入Name,給這個監(jiān)控頁面起名,這里輸入“Linux131",保存
點擊“Linux131”,點右上角的"Edit Screen"按鈕,可以編輯監(jiān)控頁面。
點"+"/"-"按鈕可以增加或減少相應(yīng)位置的行和列。
點"change"鏈接,顯示圖形選擇頁面,在Graph欄目中點右邊的"Select"按鈕,選擇相應(yīng)的項目。
這里要依次添加以下監(jiān)控圖形:
CPU load:CPU負載
CPU utilization:CPU使用率
Disk space usage/:顯示/文件系統(tǒng)的使用圖
Memory usage:內(nèi)存
Network traffic on eno16777736:網(wǎng)卡
最后Screen如下圖所示:

3)Windows安裝zabbix客戶端,客戶端IP為192.168.184.132
下載用于windows的zabbix客戶端??https://assets.zabbix.com/downloads/3.0.25/zabbix_agents-3.0.25-win-amd64.zip
解壓下載到的文件:zabbix_agents-3.0.25-win-amd64.zip
修改解壓目錄D:\conf\zabbix_agentd.win.conf
LogFile=D:\Zabbix\zabbix_agentd.log
Server=192.168.184.130??
ServerActive=192.168.184.100:10051
Hostname= 192.168.184.132
打開dos窗口
cd? d:\Zabbix\bin
-i參數(shù)為安裝指令,-c參數(shù)為執(zhí)行配置文件的目
zabbix_agentd.exe -i -c "D:\Zabbix\conf\zabbix_agentd.win.conf"
-s為啟動Zabbix agent服務(wù)
zabbix_agentd.exe -s
在zabbix頁面上設(shè)置被監(jiān)控客戶端,上方的導(dǎo)航欄,選擇:“Configuration"-->"Hosts",再點右上角的“Create hosts”按鈕。
? ? 在Host頁面的host選項卡:
? ? ? ? Hostname寫入客戶端IP,Groups欄目點旁邊的“select"按鈕來選擇”Templates/Operating systems“,
? ? ? ? Agent interfaces?欄目的IP address寫客戶端地址
? ? ? ? Enabled要打勾
? ? 在Host頁面的Templates選項卡:
? ? ? ? 點Link new templates欄目右邊的”select"按鈕,選擇“Template OS Windows",要記得點一下”Add“鏈接,這樣才會添加到Linked templates,然后再點update
然后回到Host頁面,可以看到剛才配置的主機名稱,等待Availability列的”ZBX“變成綠色。但是Item這列顯示22個記錄,點進去看不到磁盤和網(wǎng)絡(luò)。所以回到Windows上面。修改D:\conf\zabbix_agentd.win.conf,找到“PerfCounter”段,通過查看這段的幫助信息,增加以下幾行:
PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60
PerfCounter = Net_Incoming,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Received/sec",30
PerfCounter = Net_Outgoing,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Sent/sec",30
重啟服務(wù)管理器中的zabbix agent服務(wù)。再回到zabbix頁面上,發(fā)現(xiàn)item數(shù)量大量增加到112,點進去看到磁盤和網(wǎng)絡(luò)的數(shù)據(jù)項。
在zabbix頁面上設(shè)置監(jiān)控頁面,上方的導(dǎo)航欄,選擇
“Monitoring"-->"Screens",再點"Create screen"按鈕,
輸入Name,給這個監(jiān)控頁面起名,這里輸入“Windows132",保存
點擊“Windows132”,點右上角的"Edit Screen"按鈕,可以編輯監(jiān)控頁面。
點"+"/"-"按鈕可以增加或減少相應(yīng)位置的行和列。
點"change"鏈接,顯示圖形選擇頁面,在Graph欄目中點右邊的"Select"按鈕,選擇相應(yīng)的項目。
這里要依次添加以下監(jiān)控圖形:
CPU load?:CPU負載
Memory usage?:內(nèi)存使用情況
Disk space usage C:?C盤使用情況
Network traffic on Intel(R) PRO/1000 MT Network Connection:?網(wǎng)絡(luò)流量
最后Screen如下圖所示:

2、搭建zabbix服務(wù),監(jiān)控nginx?status
在客戶端機上假設(shè)已完裝了nginx,它的IP是192.168.184.131
修改nginx配置文件
vi? /usr/local/nginx/conf/nginx.conf
……
server {? ? ? ? listen? ? ? 80;
……? ? ? ? ?location /nginx-status {
? ? ? ? ? ? ? ? stub_status on;
? ? ? ? ? ? ? ? access_log off;
? ? ? ? ? ? ? ? allow 127.0.0.1;
? ? ? ? ? ? ? ? deny all;
? ? ? ? }
}
……
保存配置文件重啟nginx.編寫nginx狀態(tài)查詢腳本
# vi? /usr/local/nginx/nginx-status.sh
#!/bin/bash
UrlStr="http://127.0.0.1/nginx-status"
function active(){
curl $UrlStr 2>/dev/null |grep "Active"|awk '{print $NF}'
}
function accepts(){
? ? ? ? curl $UrlStr 2>/dev/null|awk NR==3 |awk '{print $1}'
}
function handled(){
? ? ? ? curl $UrlStr 2>/dev/null|awk NR==3 |awk '{print $2}'
}
function requests()
{
? ? ? ? curl $UrlStr 2>/dev/null|awk NR==3 |awk '{print $3}'
}
function reading(){
? ? ? ? curl $UrlStr 2>/dev/null|grep "Reading"|awk '{print $2}'
}
function writing(){
? ? ? ? curl $UrlStr 2>/dev/null|grep "Writing"|awk '{print $4}'
}
function waiting(){
? ? ? ? curl $UrlStr 2>/dev/null|grep "Waiting"|awk '{print $6}'
}
$1
修改zabbix客戶端配置文件,
# vi? /etc/zabbix/zabbix_agentd.conf?
增加以下幾行:
UserParameter=nginx.active , sh? /usr/local/nginx/nginx-status.sh active
UserParameter=nginx.accepts, sh? /usr/local/nginx/nginx-status.sh accepts
UserParameter=nginx.handled, sh? /usr/local/nginx/nginx-status.sh?handled
UserParameter=nginx.requests, sh? /usr/local/nginx/nginx-status.sh?requests
UserParameter=nginx.reading, sh? /usr/local/nginx/nginx-status.sh?reading
UserParameter=nginx.writing, sh? /usr/local/nginx/nginx-status.sh?writing
UserParameter=nginx.waiting, sh? /usr/local/nginx/nginx-status.sh?waiting
重啟zabbix_agentd
然后在zabbix頁面上,host--》131主機--》“items"選項卡,點右上方的”Create item"按鈕
在頁面上,name輸入?nginx.active ,key輸入nginx.active ,Newapplication輸入?nginx,點“ADD”按鈕。
依此法,添加上面的所有item:nginx.active ,nginx.accepts,nginx.handled,nginx.requests,nginx.reading,nginx.writing,nginx.waiting
再點“Graphs",把這幾個item添加到同一個圖形中。
在”monitor“--》Screens-->"Edit Screens"-->把這個圖形添加進來就可以了。
(part2? 的鏈接為? ?http://www.itdecent.cn/p/9373e2b9a2b6? )