2--Zabbix客户端安装 ; 制作模板
目录
一、 Zabbix 监控基础架构
zabbix-agent(数据采集)—>zabbix-server(数据分析|报警)—> 数据库(数据存储)<—zabbix web(数据展示)
二、 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端添加
6).克隆监控项
由于TCP有多种状态,需要添加多个监控项,我们可以使用克隆快速达到创建的效果
其他的状态依次添加即可
7).创建图形
8).查看图形
9).设置触发器