文章目录
一、zabbix服务器监控本机
概念:
主机(host): 指被监控的一个设备(服务器,交换机等)
主机群组(hostgroup): 指被监控的一组主机(主要应用在有特别多主机的情况,方便分组区分)
zabbix服务器端默认配置了监控本机,但还需要安装客户端收集工具:zabbix-agent。
这里显示的主机是断开状态
1.将本机服务端设置为监控数据
需安装zabbix-agent1(客户端)
在客户端的配置文件中添加服务端的ip
[root@localhost zabbix]# ls
web zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf
//修改其主机名为server
[root@localhost ~]# hostnamectl set-hostname server
[root@localhost ~]# bash
[root@server ~]# hostname
server
//修改主机的印射文件
[root@localhost zabbix]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.47.137 server
192.168.47.136 agent
[root@localhost zabbix]# vim zabbix_agentd.conf
Hostname=server //将次处150行修改为仅主机
[root@localhost zabbix]# systemctl restart zabbix-agent.service
[root@localhost zabbix]# systemctl enable --now zabbix-agent.service
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /usr/lib/systemd/system/zabbix-agent.service.
完成客户端的监控
2.修改为中文web管理
右上角点一个类似小人的图标 --》 语言选 chinese zh-cn --》 点 update后换成中文件界面
查看能否使用本服务的中文
可见该版本不支持翻译成中文,需要进一步下载
监控完成后想要玩一下zabbix是如何监控的,但是发现该监控软件对于大部分英语基础不好的人来说是不友好的
于是动用浏览器的翻译试试!
但是会存在一些翻译误区
服务端重新刷新下软件包
[root@localhost zabbix]# yum -y reinstall glibc-common
Last metadata expiration check: 0:14:51 ago on Fri 02 Sep 2022 03:56:39 PM CST.
Reinstalled:
glibc-common-2.28-164.el8.x86_64
Complete!
安装中文版软件包
[root@localhost zabbix]# yum -y install langpacks-zh_CN.noarch
Last metadata expiration check: 0:15:52 ago on Fri 02 Sep 2022 03:56:39 PM CST.
Installed:
glibc-langpack-zh-2.28-164.el8.x86_64 langpacks-zh_CN-1.0-12.el8.noarch
Complete!
//此时就有中文字符了
[root@localhost zabbix]# locale -a
C
C.utf8
en_AG
en_AU
en_AU.utf8
en_BW
en_BW.utf8
en_CA
en_CA.utf8
en_DK
en_DK.utf8
en_GB
en_GB.iso885915
en_GB.utf8
en_HK
en_HK.utf8
en_IE
en_IE@euro
en_IE.utf8
刷新下web界面
此时中文翻译界面已是完整的
二、服务端监控远程客户端
1.agent上安装zabbix-agent
设置客户端
[root@my ~]# hostnamectl set-hostname agent
[root@my ~]# bash
//指定服务端ip将其印射主机传输
[root@agent ~]# scp root@192.168.47.137:/etc/hosts /etc/hosts
The authenticity of host '192.168.47.137 (192.168.47.137)' can't be established.
ECDSA key fingerprint is SHA256:cdmo9f87/nd53T0zrSlRNvEDKskgEb2tSwNZINSW84U.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.47.137' (ECDSA) to the list of known hosts.
root@192.168.47.137's password:
hosts 100% 201 83.4KB/s 00:00
[root@agent ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.47.137 server
192.168.47.136 agent
配置yum仓库,下载客户端服务
[root@agent yum.repos.d]# ls
CentOS-Base.repo epel-modular.repo epel-testing-modular.repo zabbix.repo
docker-ce.repo epel.repo epel-testing.repo
[root@agent yum.repos.d]# cat zabbix.repo
[aliyun]
name=aliyun
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/8/x86_64/
enable=1
gpgcheck=0
[root@agent yum.repos.d]# yum install -y zabbix-agent
Last metadata expiration check: 0:01:30 ago on Fri 02 Sep 2022 04:57:55 PM CST.
Package zabbix-agent-4.4.10-1.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[root@agent yum.repos.d]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.47.137 //指定服务端主机
ServerActive=192.168.47.137
Hostname=agent
[root@agent yum.repos.d]# systemctl restart zabbix-agent.service
[root@agent yum.repos.d]# systemctl enable --now zabbix-agent.service
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /usr/lib/systemd/system/zabbix-agent.service.
2.web界面配置客户端监控
接下来利用服务端的zabbix来监控客户端数据
添加模板后更新
其中里面包含了很多的模板
查看内存使用情况
可见这是因为使用了中文模式才会出现的
3.解决图形中文乱码问题
这时去windos系统中查找
1、找到windows下的简体 楷体 常规字体
C:\Windows\Fonts
2、将简体 楷体 常规字体文件复制出来
3、上传到Linux系统中的/usr/share/zabbix/assets/fonts
4、替换原先的字体文件即可
mv simkai.ttf graphfont.ttf
到服务端修改
[root@localhost zabbix]# cd /usr/share/zabbix/assets/fonts/
[root@localhost fonts]# ls
graphfont.ttf //支持图形化语言的功能
该服务下载后可以将windos包直接上传到linux
[root@localhost fonts]# yum -y install lrzsz
[root@localhost fonts]# ls
graphfont.ttf simkai.ttf
[root@localhost fonts]# mv simkai.ttf graphfont.ttf
mv: overwrite 'graphfont.ttf'? y //将其覆盖识别
[root@localhost fonts]# ls
graphfont.ttf
三、模板
1.模板介绍与作用
模板(template): 是包括监控项,应用集,触发器,图形,聚合图形,自动发现,web监测等的一组实体。
使用模板可以方便应用到主机,更改模板也会将更改应用到所有链接的主机。
例: 比如我要把监控nginx相关的全部做成一个模板,有100台服务器需要监控nginx,我只需要链接模板
到这100台机器即可。以后需要修改,只需要修改模板,这100台就会被同时修改。
添加属于自己的模板
这里由于是生成自己的模板,直接删除并清理
2.创建属于自己的模板
添加
练习: 请将agent1其它模板都清空,只保留刚刚自定义的 Template test 模板。
操作的最终结果如下:
四、监控项与应用集
监控项(item): 是从主机收集的数据信息,代表收集数据或监控的一个最小单位。
比如cpu1分钟内平均负载,内存空闲值,磁盘使用率等等都可以做为监控项,可以说监控项有无限种可能。
应用集(applications): 代表多个监控项目合成的组。
1.创建其中的监控项数据
创建监控项的方式
创建监控项的方法有2种:
- 在某一台被监控机上创建(如下图所示),这样创建的监控项只对此监控机生效。
- 在模板里创建(如下图所示), 这样创建的监控项对所有使用此模板的主机生效(推荐方式)。
2.创建自带键值监控项
创建监控项中最核心的概念就是键值(key)。键值就看作是开发好的用于收集数据的命令,主要有两种:
zabbix自带的键值(太多了,不用特意去记忆)
自定义开发的键值(用linux基础命令就可以开发)
案例: 使用zabbix自带键值创建监控项实现监控cpu的1分钟内平均负载
键值写法可参考下图:
可见已多了两项数据
查看监控项的数据
给cpu添加数据
在创建一个监控项
添加第一个
二个
添加成功
五、创建自定义键值监控项
以监控登录用户数为例,自带键值中有 system.users.num 这个键值,但我们不使用它,使用自定义的
键值来实现。
1.在被监控端agent1上操作
首先在agent1多打开几个终端,模拟多个登录用户,然后使用 who |wc -l 查询
[root@agent ~]# who | wc -l
6
[root@agent ~]#
然后在agent1上,定义UserParameter
[root@agent1 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=loglty,who | wc -l
loglty是我自定义的一个键值名称(会在创建监控项时用到),后面的who |wc -l就要被监控的
命令
重启zabbix-agent服务使之生效
[root@agent ~]# systemctl restart zabbix-agent.service
2. 在zabbix监控端上操作
在zabbix服务器安装 zabbix-get 工具,可以远程测试能否通过自定义的键值得到数据
[root@server ~]# yum install zabbix-get
Last metadata expiration check: 0:09:17 ago on Sat 03 Sep 2022 11:00:30 AM CST.
Installed:
zabbix-get-4.4.10-1.el8.x86_64
Complete!
[root@server ~]# zabbix_get -s 192.168.47.136 -k loglty
6
说明:
-s后接agent端的IP
-k接agent端自定义的键值
3.在web管理界面创建监控项
还是在自定义模板里创建
点击添加后启动成功
六、图形与聚合图形
监控项创建好了, 但是它监控收集的数据在哪里看呢? 答案就是图形
创建图形显示监控项数据
1.在模板里创建图形
配置图形对应监控项
可选择颜色后添加
添加用户图形
2.聚合图形
聚合图形: 就是把多个重要常用的图形整合一起来显示,方便查看.
假设需要经常查看agent1的cpu负载与登录用户数这两张图,我们可以将其聚合到一起做成一张聚合图形
1, 创建聚合图形
保存
2, 编辑仪表板并查看
补充: 也可以在模板里创建聚合图形,这样所有添加模板的主机都能有此聚合图形了
七、触发器
虽然我们可以通过图形查看到监控的数据,但我们不可能一直盯着图形的变化。
所以需要定义监控项到达一个临界值(阈值)或者满足一个条件,就会发生状态变化的通知。
定义触发器(trigger)就是定义这个临界值(阈值)或条件.监控项有无限种可能,触发器也一样有无限种可能。如:
cpu负载值大于某个值则通知
登录用户数大于某个值则通知
内存空闲率小于某个值则通知
磁盘使用率大于某个值则通知
主机名被修改则通知
等等,主要还是看需求。
1.创建登录用户数过多的触发器
1, 在模板里创建触发器
这里为大于
2.验证触发器效果
先在agent1上再多打开几个终端,将登录用户数控制在20个以上(操作过程省略)
然后通过下图查看触发器通知
[root@agent ~]# who | wc -l
6
相的应图形也会报警