zoukankan      html  css  js  c++  java
  • Zabbix-自带监控项与Kye

    开启主机自动发现

    ⦁选择配置 ->自动发现 ->创建自动发现->ip范围必须连续,不连续的话逗号分开
    ⦁更新间隔 -> 2s ->更新
    ⦁检查 -> 选择新的 -> ICMP ping ->更新

    ⦁动作 ->事件源(自动发现) –>创建动作 ->iP地址
    ⦁主机IP =192.168.1.1 192.168.1.254
    ⦁在线/不在线>=1秒

    操作(这里是否报警)->删除

    ⦁点击操作->选择新的标签->操作类型->添加主机->添加
    ⦁点击操作->选择新的标签->操作类型->添加主机群组->选择一个群组->添加
    ⦁点击操作->选择新的标签->操作类型->与模板相关联->选择你要添加的模板->添加
    ⦁点击操作->选择新的标签->操作类型->启用主机->添加

    ⦁最后点击->自动发现->启用自动发现即可


    ## 监控进程连接数

    ⦁首先,直接添加一个主机,我们不要选择模板,直接添加一个裸主机.

    ⦁其次我们的被控主机安装一下Apache软件,并能在控制端通过zabbix-get命令获取到Apache进程数.

    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k proc.num[httpd]
    6
    
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k proc.num[httpd,,,]
    6
    
    #以上两种写法相同,具体命令参数应该看文档.
    

    ⦁在web界面上,选择监控项->创建监控项->选择键值->修改成proc.num[httpd,,,]->点击添加.

    ⦁接着点击图形->创建图形->选择创建的自定义key->保存即可.


    ## 其他常用监控key

    同理,我们就可以使用系统默认的监控key来监控内存,CPU以及网络等流量信息,配置过程同上一个案例相同,只是在配置中使用的配置参数略有区别罢了,此处就不再演示了.

    基本的数据采集命令:

    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.hostname
    localhost.localdomain  // 此处才是主机名称
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k agent.hostname
    centos1   // 此处是我们zabbix中自定义的键值对
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k agent.ping
    1
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k agent.version
    4.4.3      // zabbix 的version
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.boottime
    1578564779    // 系统启动的时间戳
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.cpu.num
    1              // 处理器个数
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.localtime
    1578569019      // 当前系统时间戳
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.sw.arch
    x86_64         // 返回系统架构
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.sw.os
    Linux version 3.10.0-1062.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Wed Aug 7 18:08:02 UTC 2019   // 返回系统详细架构
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.sw.packages[ssh]  // 已安装软件列表
    [rpm] libssh2-1.8.0-3.el7.x86_64, openssh-7.4p1-21.el7.x86_64, openssh-clients-7.4p1-21.el7.x86_64, openssh-server-7.4p1-21.el7.x86_64
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.uname
    Linux localhost.localdomain 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.uptime
    4438   // 系统运行时长(秒)多少秒使用s/uptime来获取
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.users.num
    0    // 登陆用户数
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k kernel.maxfiles
    96437  // 系统支持最大的open files整数
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k kernel.maxproc
    65536  // 系统支持最大进程数
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.hw.macaddr
    [ens32] 00:50:56:22:6f:d3   // mac 地址列表
    
    >zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.sw.os
    Linux version 3.10.0-1062.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Wed Aug 7 18:08:02 UTC 2019   // 操作系统信息
    

    允许远程执行命令:

    [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
    EnableRemoteCommands=1
    [root@localhost ~]# systemctl restart zabbix-agent
    
    D:zabbix> zabbix_get.exe -s 192.168.1.20 -p 10050 -k "system.run[df -h]"
    Filesystem               Size  Used Avail Use% Mounted on
    devtmpfs                 480M     0  480M   0% /dev
    tmpfs                    491M     0  491M   0% /dev/shm
    tmpfs                    491M  7.4M  484M   2% /run
    tmpfs                    491M     0  491M   0% /sys/fs/cgroup
    /dev/mapper/centos-root   27G  1.7G   26G   7% /
    /dev/sda1               1014M  136M  879M  14% /boot
    tmpfs                     99M     0   99M   0% /run/user/0
    

    监控CPU

    system.cpu.util[<cpu>,<type>,<mode>]
    
    -CPU:  CPU数量(默认是所有CPU)
    -Type: 可用值,idle,nice,user,system,iowait,interrupt,sottrq,steal
    -Mode  可用值,avg1(一分钟负载),avg5,avg15
    
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k system.cpu.util[,,avg1]
    0.016692
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.cpu.num
    1   // cpu 个数
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.cpu.util
    0.016461  // cpu 利用率百分比
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.hw.cpu  // cpu 详细信息
    processor 0: GenuineIntel Intel(R) Celeron(R) CPU        E3500  @ 2.70GHz working at 2700MHz
    

    监控内存

    proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
    
    -name    进程名(默认所有进程)
    -user    用户名(默认所有用户)
    -mode    可选值,avg,max,min,sum
    -cmdline 命令过滤
    
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k proc.mem[httpd,,,]
    1376378880
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k proc.mem[]
    6479925248
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.swap.in
    0      // Swap in (f内存到磁盘) .数字
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.swap.out
    0  //Swap out (f内存到磁盘) .数字
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k system.swap.size
    2147479552  // 交换分区大小字节或者百分比
    
    
    mode - total (默认), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, wired, used, pused, available
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k vm.memory.size[free]
    598949888   // 监控内存变化
    

    监控网卡

    net.if.in [if,<mode>]       #网卡入口流量
    net.if.out [if,<mode>]      #网卡出口流量
    net.if.total [if,<mode>]    #网卡进/出流量总和
    
    -if    网卡名称
    -mode  可用值(如下)
    
           bytes    字节数
           packets  包数量
           errors   错误数量
           droppend 丢包数量
    
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k net.if.in[ens32,bytes]
    165983
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k net.if.in[ens32,packets]
    2166
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k net.if.out[ens32,packets]
    2067
    [root@localhost ~]# zabbix_get.exe -s 192.168.1.20 -p 10050 -k net.if.discovery
    [{"{#IFNAME}":"ens32"},{"{#IFNAME}":"lo"}]  // 列出系统网卡信息
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k net.if.total[ens32]
    20785083           // 列出网卡总流量
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k net.tcp.listen[10050]
    1             // 检测指定端口是否开启
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k net.tcp.port[,80]
    0             // 检测本机web服务是否开启
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k net.tcp.service[ssh,,22]
    1            // 检测是定服务是否在运行
    
    

    监控IO/读写

    vfs.dev.read [<device>,<type>,<mode>]    #磁盘读取
    vfs.dev.write [<device>,<type>,<mode>]   #磁盘写入
    
    -device   磁盘设备(默认all)
    -type     sectors,operations,bytes,sps,ops,hps
    -mode     默认有(avg1,avg5,avg15)
    
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k vfs.dev.read[/dev/sda,,avg1]
    0.000000
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k vfs.dev.read[all]
    195.200000
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k vfs.dev.read[all,,avg1]
    195.200000
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k vfs.dev.read[all,,avg5]
    177.758242
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k vfs.dev.write[all,,avg5]
    465.284483
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k vfs.dev.write[all,,avg1]
    877.200000
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k vfs.dev.write[/dev/sda,,]
    374.800000
    

    文件操作:

    zabbix_get.exe -s 192.168.1.20 -p 10050 -k vfs.file.exists[/etc/passwd]
    1   // 检测指定文件是否存在
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k vfs.file.md5sum[/etc/passwd]
    52f5db4f5688b79b9c07ef5a42ea29af  // md5验证
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k vfs.file.size[/etc/passwd]
    870   // 文件大小字节数
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k vfs.file.time[/etc/passwd]
    1578566854  // 文件日期时间戳
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k vfs.fs.discovery  // 列出文件系统所有目录结构
    [{"{#FSNAME}":"/","{#FSTYPE}":"rootfs"},{"{#FSNAME}":"/sys","{#FSTYPE}":"sysfs"},{"{#FSNAME}":"/proc","{#FSTYPE}":"proc"},{"{#FSNAME}":"/dev","{#FSTYPE}":"devtmpfs"},{"{#FSNAME}":"/sys/kernel/security","{#FSTYPE}":"securityfs"},{"{#FSNAME}":"/dev/shm"}]
    
    mode - total (默认), free, used, pfree (空闲百分比), pused (使用百分比)
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k vfs.fs.inode[/dev,free]
    122355 // 检测/dev/空闲空间
    
    zabbix_get.exe -s 192.168.1.20 -p 10050 -k vfs.fs.size[/dev,free]
    502525952  // 磁盘空间,返回本地文件系统的使用量字节
    

    ## 监控web页状态

    首先在被控主机安装httpd服务,并设置好一个页面.

    [root@localhost ~]# yum install -y httpd
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    Package httpd-2.4.6-88.el7.centos.x86_64 already installed and latest version
    Nothing to do
    
    [root@localhost ~]# echo "hello world" > /var/www/html/index.html
    [root@localhost ~]# systemctl restart httpd
    

    监控主机选择 主机->web场景->创建web场景->步骤->网页状态.

    此时,配置web监控就完成啦,很简单吧,下面继续来看一下自定义key的使用步骤吧.

    自定义一个Key

    1.下面我们来自定义一个Key来实现监控两个服务,这里我们先写一个脚本,脚本有一个参数当传入http时,返回http的进程数量,当传入system参数时,显示系统的总进程数,此处实在客户端操作的.

    #!/bin/bash
    
    num=$1
    
    if [ $num == "http" ]
    then
            ps aux |grep -v "grep" |grep "http" |wc -l
    fi
    if [ $num == "system" ]
    then
            ps aux |wc -l
    fi
    
    [root@localhost ~]# chmod 777 -R shell.sh
    [root@localhost ~]# bash shell.sh http
    7
    [root@localhost ~]# bash shell.sh system
    192
    

    2.将我们的脚本放入自定义目录,并设置zabbix添加一个key.

    [root@localhost ~]# cp -a shell.sh  /etc/shell.sh
    [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
    
    UnsafeUserParameters=1
    UserParameter=shell.shell[*],/etc/shell.sh $1
    
    [root@localhost ~]# systemctl restart zabbix-agent
    

    3.在zabbix服务端通过zabbix-get命令测试一下效果.

    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k shell.shell[http]
    7
    
    [root@localhost ~]# zabbix_get -s 192.168.1.25 -k shell.shell[system]
    192
    

    4.去web页面配置一下就可以了,很简单吧

    主机->监控项->创建监控项

    主机->图形->创建图形

  • 相关阅读:
    JAVA日常之三
    java将字符串存入oracle的Blob中
    java连接oracle数据库
    JAVA日常之二
    JAVA日常之一
    linux日常命令之三
    linux日常命令之二
    linux日常命令之一
    Python之路【第四十篇】:django日更
    Python之路【第三十九篇】:django日更
  • 原文地址:https://www.cnblogs.com/LyShark/p/10872277.html
Copyright © 2011-2022 走看看