企业级全网服务监控

2018-03-29 10:40:46 浏览数 (1)

需求:公司有100台服务器,部署了zabbix后,需要使用zabbix将其全部监控

规划:

  1、监控各种服务引用

  2、监控常用端口

  3、监控网络带宽

  4、监控基础设置环境

  5、自定义监控

具体方案实施

硬件、系统、网络监控

  所有集群节点(所有虚拟机)都监控上

  交换机,路由器监控(简单方法:换成端口对应服务器网卡流量监控;标准方法:监控交换机的网卡)

  snmp监控

应用服务监控

1、监控备份服务器

简单方法是监控rsync端口

代码语言:javascript复制
    方法1:监控873端口net.tcp.port[,873]
    方法2:模拟推送拉取文件

浏览器操作

监控进程数量

proc.num[<name>,<user>,<state>,<cmdline>]

name 进程名

user 进程用户

state 进程状态

cmdline 命令行参数

代码语言:javascript复制
[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服务器正常

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

命令行测试

代码语言:javascript复制
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k 'net.tcp.port[,111]'
0

web操作

方法2:

监控是否有可挂载信息   showmount -e ip|wc -l

首先编辑配置文件

代码语言:javascript复制
[root@cache01 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_nfs.conf
UserParameter=nfs,showmount -e ip|wc -l

zabbix服务端命令测试

代码语言:javascript复制
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k 'nfs'
0

然后在网页操作

3、监控MySQL服务器
代码语言:javascript复制
    方法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添加显示状态的配置信息
代码语言:javascript复制
vim /etc/nginx/nginx.conf
……
    location /status {
           stub_status on;
           access_log off;
        }
……
编写配置文件
代码语言:javascript复制
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

0 人点赞