第1章 zabbix监控

1.1 为什么要监控

  在需要的时刻,提前提醒我们服务器出问题了

   当出问题之后,可以找到问题的根源

    网站/服务器 的可用性

1.1.1 网站可用性

  在软件系统的高可靠性(也称为可用性,英文描述为HA,High Available)里有个衡量其可靠性的标准——X个9,这个X是代表数字3~5。X个9表示在软件系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,我们通过下面的计算来感受下X个9在不同级别的可靠性差异。

    1个9:(1-90%)*365=36.5天,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是36.5天
    2个9:(1-99%)*365=3.65天 , 表示该软件系统在连续运行1年时间里最多可能的业务中断时间是3.65天
    3个9:(1-99.9%)*365*24=8.76小时,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是8.76小时。
    4个9:(1-99.99%)*365*24=0.876小时=52.6分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
    5个9:(1-99.999%)*365*24*60=5.26分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。
    6个9:(1-99.9999%)*365*24*60*60=31秒, 示该软件系统在连续运行1年时间里最多可能的业务中断时间是31秒

1.2 监控什么东西

监控一切需要监控的东西,只要能够想到,能够用命令实现的都能用来监控

1.2.1 监控范畴

1.3 怎么来监控

1.3.1 远程管理服务器

如果想远程管理服务器就有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM

1.3.2 监控硬件

查看硬件的温度/风扇转速,电脑有鲁大师,服务器就有ipmitool。

使用ipmitool实现对服务器的命令行远程管理

yum -y install OpenIPMI ipmitool  #->IPMI在物理机可以成功,虚拟机不行

[root@KVM ~]# ipmitool sdr type Temperature
Temp             | 01h | ns  |  3.1 | Disabled
Temp             | 02h | ns  |  3.2 | Disabled
Temp             | 05h | ns  | 10.1 | Disabled
Temp             | 06h | ns  | 10.2 | Disabled
Ambient Temp     | 0Eh | ok  |  7.1 | 22 degrees C
Planar Temp      | 0Fh | ns  |  7.1 | Disabled
IOH THERMTRIP    | 5Dh | ns  |  7.1 | Disabled
CPU Temp Interf  | 76h | ns  |  7.1 | Disabled
Temp             | 0Ah | ns  |  8.1 | Disabled
Temp             | 0Bh | ns  |  8.1 | Disabled
Temp             | 0Ch | ns  |  8.1 | Disabled

1.3.3 查看cpu相关

  lscpu、uptime、top、htop vmstat mpstat

其中htop需要安装,安装依赖与epel源。

[znix@clsn ~]$lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 85
Model name:            Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
Stepping:              4
CPU MHz:               2494.150
BogoMIPS:              4988.30
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              1024K
L3 cache:              33792K
NUMA node0 CPU(s):     0

1.3.4 内存够不够可以用

  free

[znix@clsn ~]$free -h
             total       used       free     shared    buffers     cached
Mem:          996M       867M       128M       712K       145M       450M
-/+ buffers/cache:       271M       725M
Swap:         1.0G         0B       1.0G

1.3.5 磁盘剩多少写的快不快可以用

  df、dd、iotop

[znix@clsn ~]$df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   24G   15G  62% /
tmpfs           499M   20K  499M   1% /dev/shm
/dev/vdb1        20G  4.4G   15G  24% /data

1.3.6 监控网络

  iftop nethogs

iftop   监控主机间流量  -i 指定监控网卡
nethogs 监控进程流量

1.4 监控工具总览

  mrtg 流量监控出图

  nagios 监控

  cacti  流量监控出图

  zabbix 监控+出图

1.5 zabbix介绍

  Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。

  使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料。Server 端基于 C语言、Web 管理端 frontend 则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP ... 各种协定做死活监视。

  在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视。

另外,Zabbix 包含 XMPP 等各种 Item 警示功能。

1.5.1 zabbix的组成

zabbix官网: https://www.zabbix.com

zabbix 主要由2部分构成 zabbix server和 zabbix agent

zabbix proxy是用来管理其他的agent,作为代理

1.5.2 zabbix监控范畴

  ²  硬件监控 :Zabbix IPMI Interface

  ²  系统监控 :Zabbix Agent Interface

  ²  Java 监控:ZabbixJMX Interface

  ²  网络设备监抟:Zabbix SNMP Interface

  ²  应用服务监控:Zabbix Agent UserParameter

  ²  MySQL 数据库监控:percona-monitoring-pldlgins

  ²  URL监控:Zabbix Web监控

第2章 安装zabbix

2.1 环境检查

[root@m01 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

[root@m01 ~]# uname -r
3.10.0-693.el7.x86_64

[root@m01 ~]# getenforce
Disabled

[root@m01 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

2.2 安装zabbix过程

2.2.1 安装方式选择

  编译安装 (服务较多,环境复杂)

  yum安装(干净环境)

  使用yum 需要镜像yum源 http://www.cnblogs.com/clsn/p/7866643.html

2.2.2 服务端快速安装脚本

#!/bin/bash
#clsn

#设置解析 注意:网络条件较好时,可以不用自建yum源
# echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts

#安装zabbix源、aliyun YUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

#安装zabbix
yum install -y zabbix-server-mysql zabbix-web-mysql

#安装启动 mariadb数据库
yum install -y  mariadb-server
systemctl start mariadb.service

#创建数据库
mysql -e 'create database zabbix character set utf8 collate utf8_bin;'
mysql -e 'grant all privileges on zabbix.* to zabbix@localhost identified by "zabbix";'

#导入数据
zcat /usr/share/doc/zabbix-server-mysql-3.0.13/create.sql.gz|mysql -uzabbix -pzabbix zabbix

#配置zabbixserver连接mysql
sed -i.ori '115a DBPassword=zabbix' /etc/zabbix/zabbix_server.conf

#添加时区
sed -i.ori '18a php_value date.timezone  Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf

#解决中文乱码
yum -y install wqy-microhei-fonts
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

#启动服务
systemctl start zabbix-server
systemctl start httpd

#写入开机自启动
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start mariadb.service
systemctl start httpd
systemctl start zabbix-server
EOF

#输出信息
echo "浏览器访问 http://`hostname -I|awk '{print $1}'`/zabbix"

2.2.3 客户端快速部署脚本

#!/bin/bash
#clsn

#设置解析
echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts

#安装zabbix源、aliyu nYUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

#安装zabbix客户端
yum install zabbix-agent -y
sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.conf
systemctl start  zabbix-agent.service

#写入开机自启动
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
systemctl start  zabbix-agent.service
EOF

2.3 检测连通性

2.3.1 服务端安装zabbix-get检测工具

yum install zabbix-get

2.3.2 在服务端进行测试

注意:只能在服务端进行测试

zabbix_get -s 172.16.1.61 -p 10050 -k "system.cpu.load[all,avg1]"
zabbix_get -s 172.16.1.21 -p 10050 -k "system.cpu.load[all,avg1]"

测试结果

[root@m01 ~]# zabbix_get -s 172.16.1.61 -p 10050 -k "system.cpu.load[all,avg1]"
0.000000

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "system.cpu.load[all,avg1]"
0.000000

第3章 web界面操作

3.1 zabbix的web安装

3.1.1 使用浏览器访问

  http://10.0.0.61/zabbix/setup.php

在检测信息时,可查看具体的报错信息进行不同的解决

选择mysql数据库,输入密码即可

host与port不需要修改,name自定义

确认信息,正确点击下一步

安装完成、点击finsh

进入登陆界面  账号Admin密码zabbix   注意A大写

3.2 添加监控信息

3.2.1 修改监控管理机zabbix server

配置 >> 主机

主机名称: 要与主机名相同,这是zabbix server程序用的

可见名称: 显示在zabbix网页上的,给我们看的

修改后,要将下面的已启用要勾上

添加完成就有了管理机的监控主机

3.2.2 添加新的主机

配置 >> 主机 >> 创建主机

注意勾选以启用

然后添加模板,选择linux OS ,先点小添加,再点大添加。

添加完成,将会又两条监控主机信息

3.2.3 查看监控内容

检测中  >> 最新数据

在最新数据中需要筛选,

输入ip或者名字都能够搜索出来

在下面就会列出所有的监控项

3.2.4 查看图像

检测中 >> 图形

选择正确的主机。选择要查看的图形即可出图

第4章 自定义监控与监控报警

4.1 自定义监控

4.1.1 说明

zabbix自带模板Template OS Linux (Template App Zabbix Agent)提供CPU、内存、磁盘、网卡等常规监控,只要新加主机关联此模板,就可自动添加这些监控项。

需求:服务器登陆人数不能超过三人,超过三人报警

4.1.2 预备知识

自定义key能被server和agent认可

# 正确的key
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "system.uname"
Linux cache01 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 
# 没有登记的,自定义的key
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user"
ZBX_NOTSUPPORTED: Unsupported item key. 
# 写错的key
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "system.uname1"
ZBX_NOTSUPPORTED: Unsupported item key.

4.2 实现自定义监控

4.2.1 自定义语法

UserParameter=<key>,<shell command>
UserParameter=login-user,who|wc -l
UserParameter=login-user,/bin/sh /server/scripts/login.sh

4.2.2 agent注册

[root@cache01 ~]# cd /etc/zabbix/zabbix_agentd.d/

[root@cache01 zabbix_agentd.d]# vim userparameter_login.conf
UserParameter=login-user,who|wc -l
UserParameter=login-user2,who|wc -l
UserParameter=login-user3,who|wc -l

注意:key名字要唯一,多个key以行为分割

# 修改完成后重启服务

[root@cache01 zabbix_agentd.d]# systemctl restart zabbix-agent.service

在server端进行get测试

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user"
3

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user2"
3

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user3"
3

[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k "login-user4"
ZBX_NOTSUPPORTED: Unsupported item key.

4.2.3 在server端注册(web操作)

①   创建模板

配置 >> 模板 >> 创建模板

点击添加,即可创建出来模板

查看创建出来的模板。↑

②   创建应用集

应用集类似(目录/文件夹),其作用是给监控项分类。

点击 应用集 >> 创建应用集

自定义应用集的名称,然后点击添加

③   创建监控项

监控项 >> 创建监控项

键值 -- key,即前面出创建的login-user。

注意:创建监控项的时候,注意选择上应用集,即之前创建的安全。

④   创建触发器

触发器的作用:当监控项获取到的值达到一定条件时就触发报警

(根据需求创建)

触发器 >> 创建触发器

创建触发器,自定义名称,该名称是报警时显示的名称。

表达式,点击右边的添加,选择表达式

严重性自定义。

表达式的定义 ↓ ,选择之前创建的监控项,

最新的T值为当前获取到的值。

添加完成,能够在触发器中看到添加的情况

⑤   创建图形

以图形的方式展示出来监控信息

图形 >> 创建图形

名称自定义,关联上监控项。

⑥   主机关联模板

配置 >> 主机

一个主机可以关联多个模板

4.2.4 查看监控的图形

4.3 监控报警

4.3.1 第三方报警平台

http://www.onealert.com

  通过 OneAlert 提供的通知分派与排班策略,以及全方位的短信、微信、QQ、电话提醒服务,您可以在最合适的时间,将最重要的信息推送给最合适的人员。

4.3.2 onealert配置

添加应用,注意添加的是zabbix

实现微信报警需要关注微信公众号即可。

4.3.3 安装 onealert Agent

1.切换到zabbix脚本目录(如何查看zabbix脚本目录):

cd /usr/local/zabbix-server/share/zabbix/alertscripts

#查看zabbix脚本目录
vi /etc/zabbix/zabbix_server.conf
查看AlertScriptsPath

2.获取OneITSM agent包:

wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.0.1.tar.gz

3.解压、安装。

tar -zxf oneitsm_zabbix_release-1.0.1.tar.gz
cd oneitsm/bin
bash install.sh --#个人生成的key

注:在安装过程中根据安装提示,输入zabbix管理地址、管理员用户名、密码

Zabbix管理地址: http://10.0.0.61/zabbix/
Zabbix管理员账号: Admin
Zabbix管理员密码:

4.当提示"安装成功"时表示安装成功!

验证告警集成

产生新的zabbix告警(problem),动作状态为“已送达”表示集成成功。

4.3.1 如何删除onealert Agent

①  删除报警媒介类型中的脚本

②  删除创建的用户

③  删除用户群组

④  删除创建的动作

4.3.2 触发器响应,发送报警信息

在微信和邮件中,均能收到报警信息。

注意:当状态改变的时候才会发邮件

   好-->坏

      坏-->好

4.4 监控可视化

4.4.1 聚合图形

最新数据 >> 图形

自定义名称

点击聚合图形的名称,进行更改,添加要显示的图形即可。

4.4.2 幻灯片

添加幻灯片

监测中 >> 复合图形 >> 幻灯片演示

创建幻灯片,名称自定,选择要显示的

幻灯片根据设定的时间自动播放

4.5 模板的共享

4.5.1 主机共享

在主机页打开,全选后点击导出

导入

4.5.2 模板共享

https://github.com/zhangyao8/zabbix-community-repos

第5章 监控全网服务器

5.1 需求说明

实际需求:

  公司已经有了100台服务器,现在需要使用zabbix全部监控起来。

5.2 规划方案

常规监控:cpu,内存,磁盘,网卡  问题:怎样快速添加100台机器

  方法1:使用克隆的方式

    方法2:自动注册和自动发现

    方法3:调用zabbix api接口  curl 、python

    开发自己的运维平台兼容zabbix的通道

   服务监控,url监控等特殊监控:自定义监控

5.2.1 api接口使用(curl

    curl -i -X POST -H 'Content-Type:application/json' -d'{"jsonrpc": "2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"auth": null,"id":0}' "http://10.0.0.61/zabbix/api_jsonrpc.php"

    curl -i -X POST -H 'Content-Type:application/json' -d'
    {
        "jsonrpc": "2.0",
        "method": "host.get",
        "params": {
            "output": [
                "hostid",
                "host"
            ],
            "selectInterfaces": [
                "interfaceid",
                "ip"
            ]
        },
        "id": 2,
        "auth": "6a450a8fc3dce71fd310cfe338746578"
    }' "http://10.0.0.61/zabbix/api_jsonrpc.php"

5.3 具体实施规划

5.3.1 硬件、系统、网络监控

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

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

  snmp监控

5.3.2 应用服务监控

1. 监控备份服务器,简单方法是监控rsync端口,如果有其他更佳方案可以说明;

    方法1:监控873端口net.tcp.port[,873]
    方法2:模拟推送拉取文件

2. 监控NFS服务器,使用监控NFS进程来判断NFS服务器正常,如果有其他更佳方案可以说明;

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

3. 监控MySQL服务器,简单方法监控mysql的3306端口,或者使用zabbix提供的Mysql模板,如果有其他更佳方案可以说明;

    方法1:端口(通过3306的mysql端口) net.tcp.port[,3306]
    方法2:mysql远程登录
    方法3:使用zabbix agent自带的模板及key

4. 监控2台web服务器,简单方法监控80端口,如果有其他更佳方案可以说明;

    方法1:端口(通过80的web端口) net.tcp.port[,80]
    方法2:看网页状态码、返回内容==zabbix 自带WEB检测

5. 监控URL地址来更精确的监控我们的网站运行正常;

    使用zabbix自带的监控Web监测 进行监控

6. 监控反向代理服务器,PPTP服务器等你在期中架构部署的服务。

nginx,pptp
ntp 端口udp 123

7. 监控Nginx的7种连接状态。

    自定义监控

5.3.3 监控服务通用方法

  1. 监控端口 netstat ss lsof  ==》 wc -l

  2. 监控进程 ps -ef|grep 进程|wc -l  试运行一下

  3. 模拟客户端的使用方式监控服务端

      web  ==》 curl

   mysql ==》 select insert

     memcache ==》 set再get

5.4 实施全网监控

安装客户端脚本,for centos6

#!/bin/bash

#设置解析
# echo '10.0.0.1 mirrors.aliyuncs.com mirrors.aliyun.com repo.zabbix.com' >> /etc/hosts

#安装zabbix源、aliyu nYUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

yum clean all
yum clean all
#安装zabbix客户端
yum install zabbix-agent -y
sed -i.ori 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.conf
/etc/init.d/zabbix-agent start

#写入开机自启动
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.d/rc.local<<EOF
/etc/init.d/zabbix-agent start
EOF

5.4.1 使用自动发现规则

添加自动发现规则

创建发现动作

查看自动发现的机器。

5.4.2 监控备份服务器

利用系统自带键值进行监控net.tcp.listen[port] 创建新的模板

在服务端进行测试

[root@m01 ~]# zabbix_get -s 172.16.1.41 -p 10050 -k "net.tcp.listen[873]"
1

# 1为端口在监听 0为端口未监听

将模板添加到主机

5.4.3 监控NFS服务器

创建nfs监控模板

使用 proc.num[<name>,<user>,<state>,<cmdline>]  键值,检测nfs进程的数量

在服务端进行测试

[root@m01 ~]# zabbix_get -s 172.16.1.31 -p 10050 -k "proc.num[,,,rpc]"
5

[root@m01 ~]# zabbix_get -s 172.16.1.31 -p 10050 -k "proc.num[nfsd,,,]
8

将模板绑定到主机

5.4.4 监控MySQL服务器

将自带的mysqlkey值加上mysql的账户密码,否则不能获取到数据。

使用系统自带模板  net.tcp.port[<ip>,port] 利用自带的监控端口键值进行监控

添加新的mysql监控项端口

[root@m01 ~]# zabbix_get -s 172.16.1.51 -p 10050 -k "net.tcp.port[,3306]"
1

#检查是否能建立 TCP 连接到指定端口。返回 0 - 不能连接;1 - 可以连接

将模板关联到主机

5.4.5 监控web服务器

创建监控模板 监控 nginx服务与 80 端口

    proc.num[<name>,<user>,<state>,<cmdline>]   进程数。返回整数
    net.tcp.port[<ip>,port] 检查是否能建立 TCP 连接到指定端口。返回 0 - 不能连接;1 - 可以连接

[root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "proc.num[,,,nginx]"
2

[root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "net.tcp.port[,80]"
1

将模板关联到主机

5.4.6 监控URL地址

创建监测页面

echo ok >> /application/nginx/html/www/check.html

测试监控面页

[root@web03 ~]# for ip in 7 8 9 ;do curl 10.0.0.$ip/check.html ;done
ok
ok
ok

创建web监测模板

创建应用集

创建Web场景

创建图形

将模板关联到主机

监测结果

5.4.7 监控反向代理服务器

创建自定义key

[root@lb01 ~]# cat  /etc/zabbix/zabbix_agentd.d/userparameter_nk.conf
UserParameter=keep-ip,ip a |grep 10.0.0.3|wc -l

在服务端测试

[root@m01 ~]# zabbix_get -s 172.16.1.5  -p 10050 -k "keep-ip"
1

[root@m01 ~]# zabbix_get -s 172.16.1.6  -p 10050 -k "keep-ip"
0

在web界面添加模板

将模板关联到主机

5.4.8 监控Nginx的7种连接状态

nginx服务器显示status
……
    location /status {
           stub_status on;
           access_log off;
    }
……
[root@web01 ~]# for ip in 7 8 9 ;do curl 172.16.1.$ip/status ;done
Active connections: 1
server accepts handled requests
 73 73 69
Reading: 0 Writing: 1 Waiting: 0

Active connections: 1
server accepts handled requests
 134 134 127
Reading: 0 Writing: 1 Waiting: 0

Active connections: 1
server accepts handled requests
 7 7 7
Reading: 0 Writing: 1 Waiting: 0

在nginx服务器上添加key

cat >/etc/zabbix/zabbix_agentd.d/userparameter_nginx_status.conf <<'EOF'
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}'
EOF

服务端测试

[root@m01 ~]# zabbix_get -s 172.16.1.7  -p 10050 -k "nginx_waiting"
0

[root@m01 ~]# zabbix_get -s 172.16.1.8  -p 10050 -k "nginx_waiting"
0

[root@m01 ~]# zabbix_get -s 172.16.1.9  -p 10050 -k "nginx_waiting"
0

在zabbix-web上添加

监控项

添加图形

将模板关联到主机

查看添加的图形

第6章 自动发现与自动注册

6.1 自动注册与自动注册

6.1.1 简介

自动发现:

zabbix Server主动发现所有客户端,然后将客户端登记自己的小本本上,缺点zabbix server压力山大(网段大,客户端多),时间消耗多。

自动注册:

zabbix agent主动到zabbix Server上报到,登记;缺点agent有可能找不到Server(配置出错)

6.1.2 两种模式

被动模式:默认  agent被server抓取数据 (都是在agent的立场上说)
主动模式:agent主动将数据发到server端 (都是在agent的立场上说)

     注意: 两种模式都是在agent上进行配置

     zabbix 的使用要在hosts文件中预先做好主机名的解析

6.2 自动发现--被动模式

 第一个里程碑:完成之前的安装

zabbix Server安装完毕

第二个里程碑:配置agent客户端

zabbix agent安装完毕,注意配置Server=172.16.1.61

第三个里程碑:在web界面上进行配置

    web界面:配置 >> 自动发现 >> Local network
        使用自带的自动发现规则(进行修改)即可

    在ip范围内输入ip,注意格式;
    延迟在实际的生产环境中要大一些,实验环境可以小一些

创建发现动作

    配置 >> 动作 >> Auto discovery. Linux servers.

①  配置动作

②  在条件中添加条件,让添加更准确

③  在操作中添加

a)  添加主机与启用主机

    然后等待者客户端自动上门就好

zabbix从入门到精通的更多相关文章

  1. zabbix 从入门到精通

    https://www.cnblogs.com/clsn/p/7885990.html

  2. 【转】Zabbix 3.0 从入门到精通(zabbix使用详解)

    [转]Zabbix 3.0 从入门到精通(zabbix使用详解) 第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源   网站/ ...

  3. <程序员从入门到精通> -- How

    定位 自己才是职业生涯的管理者,想清楚自己的发展路径: 远期的理想是什么?近期的规划是什么?今日的任务和功课又是什么? 今日之任务或功课哪些有助于近期之规划的实现,而近期之规划是否有利于远期之理想? ...

  4. 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

    索引 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(1)搭建MVC环境 注册区域 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目(2)创建 ...

  5. ASP.NET MVC4入门到精通系列目录汇总

    序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...

  6. Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引

    因为内容比较多,所以每篇讲解一些内容,最后会放出全部代码,可以参考.操作中总会遇到各式各样的问题,个人对部分问题的研究在最后一篇 问题研究 里.欢迎大家探讨学习. 代码都经过个人测试,但仍可能有各种未 ...

  7. 1、ASP.NET MVC入门到精通——新语法

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在学习ASP.NET MVC之前,有必要先了解一下C#3.0所带来的新的语法特性,这一点尤为重要,因为在MVC项目中我们利用C#3.0的新特 ...

  8. 5、ASP.NET MVC入门到精通——NHibernate代码映射

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一篇NHibernate学习笔记—使用 NHibernate构建一个ASP.NET MVC应用程序 使用的是xml进行orm映射,那么这一 ...

  9. 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...

随机推荐

  1. oracle 基本语法(一)

    1.基本语句: .查询每个部门工资最高的人的详细记录 select * from emp e,(select max(sal) max,deptno from emp group by deptno) ...

  2. An Algorithm for Surface Encoding and Reconstruction From 3D Point Cloud Data

    An Algorithm for Surface Encoding and Reconstruction From 3D Point Cloud Data https://www.youtube.co ...

  3. CSS 实战1

    1.CSS 初始化 @charset "UTF-8"; /*css 初始化 */ html, body, ul, li, ol, dl, dd, dt, p, h1, h2, h3 ...

  4. ios应用数据存储方式(偏好设置)-转

    一.简单介绍 1.很多ios应用都支持偏好设置,比如保存用户名,密码,字体大小等设置,ios提供了一套标准的解决方案来为应用加入偏好设置功能. 2.每个应用都有个NSUserDefaults实例,通过 ...

  5. iOS 获取APP的CPU、内存等信息

    目标是开发一个SDK,嵌入到APP里面,用来统计当前APP的实时CPU.内存等信息 2015.11.17 http://stackoverflow.com/questions/12889422/ios ...

  6. IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息

    IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息 /**当获取到定位的坐标后,回调函数*/ - (void)didUpdateBMKUserLocation:(BMKUserLocati ...

  7. UICollectionViewCell的设置间距

    UICollectionViewCell的设置间距 #pragma mark - UICollectionView 大小(宽高,平均一行三个) - (CGSize)collectionView:(UI ...

  8. java连接Redis初始化jedis失败!

    Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstant ...

  9. Ajax在表单中的应用

    ajax在注册用户表单中的使用 1.验证用户名是否被使用 2.获取手机短信验证码 3.点击表单中的图片刷新,可实现刷新图片验证码 <!DOCTYPE html> <html> ...

  10. mysql数据库的基本使用命令总结

    mysql数据库是一个常用的关系型数据库 关系型数据库核心元素有哪些? 主键:特殊字段,用来唯一标识记录的唯一性 字段:数据列 记录:数据行 数据表:数据行的集合 数据库:数据表的集合 安装.启动.停 ...