CHAPTER 4 监控全网服务器

news2024/11/16 11:32:46

监控全网服务器

    • 4.1 需求说明
    • 4.2 规划方案
      • 4.2.1 api接口使用(curl)
    • 4.3 具体实施规划
      • 4.3.1 硬件、系统、网络监控
      • 4.3.2 应用服务监控
      • 4.3.3 监控服务通用方法
      • 4.4 实施全网监控
      • 4.4.1 使用自动发现规则
      • 4.4.2 监控备份服务器
        • 1. 添加模板
        • 2. 添加应用集
        • 3. 添加监控项
        • 4. 添加触发器
        • 5. 添加图形
        • 6. 添加触发器动作
        • 7. 添加报警媒介
      • 4.4.3 监控NFS服务器
      • 4.4.4 监控MySQL服务器
      • 4.4.5 监控web服务器
      • 4.4.6 监控URL地址
      • 4.4.7 监控反向代理服务器
      • 4.4.8 监控Nginx的7种连接状态

zabbix监控配置流程
1.添加主机或主机组
2.添加监控项

a. 使用模板添加
b. 自定义模板
c. 手动加监控项

3.添加触发器
4.添加媒介
5.为用户选择要使用的媒介
6.添加动作
7.手动触发并验证

zabbix 监控指标

分类详细
系统CPU,内存,硬盘
网络网卡,网口
业务进程,端口号,日志
硬件电源个数,CPU温度,硬盘温度

4.1 需求说明

实际需求:公司已经有了100台服务器,现在需要使用zabbix全部监控起来

4.2 规划方案

常规监控:cpu,内存,磁盘,网卡 问题:怎样快速添加100台机器

  • 方法1:使用克隆的方式
  • 方法2:自动注册和自动发现
  • 方法3:调用zabbix api接口 curl 、python开发自己的运维平台兼容zabbix的通道

服务监控,url监控等特殊监控:自定义监控

4.2.1 api接口使用(curl)

[root@dbc-server-554 grafana]# curl -i -X POST -H 'Content-Type:application/json' -d'{"jsonrpc": "2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"auth": null,"id":0}' "http://192.168.5.54/api_jsonrpc.php"
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Wed, 15 Feb 2023 06:48:52 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.2.24
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Content-Type
Access-Control-Allow-Methods: POST
Access-Control-Max-Age: 1000
[root@dbc-server-554 grafana]# curl -i -X POST -H 'Content-Type:application/json' -d'
>     {
>         "jsonrpc": "2.0",
>         "method": "host.get",
>         "params": {
>             "output": [
>                 "hostid",
>                 "host"
>             ],
>             "selectInterfaces": [
>                 "interfaceid",
>                 "ip"
>             ]
>         },
>         "id": 0,
>         "auth":null
>
>     }' "http://192.168.5.54/api_jsonrpc.php"
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Wed, 15 Feb 2023 06:58:16 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.2.24
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Content-Type
Access-Control-Allow-Methods: POST
Access-Control-Max-Age: 1000

4.3 具体实施规划

4.3.1 硬件、系统、网络监控

所有集群节点(所有虚拟机)都监控上
交换机,路由器监控(简单方法:换成端口对应服务器网卡流量监控;标准方法:监控交换机的网卡)
snmp监控

4.3.2 应用服务监控

  1. 监控备份服务器,简单方法是监控rsync端口,如果有其他更佳方案可以说明;

    方法1:监控873端口net.tcp.port[,873]
    方法2:模拟推送拉取文件

  2. 监控NFS服务器,使用监控NFS进程来判断NFS服务器正常,如果有其他更佳方案可以说明;

    方法1:端口(通过111的rpc端口获取nfs端口) net.tcp.port[,111]
    方法2:showmount -e ip|wc -l

  3. 监控MySQL服务器,简单方法监控mysql的3306端口,或者使用zabbix提供的Mysql模板,如果有其他更佳方案可以说明;

    方法1:端口(通过3306的mysql端口) net.tcp.port[,3306]
    方法2:mysql远程登录
    方法3:使用zabbix agent自带的模板及key

  4. 监控2台web服务器,简单方法监控80端口,如果有其他更佳方案可以说明;

    方法1:端口(通过80的web端口) net.tcp.port[,80]
    方法2:看网页状态码、返回内容==zabbix 自带WEB检测

  5. 监控URL地址来更精确的监控我们的网站运行正常;

    使用zabbix自带的监控Web监测进行监控

  6. 监控反向代理服务器,PPTP服务器等你在期中架构部署的服务。

    nginx,pptp
    ntp 端口udp 123

  7. 监控Nginx的7种连接状态。

    自定义监控

4.3.3 监控服务通用方法

  1. 监控端口 netstat ss lsof ==》 wc -l
  2. 监控进程 ps -ef|grep 进程|wc -l
  3. 模拟客户端的使用方式监控服务端
    web ==》 curl
    mysql ==》 select insert
    memcache ==》 set再get

4.4 实施全网监控

安装客户端脚本,for centos6

#!/bin/bash

#设置解析
# echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts

#安装zabbix源、aliyu nYUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

yum clean all
yum clean all
#安装zabbix客户端
yum install zabbix-agent -y
sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.conf
/etc/init.d/zabbix-agent start

#写入开机自启动
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
/etc/init.d/zabbix-agent start
EOF

安装客户端脚本,for centos7

[root@k8s-node-02 zabbix]# cat run.bat
#!/bin/bash

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install zabbix-agent -y
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s!SELINUX=enforcing!SELINUX=disabled!g" /etc/sysconfig/selinux
sed -i "s!Server=127.0.0.1!Server=192.168.5.54!g" /etc/zabbix/zabbix_agentd.conf
sed -i "s!# ListenPort=10050!ListenPort=10050!g" /etc/zabbix/zabbix_agentd.conf
systemctl start zabbix-agent
systemctl enable zabbix-agent

可以把以上命令保存到脚本后,配合ansible执行

4.4.1 使用自动发现规则

添加自动发现规则,配置–>自动发现—>创建发现规则
其中”检查”添加“自动发现检查”,端口范围和键值
在这里插入图片描述

创建发现动作,配置->动作
其中“条件”添加类型:自动发现规则find hosts
在这里插入图片描述
“操作”中添加“添加主机”,“添加到主机群组:Linux servers”,“链接到模板:Template OS linux by Zabbix agent”
在这里插入图片描述
在“检测”中自动发现的主机
在这里插入图片描述

4.4.2 监控备份服务器

如何搭建备份服务器
利用系统自带键值进行监控net.tcp.listen[port] 创建新监控

在服务端进行测试

[root@dbc-server-554 new]# zabbix_get -s 192.168.71.253 -p 10050 -k "net.tcp.listen[873]"
1

添加监控流程

1. 添加模板

在这里插入图片描述

2. 添加应用集

在这里插入图片描述

3. 添加监控项

在这里插入图片描述

4. 添加触发器

在这里插入图片描述

5. 添加图形

在这里插入图片描述

6. 添加触发器动作

在这里插入图片描述
在这里插入图片描述

7. 添加报警媒介

① Media type设置

	Name:报警媒介名称,自定义
	SMTP server:邮箱服务器IP或域名
	SMTP server port:邮箱非加密监听端口
	SMTP helo:邮箱服务器域名
	SMTP email:发件账号

在这里插入图片描述
② Message templates设置

添加Message type:Problem和Problem recovery
使用默认配置

在这里插入图片描述
也可以自定义:

事件: {EVENT.NAME}

事件主机: {HOST.NAME}
事件时间: {EVENT.DATE} {EVENT.TIME}
事件等级: {TRIGGER.SEVERITY}
事件信息: {TRIGGER.NAME}
事件项目: {TRIGGER.KEY1}
事件详情: {ITEM.NAME} : {ITEM.VALUE}
当前状态: {TRIGGER.STATUS} : {ITEM.VALUE1}
事件ID:  {EVENT.ID}
操作数据: {EVENT.OPDATA}
{TRIGGER.URL}

在这里插入图片描述
③ 创建完成,进行测试

	点Test

在这里插入图片描述
在这里插入图片描述
④ 查看邮件

[root@dbc-server-554 bin]# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 8 messages 8 new
...
 N  8 zabbix@localhost.loc  Wed Feb 15 09:23  19/833   "Test subject"
& 8
Message  8:
From zabbix@localhost.localdomain  Wed Feb 15 09:23:04 2023
Return-Path: <zabbix@localhost.localdomain>
X-Original-To: root@localhost.localdomain
Delivered-To: root@localhost.localdomain
From: <zabbix@localhost.localdomain>
To: <root@localhost.localdomain>
Date: Wed, 15 Feb 2023 09:23:04 +0800
Subject: Test subject
Content-Type: text/html; charset="UTF-8"
Status: R

This is the test message from Zabbix&
& q
Held 8 messages in /var/spool/mail/root
You have mail in /var/spool/mail/root

备份服务器监控创建完成,本节再次详细的介绍创建过程,后续的监控则会简要介绍创建流程

4.4.3 监控NFS服务器

使用 proc.num[<name>,<user>,<state>,<cmdline>] 键值,检测nfs进程的数量

在服务端进行测试

[root@dbc-server-554 new]# zabbix_get -s 192.168.71.253 -p 10050 -k "proc.num[,,,rpc]"
4
[root@dbc-server-554 new]# zabbix_get -s 192.168.71.253 -p 10050 -k "proc.num[nfsd,,,]"
8

创建nfs监控模板
在这里插入图片描述
在这里插入图片描述
绑定到主机
在这里插入图片描述

4.4.4 监控MySQL服务器

使用系统自带模板 net.tcp.port[<ip>,port] 利用自带的监控端口键值进行监控

在服务端进行测试

[root@dbc-server-554 new]# zabbix_get -s 192.168.71.183 -p 10050 -k "net.tcp.port[,3306]"
1

#检查是否能建立 TCP 连接到指定端口。返回 0 - 不能连接;1 - 可以连接

在这里插入图片描述
在这里插入图片描述

4.4.5 监控web服务器

创建监控模板 监控 nginx服务与 80 端口

proc.num[,,,] 进程数。返回整数
net.tcp.port[,port] 检查是否能建立 TCP 连接到指定端口。返回 0 - 不能连接;1 - 可以连接

[root@dbc-server-554 new]# zabbix_get -s 192.168.71.183 -p 10050 -k "proc.num[,,,nginx]"
3
[root@dbc-server-554 new]# zabbix_get -s 192.168.71.183 -p 10050 -k "net.tcp.port[,80]"
1

在这里插入图片描述
在这里插入图片描述

4.4.6 监控URL地址

在两台服务器分别创建监测页面

cd /usr/share/nginx/html/
echo ok > check.html

测试监控面页

[root@dbc-server-554 new]# curl 192.168.71.183/check.html
ok
[root@dbc-server-554 new]# curl 192.168.71.253/check.html
ok

创建web监测模板
① 创建应用集
在这里插入图片描述
② 创建Web场景
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
③ 创建图形
在这里插入图片描述
④ 将模板关联到主机
⑤ 监测结果
在这里插入图片描述

4.4.7 监控反向代理服务器

创建自定义key

[root@lb01 ~]# cat  /etc/zabbix/zabbix_agentd.d/userparameter_nk.conf
UserParameter=keep-ip,ip a |grep 192.168.71.253|wc -l

在服务端测试

[root@dbc-server-554 new]# zabbix_get -s 192.168.71.253  -p 10050 -k "keep-ip"
1
[root@dbc-server-554 new]# zabbix_get -s 192.168.71.183  -p 10050 -k "keep-ip"
ZBX_NOTSUPPORTED: Unsupported item key.

创建模板
在这里插入图片描述
关联到主机
在这里插入图片描述

4.4.8 监控Nginx的7种连接状态

服务器设置:
① 客户端(nginx服务器)设置:显示status

[root@k8s-node-02 html]# cat /etc/nginx/nginx.conf
...
    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location /status {
                stub_status on;
                access_log off;
        }
[root@k8s-node-02 html]# systemctl restart nginx

② 服务器测试

[root@dbc-server-554 new]# curl 192.168.71.183/status
Active connections: 1
server accepts handled requests
 2 2 2
Reading: 0 Writing: 1 Waiting: 0

③ 在nginx服务器上添加key

cat >/etc/zabbix/zabbix_agentd.d/userparameter_nginx_status.conf <<'EOF'
UserParameter=nginx_active,curl -s  127.0.0.1/status|awk '/Active/ {print $NF}'
UserParameter=nginx_accepts,curl -s  127.0.0.1/status|awk 'NR==3 {print $1}'
UserParameter=nginx_handled,curl -s  127.0.0.1/status|awk 'NR==3 {print $2}'
UserParameter=nginx_requests,curl -s  127.0.0.1/status|awk 'NR==3 {print $3}'
UserParameter=nginx_reading,curl -s  127.0.0.1/status|awk 'NR==4 {print $2}'
UserParameter=nginx_writing,curl -s  127.0.0.1/status|awk 'NR==4 {print $4}'
UserParameter=nginx_waiting,curl -s  127.0.0.1/status|awk 'NR==4 {print $6}'
EOF
systemctl restart zabbix-agent

④ 服务端测试

[root@dbc-server-554 new]# zabbix_get -s 192.168.71.183  -p 10050 -k "nginx_waiting"
0
[root@dbc-server-554 new]# zabbix_get -s 192.168.71.183  -p 10050 -k "nginx_handled"
34

zabbix创建模板:
使用key创建监控项
在这里插入图片描述
关联到主机
在这里插入图片描述

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

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

相关文章

【观察】Solidigm P44 Pro SSD评测:原厂品质+软硬兼施=性能怪兽

众所周知&#xff0c;目前SSD&#xff08;固态硬盘&#xff09;已取代HDD&#xff08;机械硬盘&#xff09;成为电脑中常见的存储设备&#xff0c;特别是在技术创新的持续推动下&#xff0c;如今SSD的速度和效率都在不断地提高&#xff0c;从SATA2 3GB发展到SATA3 6GB&#xff…

计算机组成原理学习笔记:循环冗余校验码

循环冗余校验码 CRC 码 循环冗余校验码 (cyclic redundancy Check, CRC) 十进制除法 从熟悉的十进制出发&#xff0c;假设现在你要给另一个人传送882这样的一个10进制数据&#xff0c;为了防止传送数据的过程中某一个数据发生错误你可以和你的另一个小伙伴约定一个除数&…

英文论文(sci)解读复现【NO.5】让RepVGG再次变得更强大:一种量化感知方法

此前出了目标检测算法改进专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读发表高水平学术期刊中的SCI论文&am…

2023年可见光通信(LiFi)研究新进展

可见光无线通信Light Fidelity&#xff08;LiFi&#xff09;又称“光保真技术”&#xff0c;是一种利用可见光进行数据传输的全新无线传输技术。LiFi是一种以半导体光源作为信号发射源&#xff0c;利用无需授权的自由光谱实现无线连接的新型无线通信技术&#xff0c;支持高密度…

内网渗透(三十六)之横向移动篇-Password Spraying密码喷洒攻击和域内用户枚举横向移动

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…

【原创】java+swing+mysql宿舍报修管理系统设计与实现

本文主要想利用javaswingmysql等开发技术设计一个高校宿舍报修管理系统&#xff0c;方便广大学生对宿舍中损坏的物品进行报修处理&#xff0c;提高报修效率。 功能分析&#xff1a; 宿舍报修管理系统的使用角色&#xff0c;一般分为管理员和学生&#xff0c;管理员主要进行学…

深入理解顺序io和随机io(全网最详细篇)

MySql系列整体栏目 内容链接地址【一】深入理解mysql索引本质https://blog.csdn.net/zhenghuishengq/article/details/121027025【二】深入理解mysql索引优化以及explain关键字https://blog.csdn.net/zhenghuishengq/article/details/124552080【三】深入理解mysql的索引分类&a…

汽车如何实现制动

汽车如何实现制动 汽车如何实现制动 难点答疑&#xff1a;汽车刹车时&#xff0c;四个车轮是如何制动的&#xff1f;制动机理是什么&#xff1f; 第一步&#xff1a;驾驶员踩下制动踏板&#xff0c;推动制动主缸 第二步&#xff1a;制动主缸将制动液的压力通过制动管道传递到四…

数据结构代码总结(C语言实现)

目录如何应对数据结构的代码题&#xff1f;采取的学习流程①首先对C语言的语法的熟悉②学习掌握基本代码的写法&#xff0c;做到熟练2.1插入排序2.2快速排序2.3二分查找2.4树的遍历③跟着网上视频开始熟悉对一些问题的解答④结合真题的代码&#xff0c;寻找其中的结题规律如何应…

CasEE: 一种用于重叠事件抽取的级联解码联合学习框架 论文解读

CasEE: A Joint Learning Framework with Cascade Decoding for Overlapping Event Extraction (用于重叠事件抽取的级联解码联合学习框架) 论文&#xff1a;CasEE: A Joint Learning Framework with Cascade Decoding for Overlapping Event Extraction (aclanthology.org) 代…

通俗易懂理解三次握手、四次挥手(TCP)

文章目录1、通俗语言理解1.1 三次握手1.2 四次挥手2、进一步理解三次握手和四次挥手2.1 三次握手2.2 四次挥手1、通俗语言理解 1.1 三次握手 C:客户端 S&#xff1a;服务器端 第一次握手&#xff1a; C&#xff1a;在吗&#xff1f;我要和你建立连接。 第二次握手&#xff…

设计模式之门面模式与装饰器模式详解和应用

目录1 门面模式定义1.1 门面模式的应用场景1.2 门面模式的通用写法1.3 门面模式业务场景实例1.4 门面模式在源码中的应用1.5 门面模式的优缺点2 装饰器模式2.1 装饰器模式定义2.2 装饰器模式的应用场景2.3 装饰器模式在源码中的应用2.4 装饰器模式和代理模式对比2.5 装饰器模式…

git命令篇(持续更新中)

首先介绍这个网页&#xff1a;https://learngitbranching.js.org/?localezh_CN --提交命令 git commit --创建分支 git branch <分支名> --切换分支 git checkout <分支名> --合并分支 (合并到主分支去&#xff0c;把我合并到谁的身上去) 自己写的分支合并到主线…

Unity—游戏设计模式+GC

每日一句&#xff1a;"少年一贯快马扬帆 道阻且长不转弯 要盛大要绚烂要哗然 要用理想的泰坦尼克去撞现实的冰川 要当烧赤壁的风而非借箭的草船 要为一片海就肯翻万山。" 目录 状态模式&#xff1a; 外观模式 组合模式&#xff0c; 单例模式 命令模式 观察者模…

FPGA开发软件(vivado + modelsim)环境搭建(附详细安装步骤+软件下载)

本文详细介绍了vivado软件和modelsim软件的安装&#xff0c;以及vivado中配置modelsim仿真设置&#xff0c;每一步都加文字说明和图片。一、软件安装包下载1、vivado vivado版本很多&#xff0c;目前最新的已更新到vivado2022.2&#xff0c;版本越高&#xff0c;安装包越大&…

90后阿里P7技术专家晒出工资单:狠补了这个,真香...

最近一哥们跟我聊天装逼&#xff0c;说他最近从阿里跳槽了&#xff0c;我问他跳出来拿了多少&#xff1f;哥们表示很得意&#xff0c;说跳槽到新公司一个月后发了工资&#xff0c;月入5万多&#xff0c;表示很满足&#xff01;这样的高薪资着实让人羡慕&#xff0c;我猜这是税后…

全局快门和卷帘快门(Global shutter and Rolling shutter)

全局快门和卷帘快门 “果冻效应”是什么&#xff1f;用相机拍下扇叶&#xff0c;为什么会发生扭曲变形&#xff1f; 相机两种曝光方式的优劣&#xff1a;全局曝光和卷帘曝光 卷帘快门和全局快门的区别 全局曝光和卷帘曝光是常见的相机曝光方式 一般来说&#xff0c;CCD相机是全…

【3D目标检测】Fastpillars-2023论文

论文&#xff1a;fastpillars.pdf https://arxiv.org/abs/2302.02367 作者&#xff1a;东南大学&#xff0c;美团 代码&#xff1a;https://github.com/StiphyJay/FastPillars &#xff08;暂未开源&#xff09; 讲解&#xff1a;https://mp.weixin.qq.com/s/ocNH2QBoD2AeK-…

「JVM 编译优化」javac 编译器源码解读

Java 的编译过程 前端编译: 编译器的前端&#xff0c;将 Java 文件转变成 Class 文件的过程&#xff1b;如 JDK 的 javac、Eclipse JDT 中的增量式编译器 ECJ&#xff1b;即使编译: JIT&#xff0c;Just In Time Compiler&#xff0c;在运行期将字节码转变成本地机器码的过程&…

COSELF 次元秀场伦敦时装周预告 #虚拟时尚

在虚拟世界里的未来服装&#xff0c;能自由变化自己的样貌和服饰。或许未来会作为人类皮肤的第二表征&#xff0c;极大解放人们的精神自由。COSELF 次元秀场 「预告」数字高定系列时间&#xff1a;本月 17 - 21 日地点&#xff1a;当季伦敦时装周「COSELF 次元秀场-数字高定系列…