zabbix实践

修改zabbix语言

 主页的仪表盘是可以编辑的,随意拖动修改大小的

 部署zabbix客户端

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

  1. 完成的插件框架支持,可扩张服务及应用监控

  2. 支持灵活的采集周期调度

  3. 更高效的数据采集及传输

  4. 可完全替换先有的 agent

特性较多,建议使用。

Agent2 默认使用的 10050 端口,与 Zabbix Agent 端口一样,不修改端口情况下,同一台机器不能同时启动 Zabbix Agent 与 Zabbix Agent2。

yum安装

# 信息
10.0.1.51
zbz-agent01

# yum源配置,防火墙关闭
1.获取zabbix官方源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
 
# 这一步很重要
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

# 注意时间正确
yum install ntpdate -y
ntpdate -u ntp.aliyun.com

mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  安装步骤

1.安装agent2
yum install zabbix-agent2 -y

2.配置文件了解
默认配置文件为 /etc/zabbix/zabbix_agent2.conf

默认二进制文件为 /usr/sbin/zabbix_agent2

3.启动agent2且开机自启
systemctl enable --now zabbix-agent2

4.检查端口
[root@zbz-agent01 ~]# netstat -tunlp|grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      1236/zabbix_agent2

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

  修改agent2配置文件,修改如下,填写zabbix-server主机ip和主机名

[root@zbz-agent01 ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=10.0.1.50
ServerActive=10.0.1.50
Hostname=zbz-agent01
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

 Server 和 ServerActive 配置为 zabibx server 或 zabbix proxy 地址,Hostname 配置为主机名即可。

  Agent2 没有组件依赖,可直接拷贝编译好的二进制文件和配置文件在其他主机上运行即可。

改了配置文件,重启agent2

[root@zbz-agent01 ~]# systemctl restart zabbix-agent2

  

检测server-client连通性

[root@zabbix-server01 alternatives]# yum install zabbix-get -y

[root@zabbix-server01 alternatives]# zabbix_get -s '10.0.1.51' -p 10050 -k "agent.ping"
1

[root@zabbix-server01 alternatives]# zabbix_get -s '10.0.1.51' -p 10050 -k "system.hostname"
zbz-agent01

  

zabbix-server监控了自己

 服务器可视化指标

点击对应主机的【图像】即可查看

 解决zabbix乱码问题

服务器端需要安装字体

[root@zabbix-server01 ~]# yum -y install wqy-microhei-fonts
[root@zabbix-server01 ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
[root@zabbix-server01 ~]#

此时zabbix已然正确展示中文数据

  

 添加agent主机

选择创建主机

 添加监控模板

 添加主机

 添加完成

 查看监控内容

 可视化监控agent的cpu动态

在agent01机器上,执行程序,消耗cpu
利用shell或者python皆可

  

 自定义监控(制作模板)

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

制作模板(监控登录人数)

服务器不希望有太多人在操作,除了管理员以外的人,人数超了,我就怀疑有问题,需要看看是谁,防止他乱操作服务器,给我们运维背锅呀。

自定义key

# zabbix自带的key
[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k "system.uname"
Linux zbz-agent01 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64
[root@zabbix-server01 ~]#
[root@zabbix-server01 ~]#
[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k "system.hostname"
zbz-agent01

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

# 未登记,自定义的key,一样,位置的指标
[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k "login.user"
ZBX_NOTSUPPORTED: Unknown metric login.user

  

查看模板监控项

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

例如 ,检测客户端存活
[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k "agent.ping"
1

# 检根文件系统空间大小
[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k "vfs.fs.size[/,used]"
1217146880
[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k "vfs.fs.size[/,total]"
18238930944

  

自定义监控语法

当zabbix自带模板,以及监控项,无法满足我们需求,我们就可以自定义监控项

自定义监控其实就是添加监控的key,监控的命令

# 首先显示用户登录命令
who
who |wc -l  # 显示登录人数

 需要添加监控项配置文件,路径

/etc/zabbix/zabbix_agent2.d/

# zabbix配置文件,大多数软件配置都会使用include形式来优化配置文件
[root@zbz-agent01 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-agent01 zabbix_agent2.d]# cat /etc/zabbix/zabbix_agent2.d/userparameter_login.conf
UserParameter=login.user,who|wc -l
UserParameter=login.user2,who|wc -l

# 重启agent
systemctl restart zabbix-agent2

  在服务端zabbix,用命令检测自定义的key

[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k "login.user"
1

[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k "login.user"
2

# 客户端
[root@zbz-agent01 zabbix_agent2.d]# who
root     pts/0        2020-08-11 01:39 (10.0.1.1)
root     pts/1        2020-08-11 09:52 (10.0.1.1)

  

zabbix-server注册模板(页面操作)

上述是在命令行添加配置,下面就是页面操作了

整个流程是

  1. 创建模板

  2. 创建应用集:对监控项分类

  3. 创建监控项:定义item,监控的内容

  4. 创建触发器:当监控项获取到值,且达到触发条件就会告警

  5. 创建图形

  6. 主机进行模板关联

创建模板

 找到自己添加的模板

 创建应用集

应用集作用好比文件夹分类一样,作用是给监控项分类。

 添加监控项

 创建触发器

创建触发器,当监控项获取的值,到达一定条件,就触发报警

 

 创建图形

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

 主机关联模板

上述所有配置都是吧登录用户监控的模板添加好了,以及图形展示,但是还未绑定具体的服务器,那检测谁呢是不是

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

查看最新数据-图形

查看zabbix监控中的用户登录数

我们可以多登录些用户,超过3个,查看是否告警

[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k "login.user"
4

  

最新仪表盘数据

 图形监控

 确认问题

管理员可以在线确认该问题,修改描述,也可以修复问题,如踢出多余登录的用户等。

如果想要手动关闭该问题,可以在 触发器 里设置,允许手动关闭该问题。

原文地址:https://www.cnblogs.com/abc1234567/p/14319865.html