Zabbix 遠程監控主機

目錄

1、安裝 Zabbix

安裝客戶端

服務端測試通訊

Web頁面添加主機

2、監控 Nginx

自定義腳本監控 Nginx

web配置臺

3、監控 MySQL

配置模版文件

配置Web界面


1、安裝 Zabbix

node-12 作為zabbix的被監控端,提供mysql服務器,配置zabbix監控node-12 客戶端,安裝zabbix_agent比較簡單,只需要開啟--enable-agent。

安裝客戶端
# 下載zabbix6.2
wget https://cdn.zabbix.com/zabbix/sources/stable/6.2/zabbix-6.2.1.tar.gz# 安裝依賴
yum -y install gcc gcc-c++ net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel  OpenIPMI-devel  libssh2-devel libevent libevent-devel mysql-devel
# 如果是本地yum源安裝依賴包,需要安裝zabbix_rpm.tar.gz包里的rmp包。
tar -zxvf zabbix_rpm.tar.gz
yum install -y zabbix_rpm/* --skip-broken# 創建用戶
useradd -s /sbin/nologin zabbix# 安裝zabbix
tar -zxvf zabbix-6.2.1.tar.gz -C /usr/local/src/
cd /usr/local/src/zabbix-6.2.1/
./configure --prefix=/usr/local/zabbix  --enable-agent
make install# 添加系統軟連接
ln -s /usr/local/zabbix/bin/* /usr/local/bin/
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/--------------------------------------------------------------# 修改配置文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.1.11
ListenPort=10050
ServerActive=127.0.0.1,192.168.1.11
Hostname=192.168.1.12
Timeout=15
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
UnsafeUserParameters=1mkdir /usr/local/etc/zabbix_agentd.conf.d#-----------------------添加啟動腳本-----------------------------
# 添加zabbix啟動腳本
cp /usr/local/src/zabbix-6.2.1/misc/init.d/fedora/core/* /etc/init.d/
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix      #修改zabbix安裝目錄chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on
# 啟動zabbix_agent
/etc/init.d/zabbix_agentd start
netstat -antup | grep 10050
服務端測試通訊
# 測試客戶端信息收集
[root@cong11 ~]zabbix_get -s 192.168.137.112 -p10050 -k system.uname

Web頁面添加主機

添加host主機:點擊配置--主機--新建主機--配置主機

  • 模板:Templates -> Linux by Zabbix agent——zabbix提供多種模板共用戶來選擇,用戶可以根據自己需求選擇不同的模板提供的監控項來監控自己的主機,用戶也可以自定義模板。單臺主機可以選擇多個模板。
  • 主機群組:Linux Servers——主機群組可以自己創建新的,也可以使用zabbix提供好的群組,主要來區分不同主機,方便管理,主機群組可以多選。
  • 接口選擇:Agent——我們使用的是zabbix_agent來收集信息,所以選擇agent
  • 資產記錄:zabbix提供資產記錄功能,可以手動填寫,也可以自動生成

2、監控 Nginx
自定義腳本監控 Nginx

zabbix默認自帶了很多有用的監控模板,通常對主機運行狀態使用默認的模板就可以了,有時候我們需要根據實際情況自定義一些監控信息。下面就介紹一下zabbix監控nginx服務的配置過程。整個配置過程大致如下:

確定監控內容

Nginx內置了一個status狀態的功能,通過配置可以看到nginx的運行情況,status顯示的內容包括當前連接數,處于活動狀態的連接數,已經處理的請求數等等。

# 在nginx的配置文件中,添加status配置
[root@cong11 ~] vim /usr/local/nginx/conf/nginx.conf
location /status {stub_status on;access_log off;allow 127.0.0.1;allow 192.168.1.11;deny all;
}nginx -s reload
# 測試訪問
curl http://192.168.1.11/status

注意:在訪問效率很高,請求很快被處理完畢的情況下,Waiting 數比較多是正常的。如果 reading + writing 數較多,則說明并發訪問量很大,正在處理過程中。

編寫agent端的監控腳本

編寫腳本,放于/usr/local/zabbix/scripts目錄下, 通過腳本獲取status頁面信息的關鍵值,zabbix server通過這些關鍵值才能生成數據圖像。

[root@cong11 ~] mkdir /usr/local/zabbix/scripts
vim /usr/local/zabbix/scripts/ngx_status.sh#! /bin/bash
# Description:zabbix監控nginx狀態
# Note:此腳本需要配置在被監控端
HOST="127.0.0.1"
PORT="80"
# 檢測nginx進程是否存在
function ping {/sbin/pidof nginx | wc -l
}
# 檢測nginx性能
function active {/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}# 執行function
$1
# 測試腳本
chmod +x /usr/local/zabbix/scripts/ngx_status.sh
# 本次測試輸出4
sh /usr/local/zabbix/scripts/ngx_status.sh active

配置zabbix_agentd.conf文件,定義監控腳本key

[root@cong11 ~]  vim /usr/local/zabbix/etc/zabbix_agentd.conf
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/mkdir /usr/local/zabbix/etc/zabbix_agentd.conf.d/# 定義監控參數:UserParameter=<key>,<command>
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/nginx_status.conf
UserParameter=nginx.status[*],/usr/local/zabbix/scripts/ngx_status.sh $1# 重啟zabbix-agent
/etc/init.d/zabbix_agentd restart

zabbix服務端使用zabbix_get 測試獲取數據

# zabbix服務端使用zabbix_get 測試獲取數據
zabbix_get -s 192.168.137.111 -p 10050 -k nginx.status[ping]
zabbix_get -s 192.168.137.111 -p 10050 -k nginx.status[active]
zabbix_get -s 192.168.137.111 -p 10050 -k nginx.status[accepts]
web配置臺

創建nginx模板:配置--模板--創建模板

給模板創建監控項

創建監控項要注意命名方式,能夠見名知意,最關鍵的是鍵值,這里的鍵值一定要和agent端的配置文件中定義的鍵值一致。

創建圖像:一個圖像中顯示多個數據的線圖,創建完圖像之后“應用”

關聯模板:選擇主機--Zabbix server--選擇模板--更新

3、監控 MySQL

zabbix3.0 server已自帶mysql的模板了,只需配置好agent客戶端,然后在web端給主機增加模板就行了。

配置模版文件
# 建立數據庫和 zabbix 的連接信息
[root@cong12 ~] vim /usr/local/zabbix/etc/.my.cnf
[client]
host=localhost
user='root'
password='123456'# 修改zabbix_agentd 配置文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/# 復制模版
cp /usr/local/src/zabbix-6.2.1/conf/zabbix_agentd/userparameter_mysql.conf \
/usr/local/zabbix/etc/zabbix_agentd.conf.d/# 修改userparameter_mysql.conf文件:指定.my.cnf路徑和mysql命令絕對路徑
[root@cong12 ~]vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
UserParameter=mysql.ping[*],HOME=/usr/local/zabbix/etc /usr/bin/mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*],HOME=/usr/local/zabbix/etc /usr/bin/mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*],HOME=/usr/local/zabbix/etc /usr/bin/mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*],HOME=/usr/local/zabbix/etc /usr/bin/mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*],HOME=/usr/local/zabbix/etc /usr/bin/mysql -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*],HOME=/usr/local/zabbix/etc /usr/bin/mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*],HOME=/usr/local/zabbix/etc /usrbin/mysql -h"$1" -P"$2" -sNX -e "show slave status"# 重啟zabbix_agentd
/etc/init.d/zabbix_agentd restart
# 在服務器端測試:先執行數據庫遠程授權:
[root@cong11]zabbix_get -s 192.168.137.112 -p 10050 -k "mysql.ping[192.168.137.112,3306]"

配置Web界面

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

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

相關文章

jquery寫組件滑動人機驗證組件

jquery組件&#xff0c;雖然 jquery 語法古老&#xff0c;但是寫好了用起來真的很爽啊&#xff0c;本文用滑動人機驗證給大家做個詳細教程&#xff08;直接復制代碼就可以用噢o(*&#xffe3;▽&#xffe3;*)ブ&#xff09; 第一步 先看下組件本身 component.js (function() {…

Nginx網絡服務三-----(三方模塊和內置變量)

1.驗證模塊 需要輸入用戶名和密碼 我們要用htpasswd這個命令&#xff0c;先安裝一下httpd 生成文件和用戶 修改文件 訪問頁面 為什么找不到頁面&#xff1f; 對應的路徑下&#xff0c;沒有這個文件 去創建文件 去虛擬機瀏覽器查看 有的頁面不想被別人看到&#xff0c;可以做…

【UI自動化】使用poco框架進行元素唯一定位

直接選擇&#xff1a; 1.poco(text買入).click() 2.poco("android.widget.ImageView").click()相對選擇、空間選擇&#xff1a; 3.poco(text/name).parent().child()[0].click()正則表達式&#xff1a; 4.listpoco(textMatches".*ETF")今天主要想記錄下…

centos 系統盤 放到 win pc 中的異常解決

有一塊 2.5 480g sata ssd&#xff0c;之前是筆記本電腦的centos系統盤&#xff0c;后來沒用了&#xff0c;打算掛到臺式機上當下載盤。臺式機pc的主板是華碩 h610m-a。 難點一&#xff1a; 因為臺式pc上已經掛了兩塊3.5 hdd&#xff0c;發現sata的電源線都在3.5hdd附近&#…

利用RBI(Remote Browser Isolation)技術訪問ChatGPT

系統組網圖 #mermaid-svg-Bza2puvd8MudMbqR {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Bza2puvd8MudMbqR .error-icon{fill:#552222;}#mermaid-svg-Bza2puvd8MudMbqR .error-text{fill:#552222;stroke:#552222;…

300分鐘吃透分布式緩存-10講:MC是怎么定位key的?

我們在進行 Mc 架構剖析時&#xff0c;除了學習 Mc 的系統架構、網絡模型、狀態機外&#xff0c;還對 Mc 的 slab 分配、Hashtable、LRU 有了簡單的了解。本節課&#xff0c;將進一步深入學習這些知識點。 接下來&#xff0c;進入 Memcached 進階的學習。會講解 Mc 是如何進行…

QT應用軟件【協議篇】周立功CAN接口卡代碼示例

文章目錄 USBCAN系列CAN接口卡規格參數資料下載QT引用周立功的庫安裝sdk代碼USBCAN系列CAN接口卡 USBCAN系列CAN接口卡兼容USB2.0全速規范,可支持1/2/4/8路CAN接口。采用該接口卡,PC機可通過USB連入CAN網絡,進行CAN總線數據采集和處理,主要具備以下幾大優勢特點: 支持車載…

正交匹配追蹤(Orthogonal Matching Pursuit, OMP)的MATLAB實現

壓縮感知&#xff08;Compressed Sensing, CS&#xff09;是一種利用稀疏信號的先驗知識&#xff0c;用遠少于奈奎斯特采樣定理要求的樣本數目恢復整個信號的技術。正交匹配追蹤&#xff08;Orthogonal Matching Pursuit, OMP&#xff09;是一種常見的貪婪算法&#xff08;Gree…

【CF】團隊訓練賽2 J-Palindrome Reversion 題解

傳送門&#xff1a;Palindrome Reversion 標簽&#xff1a;字符串 題目大意 規定一個操作&#xff1a;選擇字符串中的一段區間[l,r]并使其翻轉。現在給出一個字符串s&#xff0c;你要判斷能否通過一次操作使其變為回文串。 輸入&#xff1a;一個字符串&#xff0c;其長度不超…

在蘋果電腦MAC上安裝Windows10(雙系統安裝的詳細圖文步驟教程)

在蘋果電腦MAC上安裝Windows10&#xff08;雙系統安裝的詳細圖文步驟教程&#xff09; 一、準備工作準備項1&#xff1a;U盤作為系統安裝盤準備項2&#xff1a;您需要安裝的系統鏡像 二、啟動轉換助理步驟1&#xff1a;找到啟動轉換助理步驟2&#xff1a;啟動轉換助理步驟3&…

波奇學Linux:進程通信管道

進程通信 管道&#xff1a;基于文件級別的單向通信 創建父子進程&#xff0c;使得進程的struct file*fd_array[]的文件描述符指向同一個struct file文件&#xff0c;這個文件是內存級文件。 父進程關寫端&#xff0c;子進程再關閉讀端。實現單向通信 子進程寫入&#xff0c;父進…

Java面向對象(三)

一、封裝&#xff1a; 一般意義的封裝&#xff1a;把一段重復代碼抽取成一個函數&#xff0c;稱為代碼的封裝&#xff08;包裝&#xff09;面向對象語言的封裝&#xff1a;將類的某些信息隱藏在類的內部&#xff08;通過使用不同的訪問權限修飾符&#xff09;&#xff0c;不許…

C++ Primer 筆記(總結,摘要,概括)——第3章 字符串、向量和數組

目錄 3.1 命名空間的using聲明 3.2 標準庫類型string 3.2.1 定義和初始化string對象 3.2.2 string對象上的操作 3.2.3 處理string對象中的字符 3.3 標準庫類型vector 3.3.1 定義和初始化vector對象 3.3.2 向vector對象中添加元素 3.3.3 其他vector操作 3.4 迭代器介紹 3.4.…

如何使用rocketmq實現分布式事務?

什么是rocketmq事務消息 事務消息是 Apache RocketMQ 提供的一種高級消息類型&#xff0c;支持在分布式場景下保障消息生產和本地事務的最終一致性。 RocketMQ的分布式事務又稱為“半消息事務”。 事務消息處理流程 RocketMQ是靠半消息機制實現分布式事務 事務消息&#x…

Spring之AOP源碼解析(上)

Aop相關注解 EnableTransactionManagementEnableAspectJAutoProxyEnableAsync... 從注解切入來看看這些注解都干了什么 Import注解作用簡述 注入的類一般繼承ImportSelector或者ImportBeanDefinitionRegistrar接口 繼承ImportSelector接口&#xff1a;selectImports方法返回…

pandas/geopandas 筆記:判斷地點在不在路網上 不在路網的點和路網的距離

0 導入庫 import osimport pandas as pd pd.set_option(display.max_rows,5)import osmnx as oximport geopandas as gpd from shapely.geometry import Point 1 讀取數據 假設我們有 如下的數據&#xff1a; 1.1 新加坡室外基站位置數據 cell_stationpd.read_csv(outdoor…

TSINGSEE青犀AI智能分析網關V4初始配置與算法相關配置介紹

TSINGSEE青犀AI智能分析網關V4內置了近40種AI算法模型&#xff0c;支持對接入的視頻圖像進行人、車、物、行為等實時檢測分析&#xff0c;上報識別結果&#xff0c;并能進行語音告警播放。硬件管理平臺支持RTSP、GB28181協議、以及廠家私有協議接入&#xff0c;可兼容市面上常見…

通過例子學習golang的Goroutine

Go 語言中的 Goroutine 是一種輕量級的并發執行單位。它可以與其他 Goroutine 并發地執行&#xff0c;而不需要顯式地管理線程的創建和銷毀。Goroutine 是 Go 語言并發模型的核心組成部分&#xff0c;它使得編寫并發程序變得更加簡單和高效。 例一 創建兩個function&#xff0…

linux下ffmpeg調用GPU硬件解碼(VDPAU/VAAPI)保存文件

本文講解在linux下面&#xff0c;如何通過ffmpeg調用GPU硬件解碼&#xff0c;并保存解碼完的yuv文件。 其實&#xff0c;ffmpeg自帶的例子hw_decode.c這個文件&#xff0c;就已經能滿足要求了&#xff0c;因此&#xff0c;本文就嘗試講解以下hw_decode這個例子。hw_decode.c可以…

watchpoint

前言 內存被踩&#xff0c;通過 watchpoint 找到真兇 實例 以 smsc911x 網卡驅動為基體&#xff0c;進行實驗&#xff0c;和網卡本身功能無關&#xff0c; 每執行一次 ifconfig eth0 up&#xff0c;就會調用一次 smsc911x_open()&#xff0c;我在這里設計了一段代碼&#xf…