(四)Zabbix4.0 linux 基本监控

一,Linux下Zabbix客户端编译安装

#abbix Agent编译安装
yum install -y gcc gcc-c++ make pcre-devel
useradd -s /sbin/nologin zabbix
cd /usr/local/src/
wget ‘https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz‘
tar -zxvf zabbix-4.0.3.tar.gz
cd zabbix-4.0.3
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
chown zabbix:zabbix -R /usr/local/zabbix/

#环境变量配置
vim /etc/profile
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/

#zabbix agent配置,Server和ServerActive上配置的是zabbix server的ivrp
PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/zabbix_agentd.log
Hostname=xxx   #填写主机名或者zabbix里的主机名
Server=xxx    ##zabbix server 地址
ServerActive=xxx  ##zabbix server地址 相当于访问白名单
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

zabbix agent启动
    /usr/local/zabbix/sbin/zabbix_agentd

二:zabbix_agent 监控cpu 磁盘 流量等
zabbix_get
zabbix提供一个zabbix_get工具,可以跟zabbix agent通讯获取监控信息
使用方式:zabbix_get -s xxx -k xxx
zabbix agent查看所有可监控项目:zabbix_agentd -p

通过模板添加
监控cpu负载
key: system.cpu.load[all,avg1] Float型
key: system.cpu.load[all,avg5] Float型
key: system.cpu.load[all,avg15] Float型

监控cpu使用和空闲
system.cpu.util[,iowait,] Float型
system.cpu.util[,system,] Float型
system.cpu.util[,user,] Float型
system.cpu.util[,idle,] Float型 空闲

监控剩余内存(buffers\cached实际上也是剩余的)
vm.memory.size[available] 整数

监控磁盘
名称:Disk pfree on $1
名称:inode pfree on $1
vfs.fs.size[/,pfree] Float型
vfs.fs.inode[/,pfree] Float型

监控流量
net.if.in[eth0] 整型(每秒速率) 默认返回字节数,需要8
net.if.out[eth0] 整型(每秒速率) 默认返回字节数,需要
8
监控流量需要预处理

三,zabbix主被动模式
主动active:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
server 压力小一点,但是有部分类型不支持
server检索数据有超时限制,最大超时时间30秒,如果检索数据经常超过30秒,那么,不建议你使用主动模式的agent,可以使用如下类型agent active

被动:server向agent请求获取监控项的数据,agent返回数据
被动模式:

supported items通信过程

Server打开一个TCP连接

Server发送请求agent.ping\n

Agent接收到请求并且响应<HEADER><DATALEN>1
Server处理接收到的数据1
关闭TCP连接

not supported items通信过程 (不支持类型)

Server打开一个TCP连接

Server发送请求vfs.fs.size[/nono]\n

Agent接收请求并且返回响应数据 <HEADER><DATALEN>ZBX_NOTSUPPORTED\0Cannot obtain filesystem information: [2] No such file or directory

Server接收并处理数据, 将item的状态改为“ not supported ”

主动模式

Agent打开TCP连接(主动检测变成Agent打开)

Agent请求items检测列表

Server返回items列表

Agent 处理响应

关闭TCP连接

Agent开始收集数据

使用模板监控linux

在模板中 使用template linux os 模板 可以监控 linux 相关系统信息(注意清除相关无用监控项,因为随着监控的增多数据库写入压力很大)
在template linux os 中 自动发现 需要主机名与计算机名一直才能check now 马上自动发现
不是的话 可能会报 Cannot send request: host is not monitored.错误


四:zabbix自定义key监控linux 服务器

自定义key说明
所有语言,只要能运行返回结果即可
运维常用的语言:Shell、Python
其中自定义key 又分有参数脚本和无参数脚本

无参数脚本
例如:

free  -m | grep ‘Mem:‘ |awk ‘{print $NF}‘
#在agent 机器中
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mem.conf
UserParameter=mem.available,sh /tmp/memavailable.sh  ## UserParameter名就是key名
chmod a+x memavailable.sh
##重启agent,测试
zabbix_get -s 192.168.0.102 -k mem.available
##如果显示not soupout 检查脚本 防火墙 端口等

添加自定义key,跟模板添加item类似 ,注意添加触发器tigers是根据脚本返回的值添加
key名 就是配置文件里的名字

有参数脚本
相较于无参数脚本 有参数脚本在编写item 可以跟参数

#shell脚本/tmp/mem.sh
case "$1" in
  "available") free  -m | grep ‘Mem:‘ |awk ‘{print $NF}‘;;
  "total") free  -m | grep ‘Mem:‘ |awk ‘{print $2}‘;;
  "used") free  -m | grep ‘Mem:‘ |awk ‘{print $3}‘;;
  *) echo "not supported";;
esac
UserParameter=mem.check[*],sh /tmp/mem.sh $1
##测试
zabbix_get -s 192.168.0.101 -k mem.check[availabl]

原文地址:https://blog.51cto.com/1014810/2463403

时间: 2024-10-08 17:52:40

(四)Zabbix4.0 linux 基本监控的相关文章

linux 故障监控必备四款软件

linux故障监控处理必备四款监控软件 iotop:查看IO过大的进程. vmstat:查看故障. iostat: -x 查看硬盘IO. nethogs:查看严重占用带宽的进程. 1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器硬件配置一样,部署的软件都一样,却单单这一台负载有问题,初步猜测可能硬件有问题了. 同时,我们还需要把负载有异常的罪魁祸

ZABBIX4.0.2监控历史数据存放Elasticsearch及集群高可用方案

一.概述 Zabbix 4.0.2是一个长期支持版本(LTS),至少提供 5 年的技术支持:下面简单看一下Zabbix 4.0.2 新特征更具时效的监控项值检查(Checking item value immediately)新的 HTTP 监控项类型(New HTTP item type)监控项原型可以依赖于常规的监控项(Item prototypes can depend on regular items)更灵活的主动式 Agent 自动注册(More flexible active age

Zabbix4.0实战课程与Grafana可视化监控(全新企业级运维监控)

运维技术的改变和进步很大,现在和未来的企业级运维早已经不在仅仅局限于服务的稳定运行,反观高可用.高并发.高性能却都已经成了基本的要求,作为一名运维工程师或者iT工程师要有全域运维的概念,那么数据的可视化,尤其是运维数据的可视化就显得的格外有帮助,图形图表化的工具Zabbix与Grafana与工具课程值得参考学习! ===============课程目录=============== ├─(1) LNMP+Zabbix4.0源码编译安装实战(1-1to1-3).mp4├─(2) 第一章-第二章(1

Zabbix4.0监控Nginx1.16.1

Zabbix默认自带了很多有用的监控模板,通常对主机运行状态使用默认的模板就可以了,有时候我们需要根据实际情况自定义一些监控信息.本文记录一下Zabbix监控Nginx服务的配置过程.捋一捋思路,整个配置过程大致如下: 1. 确定监控内容 思考一下nginx有哪些信息可以监控,nginx内置了一个status状态的功能,通过配置可以看到nginx的运行情况,status显示的内容包括当前连接数,处于活动状态的连接数,已经处理的请求数等等,关于status状态页的配置在nginx启用status状

安装zabbix4.0 监控系统

*安装配置zabbix服务``` Zabbix通过C/S模式采集数据,通过B/S模式在Web端展示和配置.zabbix服务需要使用LAMP平台来承载数据库和Web界面.本次实验环境,为了节约时间,LAMP架构采用的yum安装的方式简单部署. yum快速部署LAMP安装软件包yum install -y \httpd \php \php-mysql \php-gd \libjpeg* \php-ldap \php-odbc \php-pear \php-xml \php-xmlrpc \php-m

linux Nagios监控

监控目标 监控目标主机分为四个部分 硬件资源 操作系统 数据库 应用软件 监控目的: 进行服务器性能调整前,知道调整什么,系统瓶颈在什么地方 被一部分必须同时监控,内容包括吞吐量,反应时间,使用率等 监控命令: 进程监控 ps top 存储监控 free swapon -s df -h 网络监控 ifconfig netstat ping traceroute 性能监控 常用的性能监控命令 uptime cpu负载 mpastat 查看cpu状态 vmstat 查看内存状态 iostat 查看硬

Linux 性能监控 —— 磁盘 I/O

零. 前言 如果从磁盘(disk)中读取/写入数据, CPU 就会处于空闲状态, 大大浪费了这段等待时间 CPU 的计算能力. 所以SSD. 缓存. 内存. 寄存器之类的设计就是为了减少 CPU 的等待时间, 释放计算能力. 可以看出业界对磁盘 I/O 的重视, 以及磁盘 I/O 对系统的影响之大. 一.  如何查看磁盘 I/O 在 Linux 平台或者 BSD 平台下, 借助 top 命令可以清楚看到磁盘 I/O 情况. 二. 如何衡量磁盘 I/O 存在瓶颈 磁盘 I/O 是否存在瓶颈取决于当

Linux系统资源监控命令

Linux系统资源监控命令 上一篇 / 下一篇  2009-09-04 17:04:49 查看( 1294 ) / 评论( 0 ) / 评分( 0 / 0 ) 想用LR监控Linux来着,可是得先在Linux服务器上装一堆乱七八糟的东西,由于本人之前对Linux不太了解,半天也没装上,时间紧迫,只好先弄出一套人工监控Linux系统资源的命令…… 衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运行常规用户进程CPU运行niced processCPU运行实时进程 2,系统使用CPU情况:

源码编译LNMP+最新版zabbix4.0

LNMP+Zabbix4.0 之前发过一篇LAMP中的zabbix,兴趣使然,研究一下LNMP中源码编译zabbix的搭建.话不多说,直接上环境及操作步骤. 系统 IP 软件列表 centos7 192.168.70.136 nginx1.8/mysql5.7/php7.3/zabbix4.0 zabbix4.0下载地址 https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.4/zabbix-4.