Zabbix 3.0 从入门到精通(zabbix使用详解)

news2024/11/19 2:43:15

Zabbix 3.0 从入门到精通(zabbix使用详解)

第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相关

lscpuuptimetophtop 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 磁盘剩多少写的快不快可以用

dfddiotop

[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 服务端快速安装脚本

注意:在导入sql文件时,注意文件地址,因版本差异,地址中的版本号会不一样

#!/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-7.repo
curl \-o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.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-7.repo
curl \-o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.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

  1. 获取OneITSM agent包:
wget http://www.onealert.com/agent/release/oneitsm\_zabbix\_release-1.0.1.tar.gz
  1. 解压、安装。
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管理员密码: zabbix

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

验证告警集成

产生新的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

  1. 监控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[,,,] 键值,检测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[,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种连接状态

[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-duExnAHj-1676428691194)(//common.cnblogs.com/images/copycode.gif)]](javascript:void(0); “复制代码”)

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) 添加主机与启用主机

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

6.3 自动注册–主动模式

第一个里程碑:zabbix Server安装完毕 (完成)

zabbix Server安装完毕

第二个里程碑:zabbix agent安装完毕,需要额外增加的配置

vim /etc/zabbix/zabbix\_agentd.conf
ServerActive\=172.16.1.61
# Hostname=Zabbix server
HostnameItem=system.hostname
 
systemctl restart zabbix\-agent.service
netstat \-tunlp|grep zabbix
源文件与修改后对比

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

1 配置 >> 动作 >> 事件源(自动注册) >> 创建动作

创建动作,添加名称即可

条件中也无需修改

在动作中添加动作

(添加主机、添加到主机群组、链接到模板)

添加完动作后,等待就行了

注意:重启客户端可以加速发现。但是在生产环境中勿用。

第7章 分布式监控与SNMP监控

7.1 分布式监控

7.1.1 作用

分担压力,减轻负载

多机房监控

zabbix Server ===》 zabbix agent (只能同一个局域网监控)

分担压力,降低负载

zabbix Server ===》 zabbix proxy ===》zabbix agent1 agent2 agent3 。。。
172.16.1.61 172.16.1.21 172.16.1.0/24
===》 zabbix proxy ===》zabbix agent4 agent5 agent6 。。。

多机房监控

zabbix Server(北京)           ==》  zabbix proxy(每个机房搭建)  ==》 zabbix agent
122.71.240.233/172.16.1.61          122.71.241.11/172.16.2.21     172.16.2.0/24

7.1.2 环境说明

zabbix server m01
zabbix proxy cache01
zabbix agent  cache01

7.1.3 配置zabbix proxy

第一个里程碑:配置zabbix yum源,并安装proxy

rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum install zabbix-proxy-mysql -y

第二个里程碑:安装数据库

zabbix  proxy也需要数据库,这个数据库不是用于存储监控数据的 只是用于存储配置信息

#安装数据库

yum -y install mariadb-server
systemctl start mariadb.service

#建立数据库

mysql
create database zabbix\_proxy character set utf8 collate utf8\_bin;
grant all privileges on zabbix\_proxy.\* to zabbix@'localhost' identified by 'zabbix';
exit

#导入数据文件

zcat /usr/share/doc/zabbix-proxy-mysql-3.0.13/schema.sql.gz |mysql -uzabbix -pzabbix zabbix\_proxy

#配置zabbix proxy 连接数据库

sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix\_proxy.conf
sed \-i 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix\_proxy.conf
sed \-i 's#Hostname=Zabbix proxy#Hostname=cache01#' /etc/zabbix/zabbix\_proxy.conf

Hostname 作为后面添加的代理程序名称,要保持一致

#启动

systemctl restart zabbix-proxy.service

#检查端口

\[root@cache01 ~\]# netstat -lntup |grep zabbix
tcp        0      0 0.0.0.0:10050     0.0.0.0:\*       LISTEN      105762/zabbix\_agent
tcp        0      0 0.0.0.0:10051   0.0.0.0:\*         LISTEN      85273/zabbix\_proxy 
tcp6       0      0 :::10050       :::\*      LISTEN      105762/zabbix\_agent
tcp6       0      0 :::10051  :::\*           LISTEN      85273/zabbix\_proxy 

**第三个里程碑:**修改agent配置指向 proxy

\[root@cache01 ~\]# grep ^Server /etc/zabbix/zabbix\_agentd.conf
Server=172.16.1.61
ServerActive\=172.16.1.61

\[root@cache01 ~\]# sed -i 's#172.16.1.61#172.16.1.21#g' /etc/zabbix/zabbix\_agentd.conf
\[root@cache01 ~\]# grep ^Server /etc/zabbix/zabbix\_agentd.conf
Server=172.16.1.21
ServerActive\=172.16.1.21

\[root@cache01 ~\]# systemctl restart zabbix-agent.service

**第四个里程碑:**web界面添加代理

管理 >> agent代理程序 >> 创建代理

代理程序名称要填写主机名

稍等片刻就能在程序中出现代理

在主机中能发现主机代理

7.2 SNMP监控

7.2.1 使用范围

无法安装agent 很多前辈的监控软件都可以监控各种设备 都是通过snmp监控

snmp simple network manager protocol 简单网络管理协议

简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。

7.2.2 安装snmp程序

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

7.2.3 配置snmp程序

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

7.2.4 测试snmp

\[root@m01 ~\]# snmpwalk -v 2c -c public 127.0.0.1 sysname
SNMPv2-MIB::sysName.0 = STRING: m01

说明:

# snmpwalk 类似 zabbix_get

# -v 2c 指定使用snmp协议的版本 snmp分为v1 v2 v3

# -c public 指定暗号

# sysname 类似zabbix的key

7.2.5 在web界面进行配置

添加新的主机,注意使用snmp接口

选择模板,注意使用SNMP的模板

添加完成就能够在主机中看到snmp监控对的主机

7.2.6 附录

##SNMP OID列表 监控需要用到的OID
http://www.ttlsa.com/monitor/snmp-oid/
cmdb 资源管理系统

转载至:https://www.cnblogs.com/clsn/p/7885990.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/348432.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

css复习

CSS 最大价值: 由 HTML 专注去做结构呈现&#xff0c;样式交给 CSS&#xff0c;即 结构 ( HTML ) 与样式( CSS ) 相分离。 CSS 规则由两个主要的部分构成&#xff1a;选择器以及一条或多条声明。 代码风格&#xff1a; ①属性值前面&#xff0c;冒号后面&#xff0c;保留一个空…

Java基础:异常与错误(ExceptionError)

1 缘起 某天上网冲浪时&#xff0c;偶然看到一个问题&#xff0c;说Java的Error和Exception有什么区别&#xff1f; 一句话&#xff1a;不知道。并不能很清晰地描述出个中区别。 当然&#xff0c;曾经也看过Throwable相关的知识&#xff0c;但是&#xff0c;并没有通过源码及注…

Java递归问题

3 递归 3.1 递归基础 递归概述&#xff1a;以编程的角度来看&#xff0c;递归指的是方法定义中调用方法本身的现象递归解决问题的思路&#xff1a; 把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解递归策略只需少量的程序就可描述出解题过程所需要的多次重…

CHAPTER 3 Zabbix Grafana

Zabbix & Grafana3.1 Grafana简介3.2 安装grafana3.3 启动grafana3.4 登录控制台3.5 链接zabbix1.安装zabbix插件2.启用插件3.链接数据源4.导入仪表盘5.创建仪表板6.创建仪表盘7.添加自建监控项8.监控信息3.1 Grafana简介 Grafana是一款开源的数据可视化工具&#xff0c;使…

多商户java版小程序+公众号+h5+app秒杀拼团砍价分销商城源码

三勾多商户商城小程序、支持多端发布&#xff0c;一套代码发布到8个平台&#xff0c;面向开发&#xff0c;方便二次开发 项目介绍 三勾多商户小程序商城基于springbootelement-uiuniapp打造的面向开发的小程序商城&#xff0c;方便二次开发或直接使用&#xff0c;可发布到多端&…

做软文发布需要注意哪些细节?

软文发布是一种有效的网络营销和推广活动&#xff0c;它以媒体等形式把产品信息植入到软文报道或新闻中&#xff0c;进行心理暗示和引导销售&#xff0c;进行正面宣传以及促进销售的新型网络营销方式&#xff0c;它不但能够有效地推行产品宣传、也能有效地提高网络曝光率&#…

【Kafka进阶】-- unclean.leader.election.enable参数的内涵

一、背景近期&#xff0c;我们的kafka 消息队列集群(1.x版本)经过了一次事故。某节点意外宕机&#xff0c;导致 log 文件损坏&#xff0c;重启 kafka 失败&#xff0c;最后导致某个 topic 的分区不可用&#xff0c;本文对此做了简单的分析、解决和复现参考&#xff0c;以此为记…

opencv图像处理

CV模块 基本操作 T1家全叫米TF,拍 图像的IO操作&#xff0c;读取和保存方法在图像上绘制几何图形 怎么获取图像的属性 怎么访问图像的像素&#xff0c;进行通道分离&#xff0c;合并等 怎么实现颜色空间的变换 图像的算术运算 掌握图像的读取和保存方法 # 读取图像 cv.imrea…

Spring Boot集成Quartz实现定时任务的动态创建、启动、暂停、恢复、删除

一、整个 Quartz 的代码流程基本基本如下&#xff1a;首先需要创建我们的任务(Job)&#xff0c;比如取消订单、定时发送短信邮件之类的&#xff0c;这是我们的任务主体&#xff0c;也是写业务逻辑的地方。创建任务调度器(Scheduler)&#xff0c;这是用来调度任务的,主要用于启动…

【Unity细节】RigidBody中Dynamic和Kinematic的区别

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏&#xff1a;unity细节和bug ⭐Dynamic和Kinematic的区别⭐ 文章目录⭐Dynamic和Kinematic的区别⭐&#x1f3…

恰饭近800w播放,官方涨粉5000,B站用户直呼“巅峰制作”!

开年之际&#xff0c;QQ飞车在B站打造了一场「2023QQ飞车手游新春会」&#xff0c;并宣布首款女性机甲、赛车皮肤即将上线&#xff0c;携手玩家一起狂欢。来源-B站17日当晚&#xff0c;QQ飞车官方号在B站直播间举办「2023QQ飞车手游新春会」直播活动&#xff0c;共有11位UP主参…

二十五、Gtk4-多线程分析

1 回顾 1.1 Gnome相关 首先回顾一下GLib&#xff0c;GObject&#xff0c;GIO&#xff0c;Gtk的不同&#xff0c;因为下面会涉及到这些概念里面的函数。 所有这些都是由Gnome项目开发的库&#xff0c;一般都用于Gnome环境相关的应用程序。 Gtk&#xff1a;GUI界面库。GLib&a…

esxi不能识别不兼容网卡解决方案

相信很多网友在安装测试VMWARE Esxi 6.0的时候&#xff0c;总会遇到无法兼容网卡的情况&#xff0c;本人也是遇到了再组装的台式机上测试ESXI 6.0的时候&#xff0c;无法识别REALTEK RTL 8111E的情况。 找了很多网友提供的博客&#xff0c;方法是正确的&#xff0c;但是不够严…

Vue3 中实现关键字高亮的一种思路

前言&#xff1a; 这几天在项目中遇到了需要将用户在搜索框中输入的文字高亮的效果&#xff0c;思考了很久&#xff0c;暂时没有想到更优雅的解决方式&#xff0c;于是采用了最简单的一种思路来实现&#xff0c;特来记录一下。 一. 需求的场景 我接手的这个需求需要和后端搭配&…

搞量化先搞数(下):A股历史行情免费抓取实战

上一节我们学习了如何抓取A股的股票列表,我们成功地将股票列表保存到了本地文件(或数据库)中。那么这一节,我们就来看下如何免费获取A股的历史行情数据。文末附全套代码。 一、寻找提供行情数据的网站 首先我们百度搜索一支股票的名字+行情,看下都哪些网站提供该数据。 …

Docker getting started

系列文章目录 Docker 概述 Docker getting started 文章目录系列文章目录前言一、容器及镜像的概念二、容器化一个应用三、更新应用四、分享应用五、持久化数据存储volume mount 和 bind mount比较Container volumesbind mounts六、跨多容器的应用七、Docker 其它八、Docker 图…

学习 Linux 内核书籍推荐

原文链接&#xff0c;欢迎关注&#xff1a; 你为什么学习 Linux 内核&#xff1f; - CodeAllen的回答 - 知乎 https://www.zhihu.com/question/31369673/answer/2894981254 主要是工作需要&#xff0c;其实对于我自己的工作来说&#xff0c;在Linux开发的具体业务和算法才是重…

2023年PMP考试难不难?

整个考试的考察方向转向还是比较大的&#xff0c;基本上以“价值传递”和“以人为本”这两个出发点来考察项目经理所需要的能力。 1}新版提纲题目数量的变化 总题量从200道减少到180道&#xff0c;所以答题时间上相对变的宽裕一些。考试时间230分钟&#xff0c;中间有十分钟休…

前端状态管理:Vuex、Flux、Redux、MobX概念篇

概念准备 【状态管理模式】 可以借鉴 Vuex 官方文档的解释&#xff1a;什么是“状态管理模式” 状态管理的目标&#xff08;意义&#xff09; 各组件通过数据响应机制对共享状态进行高效的状态更新&#xff0c;说白了就是不同组件对需要共享的数据的变更和同步。 1. Vuex …

学网络运维与安全前景怎么样?

近几年&#xff0c;网络安全问题频频爆发&#xff0c;多数人看不到背后的隐患&#xff0c;但是&#xff0c;企业却因此损失惨重。比如&#xff1a;FaceBook数据泄露2018年上半年&#xff0c;FaceBook 5000万用户数据泄露&#xff0c;导致其市值蒸发360亿美元,品牌遭遇声誉危机。…