2--Zabbix客户端安装 ; 制作模板

一、 Zabbix 监控基础架构

zabbix-agent(数据采集)—>zabbix-server(数据分析|报警)—> 数据库(数据存储)<—zabbix web(数据展示)

img

二、 zabbix 快速监控主机(客户端安装)

zabbix5.0版本推出了使用go语言重写的agent2,也是5.0版本新特性,agent2有如下特性:

  • 完成的插件框架支持,可扩张服务及应用监控
  • 支持灵活的采集周期调度
  • 更高效的数据采集及传输
  • 可完全替换先有的agent
  • ............

agent2默认使用的10050端口,与zabbix agent端口一样,不修改端口情况下,同一台机器不能同时启动zabbix agent 与 zabbix agent2

1、两台客户端安装步骤

# 0、下载epel源
[root@zabbix01 ~]# yum install epel-release -y

# 1 、获取zabbix官方源
[root@zabbix01 ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

# 2、修改源
[root@zabbix01 ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
[root@zabbix01 ~]# yum clean all && yum makecache

#3、注意时间正确
[root@zbz-agent1 ~]# yum install -y ntpdate
[root@zbz-agent1 ~]# ntpdate -u ntp.aliyun.com
[root@zbz-agent1 ~]# mv /etc/localtime{,.bak}      # 统一时区
[root@zbz-agent1 ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

#4、安装agent2
[root@zbz-agent1 ~]# yum install zabbix-agent2 -y

#5、查看配置文件
[root@zbz-agent1 ~]# cat /etc/zabbix/zabbix_agent2.conf  默认配置文件
[root@zbz-agent1 ~]# cat /usr/sbin/zabbix_agent2    默认二进制文件

#6、启动agent2且开机自启
[root@zbz-agent1 ~]# systemctl enable --now zabbix-agent2

#7、检查端口
[root@zbz-agent1 ~]#  netstat -tunlp|grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      1876/zabbix_agent2 

#8、查看systemctl管理的单元文件
[root@zbz-agent1 ~]# cat /lib/systemd/system/zabbix-agent2.service 

#9、修改agent2配置文件,修改如下,填写zabbi-server主机ip和主机名
[root@zbz-agent1 ~]# vim /etc/zabbix/zabbix_agent2.conf 
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.15.61    # 改成服务端地址ip
ServerActive=192.168.15.61  #同上
Hostname=zbz-agent1     # 改成本台机器的主机名
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

#10、重启agent2
[root@zbz-agent1 ~]# systemctl restart zabbix-agent2

2、检测server-client连通性

服务端

# 在服务端上通过命令,主动获取数据
[root@zabbix ~]#  yum install zabbix-get -y

# 命令检测服务端是否能连接上客户端
[root@zabbix ~]# zabbix_get -s '192.168.15.8' -p 10050 -k "agent.ping"
1
[root@zabbix ~]# zabbix_get -s '192.168.15.8' -p 10050 -k "system.hostname"
zbz-agent1

3、zabbix-web界面,添加主机

三、 自定义监控内容(制作模板)

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

1.项目需求

监控当前有几个用户是登录状态
需求:限制登录人数不超过3个,超过3个就报警

自定义key

# zabbix自带的key
[root@zabbix ~]# zabbix_get -s '192.168.15.8' -p 10050 -k "system.uname"
Linux zbz-agent1 3.10.0-1160.31.1.el7.x86_64 #1 SMP Thu Jun 10 13:32:12 UTC 2021 x86_64
[root@zabbix ~]# zabbix_get -s '192.168.15.8' -p 10050 -k "system.hostname"
zbz-agent1

#若是写错了key,则报错,未知的指标
[root@zabbix ~]# zabbix_get -s '192.168.15.8' -p 10050 -k "system.hostname1"
ZBX_NOTSUPPORTED: Unknown metric system.hostname1

查看模板-监控项

监控项里的【键值】
就是zabbix-get 使用的key

如。检测文件系统空间大小
[root@zabbix ~]# zabbix_get -s 192.168.15.8 -p 10050 -k "vfs.fs.size[/,used]"
3215724544

2.自定义监控项

# 1.显示登录人数的命令
[root@zbz-agent1 ~]# who |wc -l 
1

# 手动创建zabbix的配置文件,用于自定义key
需要添加监控项配置文件,路径    /etc/zabbix/zabbix_agent2.d/

# zabbix配置文件,大多数软件配置都会使用include形式来优化配置文件
[root@zbz-agent1 zabbix_agent2.d]# grep -i '^include' /etc/zabbix/zabbix_agent2.conf
Include=/etc/zabbix/zabbix_agent2.d/*.conf

#自定义的配置文件,语法是
UserParameter=<key>,<shell command>
UserParameter=login-user,who|wc -l
UserParameter=login-user,/bin/sh /server/scripts/login.sh

#要注意的是key名要唯一,可以写入多个key
[root@zbz-agent1 zabbix_agent2.d]# vim /etc/zabbix/zabbix_agent2.d/userparameter_login.conf
UserParameter=login.user,who|wc -l

#重启agent
[root@zbz-agent1 zabbix_agent2.d]# systemctl restart zabbix-agent2

#在服务端,用命令检测自定义的key
[root@zabbix ~]# zabbix_get -s 192.168.15.8 -p 10050 -k "login.user"
1

[root@zabbix ~]# zabbix_get -s 192.168.15.8 -p 10050 -k "login.user"
2     # 再登一个

#客户端
[root@zbz-agent1 ~]# who
root     pts/0        2021-08-02 16:08 (192.168.15.1)
root     pts/1        2021-08-02 18:50 (192.168.15.1)

3.服务端注册模板(页面操作)

整个流程是:

  • 创建模板
  • 创建应用集:对监控项分类
  • 创建监控项:定义item,监控的内容
  • 创建触发器:当监控项获取到值,且达到触发条件就会告警
  • 创建图形
  • 主机进行模板关联

4.需求:监控TCP11种状态集

1).命令行实现

[root@web01 ~]# netstat -ant|grep -c TIME_WAIT
55
[root@web01 ~]# netstat -ant|grep -c LISTEN
12

[root@web01 ~]# netstat -tan|awk '$1~/tcp/{print $NF}'|sort|uniq -c|sort -nr
     41 TIME_WAIT
      6 LISTEN
      2 ESTABLISHED

3).编写zabbix监控文件(传参形式)

[root@web01 ~]# cat /etc/zabbix/zabbix_agentd.d/tcp_status.conf 
UserParameter=tcp_state[*],netstat -ant|grep -c $1
root@web01 ~]# systemctl restart zabbix-agent.service

4).server端进行测试

[root@m01 ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@m01 ~]# yum install zabbix-get.x86_64 -y 
[root@m01 ~]# zabbix_get -s 10.0.1.7 -k tcp_state[TIME_WAIT]
51
[root@m01 ~]# zabbix_get -s 10.0.1.7 -k tcp_state[LISTEN]   
12

5).web端添加

img

img

6).克隆监控项

由于TCP有多种状态,需要添加多个监控项,我们可以使用克隆快速达到创建的效果

img

img
img

其他的状态依次添加即可

7).创建图形

img

8).查看图形

img

9).设置触发器

img

img
img

img

posted @ 2021-08-03 10:08  小绵  阅读(462)  评论(0编辑  收藏  举报