title: Zabbix 自带监控项与Kye(2)
date: 2018-12-10 09:33:39
tags:
- Zabbix
categories: Zabbix
copyright: true
---
Zabbix是一个非常强大的监控系统,是企业级的软件,来监控IT基础设施的可用性和性能.它是一个能够快速搭建起来的开源的监控系统,Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题,Zabbix系统几乎可用于任何系统的监控过程,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X,等平台上.
开启主机自动发现
⦁选择配置 ->自动发现 ->创建自动发现->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以及网络等流量信息,配置过程同上一个案例相同,只是在配置中使用的配置参数略有区别罢了,此处就不再演示了.
监控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
监控内存
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
监控网卡
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
监控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
监控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页面配置一下就可以了,很简单吧
主机->监控项->创建监控项
主机->图形->创建图形