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
安裝數據庫
yum -y install mariadb-server mariad
systemctl start mariadb && systemctl enable mariadb
初始化數據庫
mysql_secure_installation
密碼:Flz_3qc123
設置MariaDB字符集為utf-8
vim /etc/my.cnf
...
[mysqld]
character-set-server=utf8mb4
....
[mysqld_safe]
....
!includedir /etc/my.cnf.d
....
systemctl restart mariadb
創建初始數據庫
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by '123456';
grant all privileges on zabbix.* to zabbix@localhost;
exit
導入初始架構和數據,系統將提示您輸入新創建的密碼。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
#輸入zabbix用戶的密碼
為Zabbix server配置數據庫
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 #取消注釋並更正
....
啟動Zabbix server和agent進程
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 #主動連接zbbix-server,主要用於自動注冊時使用
Hostname=test3 #該名稱為在服務端添加主機時的名字,需要注意
Include=/etc/zabbix/zabbix_agentd.d/*.conf
開啟zabbix agent:systemctl start zabbix-agent
檢查:netstat -anpt|grep 10050
創建主機
配置----主機----創建主機
如下圖所示,再點擊“172.16.186.142”字樣進去選擇模板
選擇好模板后點擊下圖中的“更新”
點擊172.16.186.142后面的“圖形”----右上角“創建圖形”
下圖中的“主機組”和“主機”都選好后點擊應用
點擊下圖中左下角中的172.16.186.142
點擊下圖中的預覽
監控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
服務端添加rambo-PC的主機
選擇模板,模板有2處要添加,需注意
監控Nginx
監控nginx還在上述的linux服務器上進行
下載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
關閉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; #訪問控制;僅允許本機可以訪問
deny all;
}
....
....
}
}
檢查語法:/usr/local/nginx/sbin/nginx -t
開啟nginx:/usr/local/nginx/sbin/nginx
采集數據並添加nginx監控項
(1)采集Nginx發起的活躍連接數
利用shell命令獲取活躍連接數
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 #將文件清空並重新寫入以下數據
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
注:nginx.active是key(待會兒會用到),curl后面的是value
重啟zabbix-agent
systemctl restart zabbix-agent
zabbiix服務端測試
安裝zabbix_get工具
yum -y install zabbix-get
測試agent
#若可以獲取到數據即時為配置成功
zabbix_get -s 172.25.66.2 -p 10050 -k "nginx.active"
網頁配置
(1)在test3(172.16.186.142)主機中創建nginx_active監控項
配置----主機----點擊172.16.186.142
點擊下圖中的“監控項”----右上角“創建監控項”
注上圖:名稱可自定義,類型選擇客戶端,鍵值必須和文件中設定的相同(該文檔從此處往上找第一個粉色背景)
點擊下圖中的“圖形 18”----右上角“創建圖形”
點擊下圖中“監控項”中的“添加”
如下圖,找到nginx_active項,前面打上對號----選擇----添加
點擊下圖中最下面的nginx_status----預覽,圖形中有數據,即說明監控nginx並采集數據成功
解決亂碼問題:
將win系統上自己喜歡的自體發送到172.16.186.141服務器上的/usr/share/zabbix/assets/fonts/中,這里我使用winscp發送
啟用該字體: vim /usr/share/zabbix/include/defines.inc.php
來到web頁面上刷新即可看到效果
采集Nginx總共處理的請求數
利用shell命令獲取總共處理的請求數
curl http://127.0.0.1/status
#Nginx總共處理了73個連接,成功創建73次句柄(證明中間沒有失敗的),總共處理了74個請求
指定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
網頁中添加監控項(和上述同樣的方法添加)
此時無需重新創建圖形,直接將其添加到剛創建的nginx_status圖形中即可
在頁面上的172.16.186.174服務器中--圖形----nginx_status
下圖中點擊倒數第二個添加
將nginx_accept項前打對號----選擇----更新
預覽圖形
圖形中有數據,即說明監控nginx並采集數據成功
通過percona插件監控 MySQL
zabbix自帶的MySQL模塊的監控項有點少,該示例還在172.16.186.142服務器上進行
安裝
yum -y install mariadb mariadb-server mariadb-libs mariadb-devel
啟動並設置開機自動啟動
systemctl start mariadb && systemctl enable mariadb
初始化數據庫設置(無密碼直接回車)
mysql_secure_installation
#密碼是Flz_3qc123,其他都選擇Y
在Zabbix server主機中,添加MySQL數據庫模板,選擇----Templates/Databases---Template DB MySQL---選擇
下圖中點擊“更新”
點擊下圖中配置---模板,可以查看到MySQL的監控項有多少項,下為39項,如想監控更多mysql的項請繼續往下看,如39項夠用了即按照相應的方法添加即可,這里暫且認為39項不夠用來說
加percona插件來監控MySQL的更多項
mkdir /var/lib/zabbix && cd /var/lib/zabbix/
vim .my.conf
[mysql]
host = localhost
user = root
password = Flz_3qc123 #數據庫超級用戶密碼
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host = localhost
user = root
password = Flz_3qc123 #數據庫超級用戶密碼
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 #新建該文件
<?php
$mysql_user = 'root';
$mysql_pass = 'Flz_3qc123';
重啟zabbix-agent
systemctl restart zabbix-agent
手工調用插件
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg 或者 gw
cat /tmp/localhost-mysql_cacti_stats.txt #能看到數據即可
rm -rf /tmp/localhost-mysql_cacti_stats.txt
zabbix自動調用插件
模板下載:https://github.com/Jenychen1996/zabbix-templates/blob/master/zbx_percona_mysql_template.xml
#復制該文件內容並改名為zbx_percona_mysql_template.xml
下圖中,配置----模板---下圖右上角“導入”
在配置---模板---主機群組中可看到剛導入的模板(下圖中為第一項),percona Templates前打對號---選擇---應用
如下圖所示,可以看到監控項增加到了191項
將剛導入的模板添加到172.16.186.142主機中
配置----主機----172.16.186.142----模板---選擇---如下圖
可以看到172.16.186.142的監控項增多到了269項,如下圖
歡迎加入QQ群一起學習Linux、開源等技術