企业级全网服务监控
时间:2022-05-06
本文章向大家介绍企业级全网服务监控,主要内容包括具体方案实施、应用服务监控、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
需求:公司有100台服务器,部署了zabbix后,需要使用zabbix将其全部监控
规划:
1、监控各种服务引用
2、监控常用端口
3、监控网络带宽
4、监控基础设置环境
5、自定义监控
具体方案实施
硬件、系统、网络监控
所有集群节点(所有虚拟机)都监控上
交换机,路由器监控(简单方法:换成端口对应服务器网卡流量监控;标准方法:监控交换机的网卡)
snmp监控
应用服务监控
1、监控备份服务器
简单方法是监控rsync端口
方法1:监控873端口net.tcp.port[,873]
方法2:模拟推送拉取文件
浏览器操作
监控进程数量
proc.num[<name>,<user>,<state>,<cmdline>]
name 进程名
user 进程用户
state 进程状态
cmdline 命令行参数
[root@m02 ~]# zabbix_get -s 172.16.1.62 -p 10050 -k 'proc.num[httpd]'
11
[root@m02 ~]# zabbix_get -s 172.16.1.62 -p 10050 -k 'proc.num[,apache]'
10
2、监控NFS服务器
使用监控NFS进程来判断NFS服务器正常
方法1:端口(通过111的rpc端口获取nfs端口) net.tcp.port[,111]
方法2:showmount -e ip|wc -l
方法1:
命令行测试
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k 'net.tcp.port[,111]'
0
web操作
方法2:
监控是否有可挂载信息 showmount -e ip|wc -l
首先编辑配置文件
[root@cache01 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_nfs.conf
UserParameter=nfs,showmount -e ip|wc -l
zabbix服务端命令测试
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k 'nfs'
0
然后在网页操作
3、监控MySQL服务器
方法1:端口(通过3306的mysql端口) net.tcp.port[,3306]
方法2:mysql远程登录
方法3:使用zabbix agent自带的模板及key
简单方法监控mysql的3306端口,或者使用zabbix提供的Mysql模板
监控端口(通过3306的mysql端口) net.tcp.port[,3306]
使用zabbix agent自带的模板及key
注意:mysql数据库如果设置了密码要在配置文件中指定密码才能够使用
4、监控web服务器
监控端口(通过80的web端口) net.tcp.port[,80]
看网页状态码、返回内容(zabbix自带WEB检测)
5、监控URL地址
6、监控Nginx的7种连接状态
nginx添加显示状态的配置信息
vim /etc/nginx/nginx.conf
……
location /status {
stub_status on;
access_log off;
}
……
编写配置文件
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx_status.conf
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}'
7、监控服务通用方法
1. 监控端口 netstat、ss、lsof ==》 wc -l
2. 监控进程 ps -ef|grep 进程|wc -l 试运行一下
3. 模拟客户端的使用方式监控服务端
web ==》 curl
mysql ==》 select insert
memcache ==》 set再get
- 【Python环境】如何使用 Docker 快速配置数据科学开发环境?
- Java中UUID的2种创建方法——有代码实例
- 使用“消息服务框架”(MSF)实现分布式事务的三阶段提交协议(电商创建订单的示例)
- Android基础总结(3)——UI界面布局
- 常见.NET功能代码汇总 (2)
- 问题系列之Java中删除有序List的重复数据——提供两种方法
- 二叉树的基本概念和遍历
- Java中MD5加密算法实现方法——附上具体代码
- 新手,Visual Studio 2015 配置Boost库,如何编译和选择,遇到无法打开文件“libboost_thread-vc140-mt-gd-1_63.lib“的解决办法
- Java中处理正则表达式的工具类——总有一个适合你
- 【Spark研究】用Apache Spark进行大数据处理第一部分:入门介绍
- “一切都是消息”--MSF(消息服务框架)入门简介
- 【Spark研究】用Apache Spark进行大数据处理第二部分:Spark SQL
- Android基础总结(2)——活动Activity
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 扩展之Tensorflow2.0 | 21 Keras的API详解(下)池化、Normalization层
- 一个真实问题,搞定三个冷门pandas函数
- conda管理C源代码程序的时候总是出现库文件冲突或者缺失
- 如何获取非模式生物KEGG PATHWAY的基因集并用clusterProfile做GSEA?
- 通过视频着色进行自监督跟踪
- Python爬虫:一些常用的爬虫技巧总结
- 带你用 Python 实现自动化群控(入门篇)
- Chrome终于上线这项重磅功能,中国用户苦等多年!
- YOLO 算法最全综述:从 YOLOv1 到 YOLOv5
- 《JavaScript ES6 函数式编程入门经典》读书笔记
- Java9-Reactive Stream API响应式编程
- mybatis-plus增删改查以及前后端分离模式下的项目应用
- docker(常用软件安装)
- PyTorch版:集成注意力和MobileNet的YOLOv4
- 从源代码级别看懂MinIO对象存储网关的实现