Zabbix 构建监控告警平台(六)

news2024/11/14 13:26:54
  1. 监控TCP连接
  2. 监控MySQL
  3. 监控php-fpm
  4. 监控 Apache
  5. 监控 MySQL A-B
  6. 监控磁盘I/O

1.监控TCP连接

        1.1   tcp状态简介

netstat中的各种状态:

        CLOSED                 初始(无连接)状态。

        LISTEN                 侦听状态,等待远程机器的连接请求。

        SYN_SEND                 在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。

        SYN_RECV                 在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。

        ESTABLISHED                 完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。

        FIN_WAIT_1                 在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。

        FIN_WAIT_2                 在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。

        TIME_WAIT                 在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。

        CLOSING                 在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。

        CLOSE_WAIT                 在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。

        LAST_ACK                 在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。


主动连接端可能的状态有:         

        CLOSED        SYN_SEND        ESTABLISHED。

主动关闭端可能的状态有:         

        FIN_WAIT_1        FIN_WAIT_2        TIME_WAIT。

被动连接端可能的状态有:         

        LISTEN        SYN_RECV        ESTABLISHED。

被动关闭端可能的状态有:         

        CLOSE_WAIT        LAST_ACK        CLOSED。

        2.2   准备自定义key  【在zabbix-agent 主机 (被监控主机)】

vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf

#       Format: UserParameter=<key>,<shell command>    格式:UseParameter=键名,命令
UserParameter=tcp.status.listen,ss -an |grep :80 | grep -i 'LISTEN' |wc -l
UserParameter=tcp.status.timewait,ss -an |grep :80 | grep -i 'TIME-WAIT' |wc -l
UserParameter=tcp.status.established,ss -an |grep :80 | grep -i 'ESTAB' |wc -l
UserParameter=tcp.status.syn_recv,ss -an |grep :80 | grep -i 'SYN_RECV' |wc -l
UserParameter=tcp.status.syn_sent,ss -an |grep :80 | grep -i 'SYN_SENT' |wc -l
UserParameter=tcp.status.close,ss -an |grep :80 | grep -i 'CLOSE' |wc -l

        2.3    调用KEY    【在zabbix-server主机【zabbix主服务器】】

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k system.uname

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k system.cpu.load[all,avg1]

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k tcp.status.close

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k tcp.status.listen

        2.4    自定义key     【传参】

在zabbix-agent中:

[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/tcp_status.conf 

UserParameter=tcp.status[*],ss -an |grep :80 | grep -i "$1" |wc -l

括号中输入的内容会被调用到$1中 

需要重启zabbix-agent

在zabbix-server中:

使用[传参]来调用;

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k tcp.status[TIME-WAIT]

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k tcp.status[LISTEN]

[root@localhost ~]# zabbix_get -s 192.168.100.20 -k tcp.status[CLOSE]

        2.5   

        (一)在zabiix-agent主机上

1 下载自定义key的包

    chmod -R  +x zabbix-example/
    chown -R zabbix zabbix-example

2  拷贝命令文件至zabbix目录

    mkdir /etc/zabbix/tcp_connect.status             创建目录

    cp zabbix-example/tcp_connect_status/tcp_connect_status.sh

       /etc/zabbix/tcp_connect.status/

3 增加用户自定义KEY

   cp zabbix-example/tcp_connect_status/tcp_connect_status                 /etc/zabbix/zabbix_agentd.d/tcp_connect_status.conf

4 重启服务
    systemctl restart zabbix-agent.service 

        (二)在zabbix-server主机上:

1 zabbix-server执行验证
    zabbix_get -s 192.168.100.20 -k tcp.connect.status[LISTEN]

2 总结
    调用KEY,KEY就是脚本,脚本传参即可。

3 XML文件
    是模板文件,直接上传到服务器就是现成的模板,应用集,监控项,触发器,图形,聚合图形。

2.监控MySQL

原理和监控tcp一样

3.监控php-fpm

原理和监控tcp一样

4.监控 Apache

原理和监控tcp一样

5.监控 MySQL A-B

原理和监控tcp一样

6.监控磁盘I/O

原理和监控tcp一样

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/341056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动驾驶规控课程学习——决策规划

行为决策系统的规划1 行为决策基础1.1 基本概念与任务行为类型&#xff1a;系统输入输出&#xff1a;输入&#xff1a;定位、感知、地图等输出&#xff1a;决策意图小例子&#xff1a;1.2决策系统的评价与挑战评价指标挑战&#xff08;1&#xff09;决策密度&#xff08;2&…

卡尔曼滤波器与DSP实现

卡尔曼滤波器是利用系统状态方程&#xff0c;结合测量结果对系统状态进行进行最优估计的算法。本文介绍它的主要公式&#xff0c;并举例在C6000 DSP上实现。 推荐资料 KalmanFilter.NETUnderstanding Kalman Filters卡尔曼滤波与组合导航原理 “If you can’t explain it sim…

rust 程序设计语言入门(1)

本文是阅读《Rust程序设计语言》的学习记录&#xff0c;配合视频《Rust编程语言入门教程》食用更佳 环境搭建 windows下载rustup_init.exe&#xff0c;点击安装&#xff0c;默认选择msvc的toolchain&#xff0c;一路default即可 解决下载慢的问题&#xff0c;在powershell中修…

libxlsxwriter条件格式

今天来看一个libxlsxwriter的高级用法&#xff1a;一个条件格式的示例。 说它“高级”&#xff0c;也是基于非Excel专家的小白们的视角。对&#xff0c;没错&#xff0c;本小白正是这样的小白。 1 一个简单的问题 来看我们今天的场景问题&#xff1a;有一列数据&#xff0c;有…

操作系统(一): 进程和线程,进程的多种状态以及进程的调度算法

文章目录前言一、进程和线程1. 进程2. 线程二、进程和线程的区别(面试常问)三、进程调度算法3.1. 批处理系统3.2. 交互式系统3.2.1 时间片轮转3.2.2 优先级调度3.2.3 多级别反馈队列3.3. 实时系统四、进程的状态五、进程同步5.1 什么是进程同步5.2 进程同步应该遵循的几点原则前…

Qt 学习(四) —— QGridLayout栅格布局

目录一、QGridLayout布局规则二、创建QGridLayout三、成员函数1. 控件间距2. 可拉伸控件&#xff08;弹簧&#xff09;3. 最小行高/列宽4. 行数和列数5. 锁定纵横比6. 添加控件7. 添加布局8. 设置栅格布局原点位置9. 操作布局项9.1 访问布局项9.2 删除布局项9.3 通过索引获取布…

Git教程个人分享:如何将一个本地项目上传至远程仓库的流程

前言&#xff1a; 今天来分享一下&#xff0c;关于Git的一些教程&#xff0c;同时这也是我自己曾今学习Git时候的笔记&#xff0c;之所以更&#xff0c;也是方便后期自己可以去回顾&#xff0c;当然后面也会出一部分关于Git其他操作方面的内容。 这次我们分享的是&#xff0c…

基于JavaScript的Web端股票价格查看器——大道

&#x1f436; 基于JavaScript的Web端股票价格查看器——大道 一、项目背景 当下互联网发展迅速&#xff0c;互联网已经不断向传统金融领域渗透。在互联网上有大量金融领域的数据&#xff0c;如何利用好这些数据&#xff0c;对于投资者来说是十分重要的一件事情。股票价格实时…

JavaSE学习day4_01 循环for,while,do...while

1. 循环高级 1.1 无限循环 for、while、do...while都有无限循环的写法。 最为常用的是while格式的。 因为无限循环是不知道循环次数的&#xff0c;所以用while格式的 代码示例&#xff1a; while(true){} 1.2 跳转控制语句&#xff08;掌握&#xff09; 跳转控制语句&…

MySQL 插入数据

数据库与表创建成功以后&#xff0c;需要向数据库的表中插入数据。在 MySQL 中可以使用 INSERT 语句向数据库已有的表中插入一行或者多行元组数据。 你可以通过 mysql> 命令提示窗口中向数据表中插入数据&#xff0c;或者通过PHP脚本来插入数据。 语法 以下为向MySQL数据表…

51单片机——步进电机实验,小白讲解,相互学习

步进电机简介&#xff1a; 步进电机是将电脉冲信号转变为角位移或多线位移的开源控制元件。在非超载的情况下&#xff0c;电机的转速&#xff0c;停止的位置只取决于脉冲信号的频率和脉冲数&#xff0c;而不受负载变化的影响&#xff0c;即给电机加一个脉冲信号&#xff0c;电机…

Android - 自动系统签名

一、系统签名 以下是两类应用开发场景&#xff1a; 普通应用开发&#xff1a;使用公司自定义 keystore 进行签名&#xff0c;如&#xff1a;微信、支付宝系统应用开发&#xff1a;使用 AOSP 系统签名或厂商自定义 keystore 进行签名&#xff0c;如&#xff1a;设置、录音 系…

数学建模拓展内容:卡方检验和Fisher精确性检验(附有SPSS使用步骤)

卡方检验和Fisher精确性检验卡方拟合度检验卡方独立性检验卡方检验的前提假设Fisher精确性检验卡方拟合度检验 卡方拟合度检验概要&#xff1a;卡方拟合度检验也被称为单因素卡方检验&#xff0c;用于检验一个分类变量的预期频率和观察到的频率之间是否存在显著差异。 卡方拟…

第一部分:简单句——第二章:简单句的补充

简单句的核心构成&#xff1a;一主一谓 主语/宾语/表语 可以变成名词/代词/doing/to do 谓语动词有四种核心变化&#xff1a;三态 一否 时态语态情态否定 简单句的核心&#xff1a;将简单句给写对 简单句的补充&#xff1a;将简单句给写的更好、更充分 简单句的补充 1、限定…

计算机网络之HTTP04ECDHE握手解析

DH算法 离散读对数问题是DH算法的数学基础 &#xff08;1&#xff09;计算公钥 &#xff08;2&#xff09;交换公钥&#xff0c;并计算 对方公钥^我的私钥 mod p 离散对数的交换幂运算交换律使二者算出来的值一样&#xff0c;都为K k就是对称加密的秘钥 2. DHE算法 E&#…

DNS 原理入门指南(一)

DNS 是互联网核心协议之一。不管是上网浏览&#xff0c;还是编程开发&#xff0c;都需要了解一点它的知识。 本文详细介绍DNS的原理&#xff0c;以及如何运用工具软件观察它的运作。我的目标是&#xff0c;读完此文后&#xff0c;你就能完全理解DNS。 一、DNS 是什么&#xff1…

记录每日LeetCode 1138.字母板上的路径 Java实现

题目描述&#xff1a; 我们从一块字母板上的位置 (0, 0) 出发&#xff0c;该坐标对应的字符为 board[0][0]。 在本题里&#xff0c;字母板为board ["abcde", "fghij", "klmno", "pqrst", "uvwxy", "z"]&#x…

Linux重定向符、管道符讲解

目录 重定向 将命令与文件进行互动 输出重定向 输入重定向 管道符 将命令与命令互动起来 重定向 将命令与文件进行互动 重定向分类 一般情况下&#xff0c;Linux命令运行时都会打开一下三个文件 标准输入文件&#xff1a;stdin文件&#xff0c;文件描述符为0&#xff0c;Li…

自定义ESLint规则开发与使用

自定义eslint及使用 项目结构 |-eslint-plugin-demo //自定义eslint插件项目 | |-demo-app // 使用自定义eslint的测试应用 |-README.md 项目效果&#xff1a; github项目地址 自定义ESLint环境准备 安装脚手架 执行下列命令来安装开发eslint的脚手架。 yo(y…

中小学信息学相关编程比赛清单及报名网站汇总(C++类)

1、NOI系列比赛(CSP-J CSP-S NOIP NOI APIO CTSC IOI ISIJ等) NOI官网 NOI全国青少年信息学奥林匹克竞赛https://www.noi.cn/ 2、蓝桥杯青少年创意编程大赛 https://www.lanqiaoqingshao.cn/home 3、中国电子协会考评中心