zoukankan      html  css  js  c++  java
  • linux运维、架构之路-Zabbix监控应用及分布式

    一、Zabbix监控集群应用

    1、监控端口

    复制代码
    net.tcp.listen[port]         检查 TCP 端口 是否处于侦听状态。返回 0 - 未侦听;1 - 正在侦听
    net.tcp.port[<ip>,port]      检查是否能建立 TCP 连接到指定端口。返回 0 - 不能连接;1 - 可以连接
    [root@m01 ~]# zabbix_get -s 172.16.1.61 -p 10050 -k 'net.tcp.listen[80]'
    1
    [root@m01 ~]# zabbix_get -s 172.16.1.41 -p 10050 -k 'net.tcp.listen[873]'
    1
    [root@m01 ~]# zabbix_get -s 172.16.1.51 -p 10050 -k 'net.tcp.port[,3306]'
    1
    复制代码

    2、监控进程

    复制代码
    proc.num[<name>,<user>,<state>,<cmdline>]    进程数。返回整数
    进程名 进程用户 进程状态 命令行 [root@m01 ~]# zabbix_get -s 172.16.1.61 -p 10050 -k 'proc.num[httpd]' 9 [root@m01 ~]# zabbix_get -s 172.16.1.51 -p 10050 -k 'proc.num[mysqld]' 1
    复制代码

    3、使用zabbix提供的MySQL模板

    /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
    UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
    #如果mysql有密码,刚需加入密码

    4、监控URL地址来更精确的监控网站运行正常

    5、监控nginx七种状态

    ①在nginx配置文件中加入

       server {
            listen       127.0.0.1:80;
            stub_status on;
            access_log off;
            }       
    [root@web01 conf]# curl 127.0.0.1
    Active connections: 1 
    server accepts handled requests
     193 193 781 
    Reading: 0 Writing: 1 Waiting: 0
    复制代码
    [root@web01 conf]# vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
    UserParameter=nginx_active,curl -s  127.0.0.1|awk '/Active/ {print $NF}'
    UserParameter=nginx_accepts,curl -s  127.0.0.1|awk 'NR==3 {print $1}'
    UserParameter=nginx_handled,curl -s  127.0.0.1|awk 'NR==3 {print $2}'
    UserParameter=nginx_requests,curl -s  127.0.0.1|awk 'NR==3 {print $3}'
    UserParameter=nginx_reading,curl -s  127.0.0.1|awk 'NR==4 {print $2}'
    UserParameter=nginx_writing,curl -s  127.0.0.1|awk 'NR==4 {print $4}'
    UserParameter=nginx_waiting,curl -s  127.0.0.1|awk 'NR==4 {print $6}'
    复制代码

    到server端m01测试取值

    [root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k 'nginx_accepts'
    203
    [root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k 'nginx_handled'
    204

    nginx七种状态监控图

     

    二、Zabbix分布式监控

    1、应用:多机房,多网段,zabbix默认只能在同一个局域网使用,zabbix proxy 专门为跨网段或跨机房设计的

    2、安装zabbix proxy

    复制代码
    常规安装:
    rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm       
    yum -y install zabbix-proxy-mysql 
    
    特殊方法:
    wget https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-proxy-mysql-3.0.9-1.el6.x86_64.rpm
    yum -y  localinstall zabbix-proxy-mysql-3.0.9-1.el6.x86_64.rpm
    复制代码

    3、安装配置数据库

            zabbix proxy需要数据库存储相关的配置信息,但是不存储监控数据(只存在server上)生产环境在proxy上安装数据库,当然也可以专门找一台数据库服务器

    测试环境:借助现成的m01的mysql

    create database zabbix_proxy character set utf8 collate utf8_bin;
    grant all privileges on zabbix_proxy.* to zabbix@'10.0.0.%' identified by 'zabbix';

    导入proxy专用的sql文件

    [root@web01 ~]# scp /usr/share/doc/zabbix-proxy-mysql-3.0.9/schema.sql.gz 10.0.0.61:/tmp
    m01导入数据
    zcat /tmp/schema.sql.gz |mysql -uzabbix -pzabbix -h10.0.0.61 zabbix_proxy

    4、配置zabbix proxy 

    sed -i.ori 's#Server=127.0.0.1#Server=10.0.0.61#;s#Hostname=Zabbix proxy#Hostname=web01#;128a DBHost=10.0.0.61
    DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf        
    /etc/init.d/zabbix-proxy start

    web01配置 zabbix Agent

    sed -i 's#172.16.1.61#172.16.1.8#g' /etc/zabbix/zabbix_agentd.conf
    /etc/init.d/zabbix-agent restart

    网页操作,将代理节点注册到zabbix server

    三、snmp监控

    zabbix agent   客户端监控
    SNMP           简单网络管理协议
    JMX            监控java程序
    IPMI           硬件监控

    安装

    yum -y install net-snmp net-snmp-utils

    配置

    sed -i.ori '57a view systemview   included  .1' /etc/snmp/snmpd.conf
    /etc/init.d/snmpd start

    使用

    snmpwalk -v 2c -c public 127.0.0.1 sysname
    # snmpwalk 类似 zabbix_get
    # -v 2c  指定使用snmp协议的版本  snmp分为v1 v2 v3
    # -c public  指定暗号
    # sysname  类似zabbix的key
  • 相关阅读:
    对称的二元变量和不对称的二元变量之间的区别是什么?
    数据挖掘中ID3算法实现zz
    深入浅出谈数据挖掘zz
    JS动态生成表格后 合并单元格
    JS 点击元素发ajax请求 打开一个新窗口
    JS实现拖动div层移动
    简单的表格json控件
    JS添加标签效果
    JS模板引擎
    如何使用seajs+jQuery构建中型项目
  • 原文地址:https://www.cnblogs.com/ghjbk/p/7942307.html
Copyright © 2011-2022 走看看