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

您所在的位置:网站首页 snmpwalk指定端口 Zabbix 3.0 从入门到精通(zabbix使用详解)

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

2023-02-19 17:55| 来源: 网络整理| 查看: 265

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

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

注意:在导入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> /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 主机

主机名称: 要与主机名相同,这是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=, 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 切换到zabbix脚本目录(如何查看zabbix脚本目录): cd /usr/local/zabbix-server/share/zabbix/alertscripts #查看zabbix脚本目录 vi /etc/zabbix/zabbix\_server.conf

查看AlertScriptsPath

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

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

验证告警集成

产生新的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 应用服务监控

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

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

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

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

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

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

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

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

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

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

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

nginx,pptp ntp 端口udp 123

监控Nginx的7种连接状态。

自定义监控

5.3.3 监控服务通用方法

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

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

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

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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3