zabbix監控網站(nginx、redis、mysql)

目錄

前提準備:

zabbix-server主機配置:

1. 安裝數據庫

nginx主機配置:

1. 安裝nginx

redis主機配置:

1. 安裝redis

mysql主機配置:

1. 安裝數據庫

zabbix-server:

1. 安裝zabbix

2. 編輯配置文件

zabbix-web:nginx

1. 添加nginx模板

創建模板

創建應用集

2. 創建監控項

配置nginx活躍連接數

配置監控Nginx客戶端的連接數

配置監控Nginx等待下一次請求指令的駐留連接數

配置監控Nginx讀取客戶端的連接數

配置監控Nginx總共處理的請求數

配置監控Nginx接受的連接數

配置監控Nginx處理的連接數

配置監控Nginx開機啟動

配置監控Nginx版本

配置監控Nginx進程數

3. 創建觸發器

配置Nginx開機啟動觸發器

配置Nginx運行狀態觸發器

配置Nginx版本變化觸發器-這里正常選值,然后手動修改為diff

4. 創建圖形

配置Nginx線程狀態圖

5. nginx主機添加監控腳本

6. 添加ZabbixAgent配置,并重啟ZabbixAgent

7. 添加nginx配置,創建監控URL

8. 在server上驗證Nginx監控數值獲取

9. 添加nginx客戶端主機

10. 關聯模板和主機

11. 結果驗證

zabbix-web:redis

1. 創建Redis模板

2. 創建應用集

3. 創建redis監控項

監控Redis開機啟動

監控redis版本

監控Redis是否宕機

監控Redis總連接數

監控Redis執行的操作命令總數

監控Redis最近一次存盤的狀態

3. 創建redis觸發器

redis開機啟動觸發器

redis宕機觸發器

redis響應觸發器-這里的值手動修改為nodata

4. 添加Redis圖形

5. redis主機添加模板

6. server檢查

7. 添加redis主機

8. 關聯模板和主機

9. 結果驗證

zabbix-web:mysql

1. mysql模板,默認就有無需創建

2. 配置mysql

3. 創建配置文件/etc/zabbix/.my.cnf以提供ZabbixAgent訪問數據庫

4. 修改監控配置文件/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf,將所有的 “/var/lib/zabbix”修改為當前.my.cnf文件的路徑“/etc/zabbix”

5. server驗證

6. 添加mysql主機

7. 關聯模板和主機

8. 結果驗證


前提準備:

1. 四臺centos,其中110作為zabbix-server,120作為nginx,130作為redis,140作為mysql

我使用的zabbix版本是3.0的版本

所需要的rpm軟件包我已上傳,可自行查看下載使用

2. 全部關閉防火墻

systemctl stop firewalld && systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0

3. 全部安裝ntp

yum install -y ntp
systemctl start ntpd && systemctl enable ntpd

4. 全部安裝zabbix所需要的yum源

rpm -ivh epel-release-latest-7.noarch.rpm
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm

5. 主機名稱

hostnamectl set-hostname zabbix-server && bash
hostnamectl set-hostname nginx && bash
hostnamectl set-hostname redis && bash
hostnamectl set-hostname mysql && bash

6. hosts記錄

cat >> /etc/hosts <<EOF
192.168.180.110	zabbix-server
192.168.180.120	nginx
192.168.180.130	redis
192.168.180.140	mysql
EOF

zabbix-server主機配置:

1. 安裝數據庫
yum install -y mariadb-server
systemctl start mariadb && systemctl enable mariadb#登錄
mysql
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
USE mysql;
UPDATE mysql.user SET password=PASSWORD('zabbix') WHERE user='root';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'localhost' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'%' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';FLUSH PRIVILEGES;
quit;

//設置root賬戶密碼為

'zabbix' UPDATE mysql.user SET password=PASSWORD('zabbix') WHERE user='root';

//授權zabbix賬戶使用密碼'zabbix'本地訪問zabbix數據庫

GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'localhost' IDENTIFIED BY 'zabbix';

//授權zabbix賬戶使用密碼'zabbix'遠程訪問zabbix數據庫

GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'%' IDENTIFIED BY 'zabbix';

//授權zabbix賬戶使用密碼'zabbix'本地訪問zabbix_proxy數據庫

GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';

//授權zabbix賬戶使用密碼'zabbix'遠程訪問zabbix_proxy數據庫

GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';


nginx主機配置:

1. 安裝nginx
yum install -y nginx
systemctl start nginx && systemctl enable nginx

redis主機配置:

1. 安裝redis
yum install -y redis
systemctl start redis && systemctl enable redis

mysql主機配置:

1. 安裝數據庫
yum install -y mariadb-server
systemctl start mariadb && systemctl enable mariadb

zabbix-server:

1. 安裝zabbix
yum install -y zabbix-server-mysql-3.2.11 zabbix-web-mysql-3.2.11#初始化數據庫:輸入zabbix
zcat /usr/share/doc/zabbix-server-mysql-3.2.*/create.sql.gz | mysql -uzabbix -p zabbix
2. 編輯配置文件
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbixsystemctl start zabbix-server && systemctl enable zabbix-server

3. 安裝nginx和php-fpm

yum install -y nginx php-fpm#編輯nginx文件
vim /etc/nginx/nginx.conf
index index.html index.php;location ~\.php$ {fastcgi_buffer_size 128k;fastcgi_buffers 32 32k;include fastcgi_params;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;}#編輯php文件:修改值
vim /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
upload_max_filesize = 2M
date.timezone = Asia/Shanghaicp -rp /usr/share/zabbix/ /usr/share/nginx/html/
systemctl start nginx php-fpm
systemctl enable nginx php-fpm


zabbix-web:nginx

1. 添加nginx模板
創建模板

創建應用集

2. 創建監控項
配置nginx活躍連接數

配置監控Nginx客戶端的連接數

配置監控Nginx等待下一次請求指令的駐留連接數

配置監控Nginx讀取客戶端的連接數

配置監控Nginx總共處理的請求數

配置監控Nginx接受的連接數

配置監控Nginx處理的連接數

配置監控Nginx開機啟動

配置監控Nginx版本

配置監控Nginx進程數

3. 創建觸發器
配置Nginx開機啟動觸發器

配置Nginx運行狀態觸發器

配置Nginx版本變化觸發器-這里正常選值,然后手動修改為diff

4. 創建圖形

配置Nginx線程狀態圖

5. nginx主機添加監控腳本
yum install -y zabbix-agent
systemctl enable zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf#編寫nginx監控腳本
mkdir /etc/zabbix/scripts
vim /etc/zabbix/scripts/nginx-check.sh
#!/bin/bash
#Zabbix requested parameter
ZBX_REQ_DATA="$1"
ZBX_REQ_DATA_URL="$2"
#Nginx defaults
#設置Nginx監控URL
NGINX_STATUS_DEFAULT_URL="http://localhost:10080/nginx_status"
#定義監控工具
WGET_BIN="/usr/bin/wget"
#
#設置錯誤返回值
# - 能夠在Zabbix中展示(避免NOT_SUPPORTED)
#
ERROR_NO_ACCESS_FILE="-0.9900"
ERROR_NO_ACCESS="-0.9901"
ERROR_WRONG_PARAM="-0.9902"
#either can not connect /bad host /bad port
ERROR_DATA="-0.9903"#如果沒有設定URL則取默認值
if [ ! -z "$ZBX_REQ_DATA_URL" ];thenURL="$ZBX_REQ_DATA_URL"
elseURL="$NGINX_STATUS_DEFAULT_URL"
fi#將nginx狀態數據存入變量中
NGINX_STATS=$($WGET_BIN -q $URL -O - 2>/dev/null)
#處理訪問過程中的錯誤
if [ $? -ne 0 -o -z "$NGINX_STATS" ]; thenecho $ERROR_DATAexit 1
fi
#
#獲取nginx狀態數據中的特定數值(即zabbix模板中添加的監控項)
#
case $ZBX_REQ_DATA inactive_connections)echo "$NGINX_STATS" | head -1 | cut -f3 -d' ';;accepted_connections)echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f2 -d' ';;handled_connections)echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f3 -d' ';;handled_requests)echo "$NGINX_STATS" | grep -Ev '[a-zA-Z]' | cut -f4 -d' ';;reading)echo "$NGINX_STATS" | tail -1 | cut -f2 -d' ';;writing)echo "$NGINX_STATS" | tail -1 | cut -f4 -d' ';;waiting)echo "$NGINX_STATS" | tail -1 | cut -f6 -d' ';;*)echo $ERROR_WRONG_PARAM;exit 1;;
esac
exit 0chmod +x /etc/zabbix/scripts/nginx-check.sh

6. 添加ZabbixAgent配置,并重啟ZabbixAgent
vim /etc/zabbix/zabbix_agentd.d/nginx.conf
UserParameter=nginx[*],/etc/zabbix/scripts/nginx-check.sh "$1" "$2"systemctl restart zabbix-agent
7. 添加nginx配置,創建監控URL
vim /etc/nginx/conf.d/nginx-status.conf
server {listen 10080;server_name _;location /nginx_status {stub_status on;access_log off;allow 127.0.0.1;deny all;}
}systemctl restart nginx
8. 在server上驗證Nginx監控數值獲取
rpm -ivh zabbix-get-3.2.11-1.el7.x86_64.rpm
zabbix_get -s 192.168.180.120 -k nginx[active_connections]

9. 添加nginx客戶端主機

10. 關聯模板和主機

11. 結果驗證


zabbix-web:redis

1. 創建Redis模板

2. 創建應用集

3. 創建redis監控項
監控Redis開機啟動

監控redis版本

監控Redis是否宕機

監控Redis總連接數

監控Redis執行的操作命令總數

監控Redis最近一次存盤的狀態

3. 創建redis觸發器
redis開機啟動觸發器

redis宕機觸發器

redis響應觸發器-這里的值手動修改為nodata

4. 添加Redis圖形

5. redis主機添加模板
yum install -y zabbix-agent
vim /etc/zabbix/zabbix_agentd.confsystemctl start zabbix-agent && systemctl enable zabbix-agentvim /etc/zabbix/zabbix_agentd.d/redis.conf
UserParameter=redis[*],redis-cli info | grep $1":" | cut -d ':' -f 2
UserParameter=redis.version, redis-server --version | cut -d " " -f 3 | cut -
d "=" -f 1systemctl restart zabbix-agent

6. server檢查
zabbix_get -s 192.168.180.130 -k redis[total_commands_processed]

7. 添加redis主機

8. 關聯模板和主機

9. 結果驗證


zabbix-web:mysql

1. mysql模板,默認就有無需創建

2. 配置mysql
#創建MySQL監控賬戶
GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY '654321';
FLUSH PRIVILEGES;yum install -y zabbix-agent
vim /etc/zabbix/zabbix_agentd.confsystemctl start zabbix-agent && systemctl enable zabbix-agent

3. 創建配置文件/etc/zabbix/.my.cnf以提供ZabbixAgent訪問數據庫
vim /etc/zabbix/.my.cnf
# Zabbix Agent
[mysql]
host=localhost
user=zabbix
password=654321[mysqladmin]
host=localhost
user=zabbix
password=654321
4. 修改監控配置文件/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf,將所有的 “/var/lib/zabbix”修改為當前.my.cnf文件的路徑“/etc/zabbix”
sed -i 's/\/var\/lib\/zabbix/\/etc\/zabbix/g' /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
systemctl restart zabbix-agent
5. server驗證
zabbix_get -s 192.168.180.140 -k mysql.status[Com_begin]

6. 添加mysql主機

7. 關聯模板和主機

8. 結果驗證



到此實驗結束?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74764.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74764.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74764.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

無人機等非合作目標公開數據集2025.4.3

一.無人機遙感數據概述 1.1 定義與特點 在遙感技術的不斷發展中&#xff0c;無人機遙感數據作為一種新興的數據源&#xff0c;正逐漸嶄露頭角。它是通過無人駕駛飛行器&#xff08;UAV&#xff09;搭載各種傳感器獲取的地理空間信息&#xff0c;具有 覆蓋范圍大、綜合精度高、…

大數據時代的隱私保護:區塊鏈技術的創新應用

一、引言 在當今數字化時代&#xff0c;大數據已經成為推動社會發展的關鍵力量。從商業決策到社會治理&#xff0c;從醫療健康到金融服務&#xff0c;數據的價值日益凸顯。然而&#xff0c;隨著數據的大量收集和廣泛使用&#xff0c;隱私保護問題也日益突出。如何在充分利用大…

LeetCode 2442:統計反轉后的不同整數數量

目錄 核心思想&#xff1a;數字的“拆分”與“重組” 分步拆解&#xff08;以輸入 123 為例&#xff09; 關鍵操作詳解 為什么能處理中間或末尾的0&#xff1f; 數學本質 總結 題目描述 解題思路 代碼實現 代碼解析 復雜度分析 示例演示 總結 核心思想&#xff1a;…

Python爬蟲第3節-會話、Cookies及代理的基本原理

目錄 一、會話和Cookies 1.1 靜態網頁和動態網頁 1.2 無狀態HTTP 1.3 常見誤區 二、代理的基本原理 2.1 基本原理 2.2 代理的作用 2.3 爬蟲代理 2.4 代理分類 2.5 常見代理設置 一、會話和Cookies 大家在瀏覽網站過程中&#xff0c;肯定經常遇到需要登錄的場景。有些…

Flutter項目之登錄注冊功能實現

目錄&#xff1a; 1、頁面效果2、登錄兩種狀態界面3、中間按鈕部分4、廣告區域5、最新資訊6、登錄注冊頁聯調6.1、網絡請求工具類6.2、注冊頁聯調6.3、登錄問題分析6.4、本地緩存6.5、共享token6.6、登錄頁聯調6.7、退出登錄 1、頁面效果 import package:flutter/material.dart…

木馬學習記錄

一句話木馬是什么 一句話木馬就是僅需要一行代碼的木馬&#xff0c;很簡短且簡單&#xff0c;木馬的函數將會執行我們發送的命令 如何發送命令&#xff06;發送的命令如何執行? 有三種方式&#xff1a;GET&#xff0c;POST&#xff0c;COOKIE&#xff0c;一句話木馬中用$_G…

(C語言)單鏈表(1.0)(單鏈表教程)(數據結構,指針)

目錄 1. 什么是單鏈表&#xff1f; 2. 單鏈表的代碼表示 3. 單鏈表的基本操作 3.1 初始化鏈表 3.2 插入結點&#xff08;頭插法&#xff09; 3.3 插入結點&#xff08;尾插法&#xff09; 3.4 遍歷鏈表 4. 單鏈表的優缺點 代碼&#xff1a;*L(LinkList)malloc(sizeof(…

Sentinel-自定義資源實現流控和異常處理

目錄 使用SphU的API實現自定義資源 BlockException 使用SentinelResource注解定義資源 SentinelResourceAspect 使用Sentinel實現限流降級等效果通常需要先把需要保護的資源定義好&#xff0c;之后再基于定義好的資源為其配置限流降級等規則。 Sentinel對于主流框架&#…

Linux信號處理解析:從入門到實戰

Linux信號處理全解析&#xff1a;從入門到實戰 一、初識Linux信號&#xff1a;系統級的"緊急電話" 信號是什么&#xff1f; 信號是Linux系統中進程間通信的"緊急通知"&#xff0c;如同現實中的交通信號燈。當用戶按下CtrlC&#xff08;產生SIGINT信號&…

Java的Selenium的特殊元素操作與定位之select下拉框

如果頁面元素是一個下拉框&#xff0c;我們可以將此web元素封裝為Select對象 Select selectnew Select(WebElement element); Select對象常用api select.getOptions();//獲取所有選項select.selectBylndex(index);//根據索引選中對應的元素select.selectByValue(value);//選…

藍橋云客 刷題統計

刷題統計 問題描述 小明決定從下周一開始努力刷題準備藍橋杯競賽。他計劃周一至周五每天做 a 道題目&#xff0c;周六和周日每天做 b 道題目。請你幫小明計算&#xff0c;按照計劃他將在第幾天實現做題數大于等于 n 題&#xff1f; 輸入格式 輸入一行包含三個整數 a, b 和 …

三防筆記本有什么用 | 三防筆記本有什么特別

在現代社會&#xff0c;隨著科技的不斷進步&#xff0c;筆記本電腦已經成為人們工作和生活的重要工具。然而&#xff0c;在一些特殊的工作環境和極端條件下&#xff0c;普通筆記本電腦往往難以滿足需求。這時&#xff0c;三防筆記本以其獨特的設計和卓越的性能&#xff0c;成為…

智能體和RPA都需要程序思維,如何使用影刀的變量?

歡迎來到濤濤聊AI&#xff0c; 不管AI還是RPA&#xff0c;都需要用到編程思想才能完成批量工作。今天研究了下影刀的變量。 變量類型 根據變量值選擇相應的類型&#xff0c;可選擇任意一種影刀所支持的數據類型 變量值 指定變量中保存的值&#xff0c;會根據不同的類型設置…

【藍橋杯】算法筆記3

1. 最長上升子序列(LIS) 1.1. 題目 想象你有一排數字,比如:3, 1, 2, 1, 8, 5, 6 你要從中挑出一些數字,這些數字要滿足兩個條件: 你挑的數字的順序要和原來序列中的順序一致(不能打亂順序) 你挑的數字要一個比一個大(嚴格遞增) 問:最多能挑出多少個這樣的數字? …

性能測試之jmeter的基本使用

簡介 Jmeter是Apache的開源項目&#xff0c;基于Java開發&#xff0c;主要用于進行壓力測試。 優點&#xff1a;開源免費、支持多協議、輕量級、功能強大 官網&#xff1a;https://jmeter.apache.org/index.html 安裝 安裝步驟&#xff1a; 下載&#xff1a;進入jmeter的…

【NLP 面經 7、常見transformer面試題】

目錄 1. 為何使用多頭注意力機制&#xff1f; 2. Q和K使用不同權重矩陣的原因 3. 選擇點乘而非加法的原因 4. Attention進行scaled的原因 5. 對padding做mask操作 6. 多頭注意力降維原因 7. Transformer Encoder模塊簡介 8. 乘以embedding size的開方的意義 9. 位置編碼 10. 其…

【深度學習】CNN簡述

文章目錄 一、卷積神經網絡&#xff08;CNN&#xff09;二、CNN結構特性1. CNN 典型結構2. 局部連接3. 權重共享4.空間或時間上的次采樣 三、理解層面 一、卷積神經網絡&#xff08;CNN&#xff09; 卷積神經網絡(Convolutional Neural Network&#xff0c;CNN)是一種用于處理…

理解OSPF 特殊區域NSSA和各類LSA特點

本文基于上文 理解OSPF Stub區域和各類LSA特點 在理解了Stub區域之后&#xff0c;我們再來理解一下NSSA區域&#xff0c;NSSA區域用于需要引入少量外部路由&#xff0c;同時又需要保持Stub區域特性的情況 一、 網絡總拓撲圖 我們在R1上配置黑洞路由&#xff0c;來模擬NSSA區域…

論文閱讀筆記:Denoising Diffusion Implicit Models (5)

0、快速訪問 論文閱讀筆記&#xff1a;Denoising Diffusion Implicit Models &#xff08;1&#xff09; 論文閱讀筆記&#xff1a;Denoising Diffusion Implicit Models &#xff08;2&#xff09; 論文閱讀筆記&#xff1a;Denoising Diffusion Implicit Models &#xff08…

藍橋杯2024年第十五屆省賽真題-R 格式

題目鏈接&#xff1a; 思路&#xff1a; 通過數組模擬d的每一位&#xff0c;逐位進行計算&#xff0c;從而實現對d的精確處理。 代碼&#xff1a; #include<bits/stdc.h> #define int long long using namespace std; const int N 2020;int n; string s; vector<i…