免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

網(wǎng)絡(luò)工程師常用的2個監(jiān)控工具:Nagios、Zabbix

:2024年06月11日 網(wǎng)絡(luò)技術(shù)干貨圈
分享到:

本文介紹網(wǎng)絡(luò)工程師常用的監(jiān)控工具有Nagios和Zabbix。Nagios是一款開源的網(wǎng)絡(luò)監(jiān)控工具,支持多種監(jiān)控功能,如網(wǎng)絡(luò)和服務(wù)器監(jiān)控、服務(wù)監(jiān)控、資源使用監(jiān)控等。Zabbix則是一款功能強(qiáng)大的工具,可擴(kuò)展性好,...

轉(zhuǎn)載請注明以下內(nèi)容:
來源:公眾號【網(wǎng)絡(luò)技術(shù)干貨圈】
作者:圈圈
ID:wljsghq

在現(xiàn)代網(wǎng)絡(luò)管理中,監(jiān)控工具是確保網(wǎng)絡(luò)運(yùn)行正常、快速發(fā)現(xiàn)和解決問題的關(guān)鍵。本文將詳細(xì)介紹網(wǎng)絡(luò)工程師常用的兩款監(jiān)控工具:Nagios、Zabbix。每款工具都有其獨(dú)特的功能和使用場景,了解并掌握這些工具的使用對于網(wǎng)絡(luò)工程師而言至關(guān)重要。

10001.jpg

Nagios

Nagios是一款開源的網(wǎng)絡(luò)監(jiān)控工具,最初由Ethan Galstad在1999年發(fā)布。它的設(shè)計目的是監(jiān)控系統(tǒng)的運(yùn)行狀態(tài),包括網(wǎng)絡(luò)設(shè)備、服務(wù)器、應(yīng)用程序及服務(wù),并在問題發(fā)生時提供告警。Nagios的核心優(yōu)勢在于其靈活的插件系統(tǒng),可以通過各種插件擴(kuò)展其功能,適應(yīng)不同的監(jiān)控需求。

https://www.nagios.org/

10002.jpg

主要功能

Nagios的主要功能包括:

  1. 網(wǎng)絡(luò)和服務(wù)器監(jiān)控:監(jiān)控主機(jī)的可達(dá)性和服務(wù)的運(yùn)行狀態(tài)。

  2. 服務(wù)監(jiān)控:支持HTTP、SMTP、POP3、NNTP、PING等常見協(xié)議的監(jiān)控。

  3. 資源使用監(jiān)控:監(jiān)控CPU負(fù)載、內(nèi)存使用、磁盤使用等系統(tǒng)資源。

  4. 告警機(jī)制:通過電子郵件、短信等方式發(fā)送告警通知,及時報告問題。

  5. 插件支持:通過自定義插件擴(kuò)展監(jiān)控功能,支持幾乎所有的應(yīng)用程序、服務(wù)和系統(tǒng)。

安裝與配置

為了使用Nagios進(jìn)行網(wǎng)絡(luò)監(jiān)控,首先需要在服務(wù)器上安裝并配置Nagios。

在安裝Nagios之前,需要準(zhǔn)備一臺運(yùn)行Linux操作系統(tǒng)的服務(wù)器。本文以CentOS 7為例,介紹Nagios的安裝過程。

  1. 更新系統(tǒng)包:

sudo yum update

  1. 安裝必要的軟件包:

sudo yum install httpd php gcc glibc glibc-common gd gd-devel make net-snmp

  1. 啟動并配置HTTP服務(wù)器:

sudo systemctl start httpd

sudo systemctl enable httpd

  1. 下載并解壓Nagios Core源碼包:

cd /tmp

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz

tar -zxvf nagios-4.4.6.tar.gz

cd nagios-4.4.6

  1. 配置、編譯并安裝Nagios:

./configure

make all

sudo make install

sudo make install-init

sudo make install-commandmode

sudo make install-config

sudo make install-webconf

  1. 創(chuàng)建Nagios用戶和組:

sudo useradd nagios

sudo groupadd nagcmd

sudo usermod -a -G nagcmd nagios

sudo usermod -a -G nagcmd apache

  1. 下載并解壓Nagios插件:

cd /tmp

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz

tar -zxvf nagios-plugins-2.3.3.tar.gz

cd nagios-plugins-2.3.3

  1. 配置、編譯并安裝Nagios插件:

./configure --with-nagios-user=nagios --with-nagios-group=nagios

make

sudo make install

  1. 啟動Nagios服務(wù)并配置為開機(jī)自啟動:

sudo systemctl start nagios

sudo systemctl enable nagios

  1. 確保Apache服務(wù)器也在運(yùn)行:

sudo systemctl start httpd

sudo systemctl enable httpd

10003.jpg

使用方法

Nagios的配置文件主要位于/usr/local/nagios/etc目錄下。通過編輯這些配置文件,可以定義需要監(jiān)控的主機(jī)、服務(wù)和告警規(guī)則。

  • nagios.cfg:主配置文件,控制Nagios的全局設(shè)置。

  • objects/commands.cfg:命令定義文件,包含Nagios使用的檢查命令。

  • objects/contacts.cfg:聯(lián)系人定義文件,定義告警接收者。

  • objects/localhost.cfg:本地主機(jī)和服務(wù)定義文件,默認(rèn)示例。

配置示例

  1. 編輯nagios.cfg,確保配置正確:

cfg_file=/usr/local/nagios/etc/objects/commands.cfg

cfg_file=/usr/local/nagios/etc/objects/contacts.cfg

cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

  1. 添加監(jiān)控對象

在objects/localhost.cfg文件中,添加需要監(jiān)控的主機(jī)和服務(wù)。例如:

define host {

use             linux-server

host_name       webserver

alias           My Web Server

address         192.168.1.1

}

define service {

use                     generic-service

host_name               webserver

service_description     HTTP

check_command           check_http

}

檢查配置文件并重啟Nagios

  1. 檢查配置文件語法:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

  1. 如果沒有錯誤,重啟Nagios:

sudo systemctl restart nagios

實際案例

案例一:監(jiān)控Web服務(wù)器

配置Nagios監(jiān)控一臺Web服務(wù)器的運(yùn)行狀態(tài),并設(shè)置告警策略。當(dāng)Web服務(wù)器無法訪問時,Nagios會發(fā)送郵件告警。

  1. 添加Web服務(wù)器的主機(jī)定義:

define host {

use             linux-server

host_name       webserver

alias           My Web Server

address         192.168.1.1

}

  1. 添加HTTP服務(wù)的監(jiān)控:

define service {

use                     generic-service

host_name               webserver

service_description     HTTP

check_command           check_http

notification_interval   10 ; 每10分鐘通知一次

notification_options    w,u,c,r ; 通知類型:warning, unknown, critical, recovery

}

  1. 配置聯(lián)系人以接收告警通知:

編輯contacts.cfg文件,添加聯(lián)系人信息:

define contact {

contact_name            admin

alias                   Nagios Admin

service_notification_period     24x7

host_notification_period        24x7

service_notification_options    w,u,c,r

host_notification_options       d,u,r

service_notification_commands   notify-service-by-email

host_notification_commands      notify-host-by-email

email                   admin@example.com

}

  1. 配置告警命令:

編輯commands.cfg文件,定義告警命令:

define command {

command_name    notify-service-by-email

command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

}

define command {

command_name    notify-host-by-email

command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nHost: $HOSTNAME$\nState: $HOSTSTATE$\n\nAddress: $HOSTADDRESS$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$HOSTOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$

}

案例二:監(jiān)控數(shù)據(jù)庫服務(wù)器

配置Nagios監(jiān)控一臺MySQL數(shù)據(jù)庫服務(wù)器的性能指標(biāo),包括CPU使用率、內(nèi)存使用率、磁盤I/O、數(shù)據(jù)庫查詢性能等。當(dāng)某項指標(biāo)超出閾值時,發(fā)送告警郵件。

  1. 添加數(shù)據(jù)庫服務(wù)器的主機(jī)定義:

define host {

use             linux-server

host_name       dbserver

alias           My Database Server

address         192.168.1.2

}

  1. 添加MySQL服務(wù)的監(jiān)控:

首先,需要安裝MySQL監(jiān)控插件,如check_mysql。假設(shè)插件已安裝并配置好,可以在Nagios中添加相應(yīng)的服務(wù)定義:

define service {

use                     generic-service

host_name               dbserver

service_description     MySQL

check_command           check_mysql

notification_interval   10

notification_options    w,u,c,r

}

深入配置與高級功能

除了基本的安裝和配置,Nagios還提供了一些高級功能,可以更有效地幫助管理員監(jiān)控和管理網(wǎng)絡(luò)系統(tǒng)。

使用NRPE插件進(jìn)行遠(yuǎn)程監(jiān)控

NRPE(Nagios Remote Plugin Executor)插件允許Nagios服務(wù)器執(zhí)行遠(yuǎn)程主機(jī)上的插件,從而監(jiān)控遠(yuǎn)程主機(jī)的狀態(tài)。下面是配置NRPE插件的步驟:

  1. 在遠(yuǎn)程主機(jī)上安裝NRPE和Nagios插件:

sudo yum install nrpe nagios-plugins-all

  1. 配置NRPE:

編輯/etc/nagios/nrpe.cfg文件,允許Nagios服務(wù)器訪問:

allowed_hosts=127.0.0.1,192.168.1.10

  1. 在NRPE配置文件中定義命令:

command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10

command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20

  1. 啟動并啟用NRPE服務(wù):

sudo systemctl start nrpe

sudo systemctl enable nrpe

  1. 在Nagios服務(wù)器上配置遠(yuǎn)程主機(jī)和服務(wù)檢查:

在Nagios服務(wù)器的配置文件中添加遠(yuǎn)程主機(jī)和服務(wù)定義:

define host {

use             linux-server

host_name       remote_host

alias           Remote Host

address         192.168.1.20

}

define service {

use                     generic-service

host_name               remote_host

service_description     Users

check_command           check_nrpe!check_users

}

define service {

use                     generic-service

host_name               remote_host

service_description     Load

check_command           check_nrpe!check_load

}

使用Nagios XI進(jìn)行高級管理

Nagios XI是Nagios的商業(yè)版本,提供了更加用戶友好的界面和一些高級功能,如自動發(fā)現(xiàn)、配置向?qū)А蟾婧皖A(yù)測分析等。雖然Nagios XI是付費(fèi)軟件,但對于大規(guī)模部署和需要更復(fù)雜管理功能的企業(yè)來說,它是一個非常值得考慮的選項。

10004.jpg

  1. 安裝Nagios XI:

Nagios XI的安裝比Nagios Core稍微復(fù)雜,需要更多的系統(tǒng)資源。可以參考官方文檔進(jìn)行安裝:https://www.nagios.com/products/nagios-xi/

  1. 使用自動發(fā)現(xiàn)功能:

Nagios XI提供自動發(fā)現(xiàn)功能,可以快速發(fā)現(xiàn)網(wǎng)絡(luò)中的設(shè)備并進(jìn)行初始配置,大大減少手工配置的工作量。

  1. 配置向?qū)В?/strong>

配置向?qū)椭脩艨焖倥渲贸R姷谋O(jiān)控場景,如Web服務(wù)器、數(shù)據(jù)庫服務(wù)器、網(wǎng)絡(luò)設(shè)備等,極大地簡化了配置過程。

使用Nagios Fusion進(jìn)行集中管理

Nagios Fusion是另一款Nagios的商業(yè)產(chǎn)品,允許用戶集中管理多個Nagios服務(wù)器。對于大型企業(yè)或多站點的網(wǎng)絡(luò)監(jiān)控,Nagios Fusion提供了統(tǒng)一的視圖和集中管理功能。

  1. 安裝Nagios Fusion:

同樣,Nagios Fusion的安裝可以參考官方文檔:https://www.nagios.com/products/nagios-fusion/

  1. 添加多個Nagios服務(wù)器:

在Nagios Fusion的管理界面中,可以添加多個Nagios服務(wù)器,集中查看和管理它們的狀態(tài)。

  1. 統(tǒng)一視圖:

Nagios Fusion提供了統(tǒng)一的視圖,顯示所有連接的Nagios服務(wù)器的狀態(tài),幫助管理員快速了解整個網(wǎng)絡(luò)的健康狀況。

以下是一個復(fù)雜的實際案例,展示了如何使用Nagios監(jiān)控一個包含多種設(shè)備和服務(wù)的網(wǎng)絡(luò)環(huán)境。

某公司擁有一個大型網(wǎng)絡(luò)環(huán)境,包括多個Web服務(wù)器、數(shù)據(jù)庫服務(wù)器、文件服務(wù)器和網(wǎng)絡(luò)設(shè)備(如路由器、交換機(jī))。公司希望使用Nagios監(jiān)控所有這些設(shè)備,并在出現(xiàn)問題時及時通知相關(guān)管理員。

定義主機(jī)組:

為了更好地組織和管理主機(jī),可以將相同類型的主機(jī)分組。例如,將所有Web服務(wù)器分為一個組:

define hostgroup {

hostgroup_name  web-servers

alias           Web Servers

members         webserver1,webserver2,webserver3

}

define hostgroup {

hostgroup_name  db-servers

alias           Database Servers

members         dbserver1,dbserver2

}

define hostgroup {

hostgroup_name  file-servers

alias           File Servers

members         fileserver1,fileserver2

}

定義服務(wù)模板:

為了減少重復(fù)配置,可以定義一些服務(wù)模板。例如,定義一個HTTP服務(wù)模板:

define service {

name                            http-service

use                             generic-service

check_command                   check_http

notification_interval           30

notification_options            w,u,c,r

register                        0

}

應(yīng)用模板到主機(jī)組:

將HTTP服務(wù)模板應(yīng)用到所有Web服務(wù)器:

define service {

use                             http-service

hostgroup_name                  web-servers

service_description             HTTP

}

添加特定服務(wù)監(jiān)控:

為數(shù)據(jù)庫服務(wù)器添加MySQL監(jiān)控:

define service {

use                             generic-service

hostgroup_name                  db-servers

service_description             MySQL

check_command                   check_mysql

notification_interval           10

notification_options            w,u,c,r

}

配置告警策略:

為每個主機(jī)組配置不同的告警策略。例如,為Web服務(wù)器配置郵件告警,為數(shù)據(jù)庫服務(wù)器配置短信告警:

define contact {

contact_name                    webadmin

alias                           Web Admin

service_notification_period     24x7

host_notification_period        24x7

service_notification_options    w,u,c,r

host_notification_options       d,u,r

service_notification_commands   notify-service-by-email

host_notification_commands      notify-host-by-email

email                           webadmin@example.com

}

define contact {

contact_name                    dbadmin

alias                           Database Admin

service_notification_period     24x7

host_notification_period        24x7

service_notification_options    w,u,c,r

host_notification_options       d,u,r

service_notification_commands   notify-service-by-sms

host_notification_commands      notify-host-by-sms

pager                           +1234567890

}

Zabbix

Zabbix是一款企業(yè)級開源監(jiān)控解決方案,由Alexei Vladishev在1998年創(chuàng)建,并于2001年發(fā)布第一個版本。Zabbix的設(shè)計目標(biāo)是提供全面的監(jiān)控功能,涵蓋從硬件到軟件、從網(wǎng)絡(luò)設(shè)備到虛擬化環(huán)境的監(jiān)控需求。Zabbix不僅支持實時監(jiān)控,還能生成詳細(xì)的報告和圖表,幫助管理員進(jìn)行性能分析和容量規(guī)劃。

10005.jpg

Zabbix的主要功能包括:

  1. 自動發(fā)現(xiàn):能夠自動發(fā)現(xiàn)網(wǎng)絡(luò)中的設(shè)備和服務(wù),并生成相應(yīng)的監(jiān)控項。

  2. 多種監(jiān)控方式:支持SNMP、JMX、IPMI、WMI、agent、agentless等多種監(jiān)控方式。

  3. 高級告警:支持多種告警渠道,如電子郵件、短信、即時通訊工具等,具備靈活的告警策略和依賴關(guān)系管理。

  4. 可視化:提供豐富的圖表、儀表盤、報告等可視化工具,幫助管理員直觀地了解系統(tǒng)狀態(tài)。

  5. 數(shù)據(jù)存儲和趨勢分析:支持大規(guī)模數(shù)據(jù)存儲和長時間趨勢分析,方便進(jìn)行歷史數(shù)據(jù)查詢和分析。

Zabbix安裝與配置

為了使用Zabbix進(jìn)行網(wǎng)絡(luò)監(jiān)控,首先需要在服務(wù)器上安裝并配置Zabbix。

在安裝Zabbix之前,需要準(zhǔn)備一臺運(yùn)行Linux操作系統(tǒng)的服務(wù)器。本文以CentOS 7為例,介紹Zabbix的安裝過程。

  1. 更新系統(tǒng)包:

sudo yum update

  1. 安裝MariaDB數(shù)據(jù)庫:

sudo yum install mariadb-server mariadb

sudo systemctl start mariadb

sudo systemctl enable mariadb

  1. 安裝Apache和PHP:

sudo yum install httpd php php-mysql php-gd php-xml php-bcmath php-mbstring

sudo systemctl start httpd

sudo systemctl enable httpd

  1. 添加Zabbix倉庫:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm

sudo yum clean all

  1. 安裝Zabbix Server、Web前端和Agent:

sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

  1. 創(chuàng)建Zabbix數(shù)據(jù)庫和用戶:

mysql -uroot -p

CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';

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

FLUSH PRIVILEGES;

exit;

  1. 導(dǎo)入初始架構(gòu)和數(shù)據(jù):

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

  1. 編輯/etc/zabbix/zabbix_server.conf文件,配置數(shù)據(jù)庫連接:

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=password

  1. 啟動并啟用Zabbix Server和Agent:

sudo systemctl start zabbix-server

sudo systemctl enable zabbix-server

sudo systemctl start zabbix-agent

sudo systemctl enable zabbix-agent

  1. 編輯Apache配置文件/etc/httpd/conf.d/zabbix.conf:

php_value date.timezone Europe/Riga

將Europe/Riga替換為實際的時區(qū),例如Asia/Shanghai。

  1. 啟動并啟用Apache:

sudo systemctl restart httpd

  1. 通過Web瀏覽器訪問Zabbix前端安裝向?qū)В瓿砂惭b配置:

訪問//your-server-ip/zabbix,根據(jù)提示完成安裝向?qū)У呐渲谩?/p>

使用方法

完成安裝和基本配置后,可以開始使用Zabbix進(jìn)行監(jiān)控。

添加主機(jī)和監(jiān)控項

  1. 添加主機(jī):

在Zabbix前端界面,導(dǎo)航到“Configuration” -> “Hosts”,點擊“Create host”按鈕,添加需要監(jiān)控的主機(jī)。配置主機(jī)名、群組、接口等信息。

  1. 創(chuàng)建監(jiān)控項:

在主機(jī)配置頁面,導(dǎo)航到“Items”標(biāo)簽,點擊“Create item”按鈕,添加需要監(jiān)控的項。例如,監(jiān)控CPU使用率:

Name: CPU Load

Type: Zabbix agent

Key: system.cpu.load[percpu,avg1]

Type of information: Numeric (float)

Units: %

10006.jpg

  1. 創(chuàng)建觸發(fā)器:

在主機(jī)配置頁面,導(dǎo)航到“Triggers”標(biāo)簽,點擊“Create trigger”按鈕,添加告警觸發(fā)條件。例如,CPU使用率超過80%時觸發(fā)告警:

Name: CPU load is too high

Expression: {hostname:system.cpu.load[percpu,avg1].last()} > 0.8

Severity: High

配置告警和通知

  1. 添加媒體類型:

導(dǎo)航到“Administration” -> “Media types”,添加新的媒體類型(如電子郵件、短信等)。

  1. 配置告警動作:

導(dǎo)航到“Configuration” -> “Actions”,點擊“Create action”按鈕,配置告警動作。例如,配置當(dāng)CPU使用率超過閾值時發(fā)送電子郵件通知:

Name: CPU load high alert

Event source: Trigger

Condition: Trigger severity = "High"

Operation: Send message to user group "Zabbix administrators"

使用模板

Zabbix提供了許多預(yù)定義的模板,幫助快速配置常見的監(jiān)控場景。可以在Zabbix前端界面導(dǎo)航到“Configuration” -> “Templates”,導(dǎo)入或創(chuàng)建模板,并應(yīng)用到需要監(jiān)控的主機(jī)上。

實際案例

案例一:監(jiān)控Web服務(wù)器

配置Zabbix監(jiān)控一臺Web服務(wù)器的運(yùn)行狀態(tài),包括HTTP響應(yīng)時間、CPU使用率、內(nèi)存使用率等。當(dāng)某項指標(biāo)超出閾值時,發(fā)送告警通知。

  1. 添加Web服務(wù)器主機(jī):

在Zabbix前端添加Web服務(wù)器主機(jī),配置基本信息。

  1. 創(chuàng)建HTTP監(jiān)控項:

在主機(jī)配置頁面的“Items”標(biāo)簽,創(chuàng)建HTTP監(jiān)控項:

Name: HTTP response time

Type: HTTP agent

Key: web.page.get[example.com,,80]

Type of information: Numeric (float)

Units: s

  1. 創(chuàng)建觸發(fā)器:

在主機(jī)配置頁面的“Triggers”標(biāo)簽,創(chuàng)建觸發(fā)器:

Name: HTTP response time is too high

Expression: {hostname:web.page.get[example.com,,80].last()} > 2

Severity: High

  1. 配置告警通知:

導(dǎo)航到“Configuration” -> “Actions”,創(chuàng)建告警動作,發(fā)送電子郵件通知管理員。

案例二:監(jiān)控數(shù)據(jù)庫服務(wù)器

配置Zabbix監(jiān)控一臺MySQL數(shù)據(jù)庫服務(wù)器的性能指標(biāo),包括CPU使用率、內(nèi)存使用率、磁盤I/O、數(shù)據(jù)庫查詢性能等。當(dāng)某項指標(biāo)超出閾值時,發(fā)送告警通知。

  1. 添加數(shù)據(jù)庫服務(wù)器主機(jī):

在Zabbix前端添加數(shù)據(jù)庫服務(wù)器主機(jī),配置基本信息。

  1. 導(dǎo)入MySQL模板:

導(dǎo)航到“Configuration” -> “Templates”,導(dǎo)入MySQL監(jiān)控模板。

  1. 應(yīng)用模板到數(shù)據(jù)庫服務(wù)器:

在數(shù)據(jù)庫服務(wù)器主機(jī)配置頁面,導(dǎo)航到“Templates”標(biāo)簽,選擇MySQL模板并應(yīng)用。

  1. 創(chuàng)建自定義監(jiān)控項和觸發(fā)器:

根據(jù)具體需求,創(chuàng)建額外的監(jiān)控項和觸發(fā)器。例如,監(jiān)控MySQL查詢時間:

Name: MySQL query time

Type: Zabbix agent

Key: mysql.query.time

Type of information: Numeric (float)

Units: s

創(chuàng)建觸發(fā)器:

Name: MySQL query time is too high

Expression: {hostname:mysql.query.time.last()} > 1

Severity: High

深入配置與高級功能

除了基本的安裝和配置,Zabbix還提供了一些高級功能,可以更有效地幫助管理員監(jiān)控和管理網(wǎng)絡(luò)系統(tǒng)。

使用Zabbix代理和代理守護(hù)進(jìn)程

Zabbix代理(Agent)和代理守護(hù)進(jìn)程(Proxy)是Zabbix的重要組件,允許在被監(jiān)控主機(jī)上收集數(shù)據(jù),并將其發(fā)送到Zabbix服務(wù)器。

Zabbix代理

Zabbix代理安裝在被監(jiān)控主機(jī)上,直接從操作系統(tǒng)和應(yīng)用程序收集數(shù)據(jù),并將其發(fā)送到Zabbix服務(wù)器。以下是安裝和配置Zabbix代理的步驟:

  1. 在被監(jiān)控主機(jī)上安裝Zabbix代理:

sudo yum install zabbix-agent

  1. 配置Zabbix代理:

編輯/etc/zabbix/zabbix_agentd.conf文件,配置服務(wù)器地址和主機(jī)名:

Server=your_zabbix_server_ip

Hostname=your_monitored_host_name

  1. 啟動并啟用Zabbix代理:

sudo systemctl start zabbix-agent

sudo systemctl enable zabbix-agent

Zabbix代理守護(hù)進(jìn)程

Zabbix代理守護(hù)進(jìn)程用于代理模式下,可以收集分布式網(wǎng)絡(luò)中的數(shù)據(jù)并匯總到一個或多個Zabbix服務(wù)器。這對于大規(guī)模分布式網(wǎng)絡(luò)環(huán)境尤為有用。

  1. 在代理服務(wù)器上安裝Zabbix代理守護(hù)進(jìn)程:

sudo yum install zabbix-proxy-mysql

  1. 配置Zabbix代理守護(hù)進(jìn)程:

編輯/etc/zabbix/zabbix_proxy.conf文件,配置數(shù)據(jù)庫和Zabbix服務(wù)器連接:

Server=your_zabbix_server_ip

Hostname=your_proxy_name

DBHost=localhost

DBName=zabbix_proxy

DBUser=zabbix

DBPassword=password

  1. 啟動并啟用Zabbix代理守護(hù)進(jìn)程:

sudo systemctl start zabbix-proxy

sudo systemctl enable zabbix-proxy

使用Zabbix API進(jìn)行自動化

Zabbix提供了功能強(qiáng)大的API接口,允許用戶通過編程方式與Zabbix系統(tǒng)進(jìn)行交互,進(jìn)行自動化操作。例如,批量添加主機(jī)、監(jiān)控項、觸發(fā)器等。

  1. Zabbix API認(rèn)證:

首先,需要獲取Zabbix API的認(rèn)證令牌:

import requests

import json

url = "http://your_zabbix_server_ip/api_jsonrpc.php"

headers = {"Content-Type": "application/json"}

data = {

"jsonrpc": "2.0",

"method": "user.login",

"params": {

"user": "Admin",

"password": "zabbix"

},

"id": 1

}

response = requests.post(url, headers=headers, data=json.dumps(data))

auth_token = response.json()["result"]

  1. 通過API添加主機(jī):

使用獲取的認(rèn)證令牌,通過API添加主機(jī):

data = {

"jsonrpc": "2.0",

"method": "host.create",

"params": {

"host": "New_Host",

"interfaces": [

{

"type": 1,

"main": 1,

"useip": 1,

"ip": "192.168.1.10",

"dns": "",

"port": "10050"

}

],

"groups": [

{

"groupid": "2"

}

]

},

"auth": auth_token,

"id": 2

}

response = requests.post(url, headers=headers, data=json.dumps(data))

print(response.json())

通過這些API調(diào)用,可以實現(xiàn)Zabbix系統(tǒng)的自動化配置和管理,極大地提高工作效率。

使用Zabbix的可視化和報表功能

Zabbix提供了豐富的可視化和報表功能,幫助管理員更好地分析和展示監(jiān)控數(shù)據(jù)。

  1. 創(chuàng)建圖表:

在Zabbix前端界面,導(dǎo)航到“Monitoring” -> “Graphs”,選擇需要展示的主機(jī)和監(jiān)控項,創(chuàng)建圖表。例如,展示CPU使用率、內(nèi)存使用率等。

  1. 創(chuàng)建儀表盤:

導(dǎo)航到“Monitoring” -> “Dashboard”,創(chuàng)建自定義儀表盤,添加多個小組件(如圖表、地圖、報警視圖等),實時監(jiān)控系統(tǒng)狀態(tài)。

  1. 生成報表:

導(dǎo)航到“Reports” -> “Availability Report”或“Triggers Top 100”,生成系統(tǒng)可用性報告或最頻繁觸發(fā)的告警報告,進(jìn)行深入分析。

實際案例:監(jiān)控復(fù)雜網(wǎng)絡(luò)環(huán)境

以下是一個復(fù)雜的實際案例,展示了如何使用Zabbix監(jiān)控一個包含多種設(shè)備和服務(wù)的網(wǎng)絡(luò)環(huán)境。

案例背景

某公司擁有一個大型網(wǎng)絡(luò)環(huán)境,包括多個Web服務(wù)器、數(shù)據(jù)庫服務(wù)器、文件服務(wù)器和網(wǎng)絡(luò)設(shè)備(如路由器、交換機(jī))。公司希望使用Zabbix監(jiān)控所有這些設(shè)備,并在出現(xiàn)問題時及時通知相關(guān)管理員。

案例配置

  1. 定義主機(jī)組:

為了更好地組織和管理主機(jī),可以將相同類型的主機(jī)分組。例如,將所有Web服務(wù)器分為一個組:

define hostgroup {

hostgroup_name  web-servers

alias           Web Servers

members         webserver1,webserver2,webserver3

}

define hostgroup {

hostgroup_name  db-servers

alias           Database Servers

members         dbserver1,dbserver2

}

define hostgroup {

hostgroup_name  file-servers

alias           File Servers

members         fileserver1,fileserver2

}

  1. 定義監(jiān)控模板:

為了減少重復(fù)配置,可以定義一些監(jiān)控模板。例如,定義一個HTTP服務(wù)模板:

define service {

name                            http-service

use                             generic-service

check_command                   check_http

notification_interval           30

notification_options            w,u,c,r

register                        0

}

  1. 應(yīng)用模板到主機(jī)組:

將HTTP服務(wù)模板應(yīng)用到所有Web服務(wù)器:

define service {

use                             http-service

hostgroup_name                  web-servers

service_description             HTTP

}

  1. 添加特定服務(wù)監(jiān)控:

為數(shù)據(jù)庫服務(wù)器添加MySQL監(jiān)控:

define service {

use                             generic-service

hostgroup_name                  db-servers

service_description             MySQL

check_command                   check_mysql

notification_interval           10

notification_options            w,u,c,r

}

  1. 配置告警策略:

為每個主機(jī)組配置不同的告警策略。例如,為Web服務(wù)器配置郵件告警,為數(shù)據(jù)庫服務(wù)器配置短信告警:

define contact {

contact_name                    webadmin

alias                           Web Admin

service_notification_period     24x7

host_notification_period        24x7

service_notification_options    w,u,c,r

host_notification_options       d,u,r

service_notification_commands   notify-service-by-email

host_notification_commands      notify-host-by-email

email                           webadmin@example.com

}

define contact {

contact_name                    dbadmin

alias                           Database Admin

service_notification_period     24x7

host_notification_period        24x7

service_notification_options    w,u,c,r

host_notification_options       d,u,r

service_notification_commands   notify-service-by-sms

host_notification_commands      notify-host-by-sms

pager                           +1234567890

}

---END---

來源:https://mp.weixin.qq.com/s/r2Y1yLxQYGv1LjJGib53hQ

[我要糾錯]
[ 編輯:王振袢 &發(fā)表于江蘇 ]
關(guān)鍵詞: 轉(zhuǎn)載 注明 以下 內(nèi)容 來源

來源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺,并已注明來源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請聯(lián)系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內(nèi)容的準(zhǔn)確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負(fù)責(zé),僅作分享之用,文章版權(quán)及插圖屬于原作者。

點個贊
0
踩一腳
0

您在閱讀:網(wǎng)絡(luò)工程師常用的2個監(jiān)控工具:Nagios、Zabbix

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺保留所有權(quán)利

蘇公網(wǎng)安備32010402000125 蘇ICP備14051488號-3技術(shù)支持:南京博盛藍(lán)睿網(wǎng)絡(luò)科技有限公司

南京思必達(dá)教育科技有限公司版權(quán)所有   百度統(tǒng)計

主站蜘蛛池模板: 天堂网欧美 | 一区二区精品视频 | 久久精品成人免费看 | 91极品蜜桃臀在线播放 | 国产精品一区久久精品 | 日本一本久道 | 成人免费观看视频 | 男人香蕉好大好爽视频 | 日本动漫的18涩涩视频 | 免费高清在线影片一区 | 黄色影院网站 | 精品国产一区二区三区四 | 黄色三级视频在线观看 | 182tv午夜精品视频在线播放 | 国产精品自在线天天看片 | 久久精品免费全国观看国产 | 久久乐播| 久久国产精品久久精 | 国产资源在线观看 | 色多多网站 | 人人爱天天做夜夜爽 | 国产成人无精品久久久久国语 | 秋霞操| 一级毛片大全 | 天天操天天插天天射 | 久久亚洲网 | 九九色视频 | 成人精品视频网站 | 亚洲午夜剧场 | 天天摸夜夜添夜夜添国产 | 黄色片视频免费看 | 一个人www免费看的视频 | 97精品视频在线观看 | 欧美精品免费看 | 波多野结衣178部中文字幕 | 秋霞国产一级特黄 | 在线免费观看一级片 | 国产va免费精品观看 | 成人免费黄网站 | 亚洲欧美另类在线 | 日本中文字幕在线观看视频 |
  • 阿里云上云鉅惠,云產(chǎn)品享最低成本,有需要聯(lián)系,
  • 卡爾蔡司鏡片優(yōu)惠店,鏡片價格低
  • 蘋果原裝手機(jī)殼