rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
安裝Zabbix server 和 agent
yum -y install zabbix-server-mysql zabbix-agent
yum -y install centos-release-scl
編輯配置文件 /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...
安裝Zabbix frontend 包
yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl
安裝數(shù)據(jù)庫
yum -y install mariadb-server mariad
systemctl start mariadb && systemctl enable mariadb
初始化數(shù)據(jù)庫
mysql_secure_installation
密碼:Flz_3qc123
設(shè)置MariaDB字符集為utf-8
vim /etc/my.cnf
...
[mysqld]
character-set-server=utf8mb4
....
[mysqld_safe]
....
!includedir /etc/my.cnf.d
....
systemctl restart mariadb
創(chuàng)建初始數(shù)據(jù)庫
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
create user zabbix
UPDATE mysql.user SET authentication_string=password('Root123456') WHERE user='zabbxi';
FLUSH PRIVILEGES;
grant all privileges on zabbix.* to zabbix@localhost;
exit
導(dǎo)入初始架構(gòu)和數(shù)據(jù)见秤,系統(tǒng)將提示您輸入新創(chuàng)建的密碼。
備注:需要在create.sql.gz解壓后的sql語句首部加上use zabbix;
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Root123456
#輸入zabbix用戶的密碼
為Zabbix server配置數(shù)據(jù)庫
vim /etc/zabbix/zabbix_server.conf
DBPassword=123456?????? #取消注釋并寫上密碼
為Zabbix前端配置PHP
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf??????? #取消注釋和更正
listen????????? 80;
server_name???? 172.16.186.141;
....
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
....
listen.acl_users = apache,nginx???????? #增加nginx用戶
....
php_value[date.timezone] = Asia/Shangha???? #取消注釋并更正
....
啟動(dòng)Zabbix server和agent進(jìn)程
systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
瀏覽器訪問:172.16.186.141
確保下圖中都為ok即可
?帳密:Admin/zabbix
配置其他linux? agent端
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum -y install zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.16.186.141 #zabbix server端的IP
ServerActive=172.16.186.141 #主動(dòng)連接zbbix-server,主要用于自動(dòng)注冊(cè)時(shí)使用
Hostname=test3?#該名稱為在服務(wù)端添加主機(jī)時(shí)的名字,需要注意
Include=/etc/zabbix/zabbix_agentd.d/*.conf
開啟zabbix agent:systemctl start zabbix-agent
檢查:netstat -anpt|grep 10050
創(chuàng)建主機(jī)
?配置----主機(jī)----創(chuàng)建主機(jī)
?如下圖所示愕撰,再點(diǎn)擊“172.16.186.142”字樣進(jìn)去選擇模板
選擇好模板后點(diǎn)擊下圖中的“更新”
點(diǎn)擊172.16.186.142后面的“圖形”----右上角“創(chuàng)建圖形”
下圖中的“主機(jī)組”和“主機(jī)”都選好后點(diǎn)擊應(yīng)用
點(diǎn)擊下圖中左下角中的172.16.186.142
點(diǎn)擊下圖中的預(yù)覽
監(jiān)控windows
下載:https://www.zabbix.com/cn/download_agents
https://assets.zabbix.com/downloads/5.0.3/zabbix_agent-5.0.3-windows-amd64-openssl.msi
服務(wù)端添加rambo-PC的主機(jī)
選擇模板刹衫,模板有2處要添加醋寝,需注意
監(jiān)控Nginx
監(jiān)控nginx還在上述的linux服務(wù)器上進(jìn)行
下載nginx:wget -c https://nginx.org/download/nginx-1.19.2.tar.gz
tar -zxvf nginx-1.19.2.tar.gz
cd nginx-1.19.2
關(guān)閉debug日志
vim auto/cc/gcc
171 # debug
172 #CFLAGS="$CFLAGS -g"
安裝依賴
yum -y install gcc gcc-c++ make pcre-devel zlib-devel
./configure --prefix=/usr/local/nginx --with-http_stub_status_module && make && make install
更改配置文件
vim /usr/local/nginx/conf/nginx.conf
....
....
http{
....
....
server {
....
.....
location /status {
stub_status on;????????? #加載模塊
access_log off;
allow 127.0.0.1;???????? #訪問控制搞挣;僅允許本機(jī)可以訪問
deny all;
}
....
....
}
}
檢查語法:/usr/local/nginx/sbin/nginx -t
開啟nginx:/usr/local/nginx/sbin/nginx
采集數(shù)據(jù)并添加nginx監(jiān)控項(xiàng)
(1)采集Nginx發(fā)起的活躍連接數(shù)
利用shell命令獲取活躍連接數(shù)
curl http://127.0.0.1/status
curl -s http://127.0.0.1/status | grep Active
curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
指定key-value
cd /etc/zabbix/zabbix_agentd.d/
拷貝模板文件
cp /usr/share/doc/zabbix-agent-5.0.3/userparameter_mysql.conf ./userparameter_nginx.conf
修改文件
vim userparameter_nginx.conf??????? #將文件清空并重新寫入以下數(shù)據(jù)
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
注:nginx.active是key(待會(huì)兒會(huì)用到),curl后面的是value
重啟zabbix-agent
systemctl restart zabbix-agent
zabbiix服務(wù)端測(cè)試
安裝zabbix_get工具
yum -y install zabbix-get
測(cè)試agent
#若可以獲取到數(shù)據(jù)即時(shí)為配置成功
zabbix_get -s 172.25.66.2 -p 10050 -k "nginx.active"
?網(wǎng)頁配置
(1)在test3(172.16.186.142)主機(jī)中創(chuàng)建nginx_active監(jiān)控項(xiàng)
配置----主機(jī)----點(diǎn)擊172.16.186.142
點(diǎn)擊下圖中的“監(jiān)控項(xiàng)”----右上角“創(chuàng)建監(jiān)控項(xiàng)”
注上圖:名稱可自定義音羞,類型選擇客戶端囱桨,鍵值必須和文件中設(shè)定的相同(該文檔從此處往上找第一個(gè)粉色背景)
點(diǎn)擊下圖中的“圖形 18”----右上角“創(chuàng)建圖形”
點(diǎn)擊下圖中“監(jiān)控項(xiàng)”中的“添加”
如下圖,找到nginx_active項(xiàng)嗅绰,前面打上對(duì)號(hào)----選擇----添加
點(diǎn)擊下圖中最下面的nginx_status----預(yù)覽舍肠,圖形中有數(shù)據(jù),即說明監(jiān)控nginx并采集數(shù)據(jù)成功
?解決亂碼問題:
將win系統(tǒng)上自己喜歡的自體發(fā)送到172.16.186.141服務(wù)器上的/usr/share/zabbix/assets/fonts/中窘面,這里我使用winscp發(fā)送
啟用該字體: vim /usr/share/zabbix/include/defines.inc.php
來到web頁面上刷新即可看到效果
采集Nginx總共處理的請(qǐng)求數(shù)
利用shell命令獲取總共處理的請(qǐng)求數(shù)
curl http://127.0.0.1/status
#Nginx總共處理了73個(gè)連接,成功創(chuàng)建73次句柄(證明中間沒有失敗的),總共處理了74個(gè)請(qǐng)求?
指定key-valus
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
添加:UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
重啟zabbix-agent:systemctl restart zabbix-agent
網(wǎng)頁中添加監(jiān)控項(xiàng)(和上述同樣的方法添加)
此時(shí)無需重新創(chuàng)建圖形翠语,直接將其添加到剛創(chuàng)建的nginx_status圖形中即可
在頁面上的172.16.186.174服務(wù)器中--圖形----nginx_status
下圖中點(diǎn)擊倒數(shù)第二個(gè)添加
將nginx_accept項(xiàng)前打?qū)μ?hào)----選擇----更新
預(yù)覽圖形
圖形中有數(shù)據(jù),即說明監(jiān)控nginx并采集數(shù)據(jù)成功?
通過percona插件監(jiān)控 MySQL
zabbix自帶的MySQL模塊的監(jiān)控項(xiàng)有點(diǎn)少财边,該示例還在172.16.186.142服務(wù)器上進(jìn)行
安裝
yum -y install mariadb mariadb-server mariadb-libs mariadb-devel
啟動(dòng)并設(shè)置開機(jī)自動(dòng)啟動(dòng)
systemctl start mariadb && systemctl enable mariadb
初始化數(shù)據(jù)庫設(shè)置(無密碼直接回車)
mysql_secure_installation
#密碼是Flz_3qc123,其他都選擇Y
在Zabbix server主機(jī)中肌括,添加MySQL數(shù)據(jù)庫模板,選擇----Templates/Databases---Template DB MySQL---選擇
下圖中點(diǎn)擊“更新”
點(diǎn)擊下圖中配置---模板酣难,可以查看到MySQL的監(jiān)控項(xiàng)有多少項(xiàng)谍夭,下為39項(xiàng),如想監(jiān)控更多mysql的項(xiàng)請(qǐng)繼續(xù)往下看憨募,如39項(xiàng)夠用了即按照相應(yīng)的方法添加即可紧索,這里暫且認(rèn)為39項(xiàng)不夠用來說
加percona插件來監(jiān)控MySQL的更多項(xiàng)
mkdir /var/lib/zabbix && cd /var/lib/zabbix/
vim .my.conf
[mysql]
host = localhost
user = root
password = Flz_3qc123?????? #數(shù)據(jù)庫超級(jí)用戶密碼
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host = localhost
user = root
password = Flz_3qc123?????? #數(shù)據(jù)庫超級(jí)用戶密碼
socket = /var/lib/mysql/mysql.sock
重啟zabbix-agent
systemctl restart zabbix-agent
配置插件
wget -c https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
yum -y install php php-mysql
拷貝文件
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf????? #新建該文件
$mysql_user = 'root';
$mysql_pass = 'Flz_3qc123';
重啟zabbix-agent
systemctl restart zabbix-agent
手工調(diào)用插件
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg??? 或者? gw
cat /tmp/localhost-mysql_cacti_stats.txt??????? #能看到數(shù)據(jù)即可
rm -rf /tmp/localhost-mysql_cacti_stats.txt
zabbix自動(dòng)調(diào)用插件
模板下載:https://github.com/Jenychen1996/zabbix-templates/blob/master/zbx_percona_mysql_template.xml?????
#復(fù)制該文件內(nèi)容并改名為zbx_percona_mysql_template.xml
下圖中,配置----模板---下圖右上角“導(dǎo)入”
在配置---模板---主機(jī)群組中可看到剛導(dǎo)入的模板(下圖中為第一項(xiàng))菜谣,percona Templates前打?qū)μ?hào)---選擇---應(yīng)用
如下圖所示珠漂,可以看到監(jiān)控項(xiàng)增加到了191項(xiàng)
將剛導(dǎo)入的模板添加到172.16.186.142主機(jī)中
配置----主機(jī)----172.16.186.142----模板---選擇---如下圖
可以看到172.16.186.142的監(jiān)控項(xiàng)增多到了269項(xiàng),如下圖