CentOS 7.7 yum方式安裝配置Zabbix 4.0 LTS詳解(二)

1、添加Linux主機,自定義監控項、觸發器和使用內置模板進行監控:node

一、node-122節點部署Zabbix Agentlinux

(1)安裝zabbix-agent軟件包:# yum -y install zabbix-agentios

(2)修zabbix_agentd.conf配置文件:vim

# cd /etc/zabbixbash

# cp zabbix_agentd.conf{,.bak}服務器

# vim zabbix_agentd.confless

修改前ide

修改後spa

PidFile=/var/run/zabbix/zabbix_agentd.pid3d

保持默認

# LogType=file

LogType=file

LogFile=/var/log/zabbix/zabbix_agentd.log

保持默認

LogFileSize=0

保持默認

# EnableRemoteCommands=0

EnableRemoteCommands=1

Server=127.0.0.1

Server=192.168.0.120

# ListenPort=10050

ListenPort=10050

# ListenIP=0.0.0.0

ListenIP=192.168.0.122

ServerActive=127.0.0.1

ServerActive=192.168.0.120

Hostname=Zabbix server

Hostname=node-122

# AllowRoot=0

AllowRoot=0

# User=zabbix

User=zabbix

Include=/etc/zabbix/zabbix_agentd.d/*.conf

保持默認

# UnsafeUserParameters=0

UnsafeUserParameters=1

 (3)啓動Zabbix Agent

# systemctl start zabbix-agent

# systemctl status zabbix-agent

# ps aux | grep zabbix_agent

# ss -tunlp | grep -w 10050

# tail -100 /var/log/zabbix/zabbix_agentd.log

(4)配置開機自啓:# systemctl enable zabbix-agent

二、配置Zabbix Web

Configuration --> Hosts --> Create host --> Add

image.png

image.png

因爲沒有使用模板定義監控項,因此「ZBX」的圖標不會變綠

image.png

三、node-122節點定義監控項:

(1)監控TCP 21號端口是否被監聽(內置Key):

image.png

Create Item

image.png

image.png

說明:Key的具體用法參見

image.png

https://www.zabbix.com/documentation/4.0/manual/config/items/itemtypes/zabbix_agent

image.png

image.png

(2)監控服務器根分區磁盤TPS(自定義無參數Key):

a、安裝sysstat軟件包:# yum -y install sysstat

b、使用awk命令獲取服務器根分區磁盤TPS的數值:# iostat | awk '$1~/^dm-0$/{print $2}'

image.png

c、建立disk_tps.conf配置文件:

# vim /etc/zabbix/zabbix_agentd.d/disk_tps.conf

UserParameter=disk.tps,iostat | awk '$1~/^dm-0$/{print $2}'

# systemctl restart zabbix-agent

備註:Zabbix Agent查看全部Key的命令# zabbix_agentd -p | less

d、zabbix-server節點安裝zabbix-get軟件包,並嘗試獲取監控數據:

# yum -y install zabbix-get

# zabbix_get -s 192.168.0.122 -k disk.tps

image.png

e、建立監控項:

image.png

image.png

(3)監控服務器內存使用狀況(自定義有參數Key):

a、使awk命令獲取服務器內存使用狀況:

# free -h | awk '$1~/^Mem:$/{print $2}'

# free -h | awk '$1~/^Mem:$/{print $3}'

# free -h | awk '$1~/^Mem:$/{print $4}'

# free -h | awk '$1~/^Mem:$/{print $NF}'

image.png

b、awk取值命令寫成腳本:

# mkdir -pv /scripts

# vim /scripts/check_mem.sh

#!/bin/bash

case "$1" in

"total")

free -h | awk '$1~/^Mem:$/{print $2}'

;;

"used")

free -h | awk '$1~/^Mem:$/{print $3}'

;;

"free")

free -h | awk '$1~/^Mem:$/{print $4}'

;;

"available")

free -h | awk '$1~/^Mem:$/{print $NF}'

;;

*)

echo "Usage: { total | used | free | available }"

;;

esac

# chmod +x /scripts/check_mem.sh

image.png

c、建立check_mem.conf配置文件:

# vim /etc/zabbix/zabbix_agentd.d/check_mem.conf

UserParameter=mem.check[*],/scripts/check_mem.sh $1

# systemctl restart zabbix-agent

d、   zabbix-server節點嘗試獲取監控數據:

# zabbix_get -s 192.168.0.122 -k mem.check[total]

# zabbix_get -s 192.168.0.122 -k mem.check[used]

# zabbix_get -s 192.168.0.122 -k mem.check[free]

# zabbix_get -s 192.168.0.122 -k mem.check[available]

image.png

e、建立監控項:

image.png

備註:腳本取值獲得的結果,如3.8G既不是整型,也不是浮點型,是字符串,因此Type of information選「Character」,若是腳本中使用的是free -m命令,則建立ItemType of information選「Numeric (unsigned)」,Units填「MB

同理克隆ItemKey分別爲mem.check[used]mem.check[free]mem.check[available]

image.png

查看最新數據:Monitoring --> Latest data

image.png

四、node-122節點定義觸發器:

(1)Check TCP 21

image.png

Create trigger

image.png

image.png

image.png

image.png

image.png

(2)根分區tps最近3分鐘的平均值大於1時觸發告警

image.png

image.png

image.png

五、node-122節點使用內置模板進行監控:

按照上述方法自定義監控項和觸發器,太過繁瑣

(1)克隆「Template OS Linux」模板爲「Template OS Linux Active」,將監控項的默認類型修改成「Zabbix agent (active)」,使用主動模式監控:

Configuration --> Templates --> Name中輸入linux

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

(2)node-122節點連接「Template OS Linux Active」模板:

image.png

image.png

image.png

查看最新數據:

image.png

相關文章
相關標籤/搜索