Saul's blog Saul's blog
首页
后端
分布式
前端
更多
分类
标签
归档
友情链接
关于
GitHub (opens new window)

Saul.J.Wu

立身之本,不在高低。
首页
后端
分布式
前端
更多
分类
标签
归档
友情链接
关于
GitHub (opens new window)
  • Java入门基础

  • Java核心基础

  • 设计模式

  • Web开发

  • SpringBoot

  • 微服务

  • Elasticsearch

  • 运维

    • zabbix学习笔记一
      • 为什么要使用zabbix?
      • 监控系统性能指标的命令
        • CPU性能
        • 内存
        • 磁盘
        • 网络/进程
      • 企业常见监控工具
      • zabbix相关介绍
      • zabbix版本发布及选择
        • 现有Zabbix版本
        • Zabbix版本发布计划
        • Zabbix发布频率一览
        • zabbix5的版本具备那些新特性
      • zabbix监控服务架构模型
      • 基于nginx安装zabbix5.0
        • 安装部署服务端
      • zabbix-agent2
        • 安装
        • 配置
      • zabbix实战应用详解
        • 添加主机
        • 添加监控项
    • zabbix学习笔记二
  • 后端
  • 运维
SaulJWu
2022-02-10

zabbix学习笔记一

# zabbix监控服务

应用场景

  • 道路交通:监控探头
  • 办公大楼、商场:监控设备

作用

1、当出现一些突发情况,及时响应

2、及时捕捉证据,追溯相关问题

# 为什么要使用zabbix?

运维职责:运维业务7*24小时稳定运行

1、人力成本

2、响应不及时

监控工具的作用:

1、及时定位问题,无需人为干预,大大减少人力成本

2、通过技术角度,实现实时监控业务,当出现问题及时定位并告警到相关管理人员

3、记录并以图形化的方式展示出来,方便管理人员进行系统运行性能评估

4、出现故障,针对某一个性能指标,自动化执行一个指定操作

# 监控系统性能指标的命令

一共有以下维度:

  • CPU
  • 内存
  • 磁盘
  • 网络/进程
  • 物理硬件
  • 业务实现

# CPU性能

有以下指令

top
htop #需要配置阿里云yum install htop -y 是top命令的进阶版
uptime
vmstat
1
2
3
4

# top

top - 12:46:09 up 14 days, 20:37,  3 users,  load average: 0.16, 0.09, 0.08
Tasks: 268 total,   1 running, 267 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.7 us,  2.7 sy,  0.0 ni, 95.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7813.7 total,    176.9 free,   2871.9 used,   4764.9 buff/cache
MiB Swap:   2048.0 total,   1211.0 free,    837.0 used.   4612.5 avail Mem 
1
2
3
4
5
  • top
    • 12:46:09 当前时间
    • up 14 days, 20:37 系统运行时间
    • 3 users 当前连接系统中的用户量
    • load average 平均负载,平均时间内,cpu处理任务的数量
      • 与物理机核心数量相匹配,如果是4个核心,数值大于4就比较繁忙,小于4就比较正常
    • 0.16 一分钟内负载情况
    • 0.09 五分钟内负载情况
    • 0.08 十五分钟内负载情况
  • Tasks
    • 268 total 进程总数
    • 1 running 运行中的进程
    • 267 sleeping 睡眠中的进程
    • 0 stopped 停止的进程
    • 0 zombie 僵尸进程
  • %Cpu(s) (CPU使用情况)
    • 1.7 us cpu的使用率
    • 2.7 sy 用户态
    • 0.0 ni 内核态
  • MiB Mem(内存使用情况)
  • MiB Swap (交换分区使用情况)

# htop

  • 需要配置阿里云yum install htop -y 是top命令的进阶版

  • 支持鼠标点点点

  • 支持颜色高亮

  • 支持自定义筛选排序/操作

# uptime

其实展现的是top命令的第一行

# w

展现:

$ w
 15:39:29 up 14 days, 23:30,  3 users,  load average: 0.01, 0.08, 0.08
USER     TTY      来自           LOGIN@   IDLE   JCPU   PCPU WHAT
yuanbang tty7     :0               261月22 14days  1.98s  0.02s /usr/libexec/gnome-session-binary --systemd --systemd --session=ubuntu
root     pts/0    192.168.31.195   15:39    1.00s  0.11s  0.01s w
root     pts/1    192.168.31.195   15:39    1.00s  0.08s  0.08s -zsh
1
2
3
4
5
6

除了top命令第一行,也展现了其他连接用户的信息

# vmstat

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b 交换 空闲 缓冲 缓存   si   so    bi    bo   in   cs us sy id wa st
 1  0 863488 179908 491044 4398932    0    0     6    60   15    9  1  1 98  0  0
1
2
3
4
  • r 当前等待的进程
  • b 当前等待IO进行存储的进程
  • bi 写入吞入量
  • bo 读取输出量

# 内存

$ free
              总计         已用        空闲      共享    缓冲/缓存    可用
内存:     8001188     2930648      179412       41120     4891128     4733460
交换:     2097148      863488     1233660
1
2
3
4
$ free -h
              总计         已用        空闲      共享    缓冲/缓存    可用
内存:       7.6Gi       2.8Gi       175Mi        40Mi       4.7Gi       4.5Gi
交换:       2.0Gi       843Mi       1.2Gi
1
2
3
4

# 磁盘

关于磁盘有以下命令:

iotop
df
1
2

# df

df
文件系统           1K-块     已用      可用 已用% 挂载点
udev             3967180        0   3967180    0% /dev
tmpfs             800120     2328    797792    1% /run
/dev/nvme0n1p2 244568380 25456008 206619316   11% /
tmpfs            4000592        0   4000592    0% /dev/shm
tmpfs               5120        4      5116    1% /run/lock
1
2
3
4
5
6
7

磁盘满了系统会崩溃

df -h
文件系统        容量  已用  可用 已用% 挂载点
udev            3.8G     0  3.8G    0% /dev
tmpfs           782M  2.3M  780M    1% /run
/dev/nvme0n1p2  234G   25G  198G   11% /
tmpfs           3.9G     0  3.9G    0% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
1
2
3
4
5
6
7
  • no space leav……

    • 没有空间了,但是通过df -h查看还是有剩余空间,是因为inode的问题

# iotop

它是一个第三方命令,也需要安装

apt install iotop
1
iotop
1

image-20220210154812843

会发现和top的命令有点类型,关于系统磁盘IO的所有情况它都会显示出来

# 网络/进程

有以下命令

iftop
nethogs
ps
pstree # 以树形结构显示
1
2
3
4

# iftop

这也是第三方命令,需要单独安装

apt install iftop -y
1

image-20220210154949562

就可以查看网络吞吐量了,实时看到在上传还是下载,每一条数据源点和目标位置都会展示出来

# nethogs

这也是第三方命令,需要单独安装

apt install nethogs -y
1
nethogs
1

image-20220210155130665

它是以服务为单位,展示网络流量情况

  • sent 发送
  • RECEIVED 接收

# ps

ps -ef # 显示所有进程信息,连同命令行
1

# pstree

image-20220210155626230

以上是linux监控服务常用的命令,zabbix也是基于这些来使用

# 企业常见监控工具

主要用于监控告警

  • cacti

    • 擅长出图,方便管理者观看,但是添加监控项很繁琐,很不友好
  • nagios

    • 可以添加监控项,但是不能出图,不能图形化。
    • 很多老公司是基于nagios提取数据,cacti自定义开发图形化
  • ganglia

    • 分布式集群监控系统,适合于对上千台大型规模集群监控,性能成本比较低,不会消耗很多资源,批量管理更加方便。(江湖人称肛裂监控),但是它的缺点不可以发送告警。
    • 由于不可以告警,所以就很多企业都是基于二次开发通知,比如邮件。
  • zabbix:包含以上3个工具的软件优点它都有,

下面这两种也可以用来监控

  • promethus:比较适配于K8S,适合于监控k8s
  • ELK:日志监控

# zabbix相关介绍

https://www.zabbix.com/

在18年之前是不支持中文的,现在已经支持中文了,比较友善。

Zabbix 是由 Alexei Vladishev 创建,目前是由 Zabbix SIA 在持续开发和提供支持。

Zabbix 是一种企业级的分布式开源监控解决方案。

Zabbix 是一款能够监控众多网络参数和服务器的健康度和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的警报。这样可以快速相应服务器问题。Zabbix 基于存储的数据提供出色的报告和数据可视化。这些功能使得 Zabbix 成为容量规划的理想选择。

Zabbix 支持轮询和被动捕获。所有的 Zabbix 报告、统计信息和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您的网络状态和服务器健康状况可以从任何地方进行评估。在经过适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于拥有少量服务器的小型组织,还是拥有大量服务器的大型公司而言,同样适用。

Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和分发的。这意味着它的源代码是免费分发的,并且可供公共使用。

  • zabbix都开源免费了,那么它怎么盈利的呢?
    • 靠培训认证
      • image-20220210161008756
    • 提供技术支持
      • image-20220210161022331

# zabbix版本发布及选择

zabbix最早从1.6,从2010年提供服务,已经服务了10多年了,现在都出到6版本了

目前主要有以下几个时代

  • 1.6
  • 2.0
  • 3.0
  • 4.0
  • 5.0

# 现有Zabbix版本

版本名称 发布日期 全面支持期限 最低限度支持期限
Zabbix 5.4 May 17, 2021 Feb 28, 2022 Mar 31, 2022
Zabbix 5.0 LTS May 12, 2020 May 31, 2023 May 31, 2025
Zabbix 4.0 LTS October 1, 2018 October 31, 2021 October 31, 2023
  • * 全面支持服务包括修复一些基础的、紧急的以及安全性上的问题。
  • ** 最低限度支持 服务仅包括修复紧急的和安全性上的问题,Zabbix不保证对任何旧版本和不稳定版本的任意源代码修复。

# Zabbix版本发布计划

我们目前的发布计划周期为六个月,每六个月将有一个新的Zabbix稳定版本发布。

# Zabbix发布频率一览

img

每一年半Zabbix将会发布:

  1. Zabbix LTS (长期支持版本) 发布。. Zabbix LTS版本在五年内为Zabbix用户提供支持服务,包括三年的全面支持(基础的、紧急的以及安全性上的问题)和两年的最低限度支持(仅限紧急的和安全性上的问题)。Zabbix LTS版本的发布将体现在版本号第一位数字的变动上。
  2. Zabbix 标准版本发布。 Zabbix标准版本将在全面支持(基础的、紧急的以及安全性上的问题)的六个月内为Zabbix用户提供支持服务,直到下一个Zabbix稳定版本发布,再加一个月额外的最低限度支持(仅限紧急的和安全性上的问题)。Zabbix标准版本将会致使第二个版本号的变动。

(!) 当任何Zabbix版本其生命周期到期后,Zabbix将会停止进一步的维护更新,包括blocker和严重bug修复。因此,我们强烈建议您将Zabbix监控解决方案升级到最新版本。

说人话:

LTS:线性发布版,稳定持续维护版

标准版:类似小白鼠,不提供持续维护,如果有bug会在下个版本中修复

# zabbix5的版本具备那些新特性

组件版本要求:http/nginx

  • mysql>5.5
  • php>7.2

官方手册:https://www.zabbix.com/documentation/5.0/zh/manual/introduction/whatsnew500

新特性还挺多,但是关键的是下面这几个

  1. 增加了监控项预测试功能
  2. 自动发现进行重新定义与眼神,支持过滤监控、触发器
  3. 监控项以前取值是有长度限制的,最多256,现在上调到2048
  4. MD5 指纹加密>>bcrypt技术
  5. 不再支持ES7以前的版本
  6. 全面支持zabbix-agent2

# zabbix监控服务架构模型

zabbix是一个c/s架构

image-20220210172657207

  • ssh
    • TCP链接
  • snmp
    • zabbix监控网络性能所依赖协议
    • 例如:吞吐量、网络抖动
  • IPMI
    • 监控物理硬件性能指标,可以获取物理设备的温度、CPU转速
  • JMX
    • 监控Java项目所使用的出口,例如虚拟机内存的回收情况

# 基于nginx安装zabbix5.0

安装教程:下载Zabbix 5.0 LTS for Ubuntu 20.04 (Focal), MySQL, NGINX https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=ubuntu&os_version=20.04_focal&db=mysql&ws=nginx

# 安装部署服务端

# zabbix-agent2

zabbix-agent2 作为一款新的agent,未来可能回替代原有的agent。

特性:

  • 1
  • 2

# 安装

  • 配置源
  • 安装
yum install zabbix-agent2 -y
1

# 配置

  • PidFile 进程文件
  • LogFile 日志文件,如果未配置,日志会记录到syslog中
  • LogFileSize 日志文件大小
  • Server 服务地址
  • ServerActive 主机主动注册功能
  • Hostname 主机名字
  • Include 包含的配置文件,同时生效
  • ControlSocket 连接代理

# zabbix实战应用详解

web界面介绍

主机>>监控项>>模板>>触发器>>执行动作>>告警媒介

# 添加主机

  • 客户端
vim /etc/zabbix/zabbix-agent2.conf
Server=服务端IP
1
2
  • 服务端

主机

配置>>主机>>创建主机

image-20220215153453565

主机名称:按照业务主机名称来写

群组:用来批量操作的,通常在企业中,要么通过业务层

客户端IP地址

模板

可以连接多个模板

什么时候确认添加主机完成没有问题

image-20220215154542578

  • ZBX:变成绿色才算是可用

# 添加监控项

可以之前添加模板来添加监控项,但是有时候我们有些监控项模板中没有,需要自定监控。

操作步骤如下:

  1. 客户端自定义监控取值
  2. 服务端web获取监控项键值

# 客户端自定义监控取值

# 服务端web获取监控项键值

帮我改善此页面 (opens new window)
上次更新: 2022/03/02, 01:57:49
商品上架与ES
zabbix学习笔记二

← 商品上架与ES zabbix学习笔记二→

最近更新
01
zabbix学习笔记二
02-28
02
Linux访问不了github
12-08
03
记一次MySql UTF-8问题
12-01
更多文章>
Theme by Vdoing | Copyright © 2020-2022 Saul.J.Wu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式