zoukankan      html  css  js  c++  java
  • 企业级全网服务监控

    需求:公司有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

  • 相关阅读:
    UEditor百度编辑器
    form提交
    EL表达式
    spring mvc <mvc;resources>
    filter 拦截ajax请求
    ORACLE 数据库的级联查询 一句sql搞定(部门多级)
    快速排序算法
    实时监听输入框值变化
    javaScript cookie 操作
    webUtil
  • 原文地址:https://www.cnblogs.com/lyq863987322/p/8510631.html
Copyright © 2011-2022 走看看