zabbix5.0官方部署+監控nginx+mysql


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、開源等技術

 參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM