文章目录
👹 关于作者
大家好,我是秋意临。
😈 CSDN作者主页
- 😎 博客主页
👿 简介
- 👻 普通本科生在读
- 在校期间参与众多计算机相关比赛,如:🌟 “省赛”、“国赛”,斩获多项奖项荣誉证书
- 🔥 各个平台,秋意临 账号创作者
- 🔥 云社区 创建者
点赞、收藏+关注下次不迷路!。
欢迎加入云社区
Zabbix 系列文章目录
【Zabbix_6.x 第一章】概述、功能、术语、架构
【Zabbix_6.x 第二章】部署新版 Zabbix-6.0,你该了解了解
【Zabbix_6.x 第三章】 监控任意主机
第三章 监控任意主机
一、解决第二章登录 zabbix_ui 后的问题
zabbix_server 端操作
解决第二章登录 zabbix_ui 后的问题,如下图所示:
安装 zabbix_agent2 客户端
在 zabbix_server 主机端,安装 zabbix_agent2 客户端即可
1、配置清华的 zabbix yum源
cat > /etc/yum.repos.d/zabbix.repo << EOF
[zabbix]
name=zabbix
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/
gpgcheck=0
enabled=1
EOF
2、安装zabbix-agent2
yum install zabbix-agent2 -y
3、修改配置文件里的 Hostname
$ grep '^[a-Z]' /etc/zabbix/zabbix_agent2.conf -n
13:PidFile=/run/zabbix/zabbix_agent2.pid
32:LogFile=/var/log/zabbix/zabbix_agent2.log
43:LogFileSize=0
80:Server=127.0.0.1
133:ServerActive=127.0.0.1
144:Hostname=zabbix_server01
281:Include=/etc/zabbix/zabbix_agent2.d/*.conf
302:PluginSocket=/run/zabbix/agent.plugin.sock
345:ControlSocket=/run/zabbix/agent.sock
490:Include=./zabbix_agent2.d/plugins.d/*.conf
4、启动
systemctl enable zabbix-agent2
systemctl start zabbix-agent2
netstat -ntplu|grep 10050
5、启动 zabbix-agent2 后,到 ui 页面查看,可以看到问题已经解决了
- 注意:玩 zabbix 监控需要有耐心,如果发现问题还存在,可以等一会,因为 zabbix_server 的默认检测数据的时间比较久。如果等了很久问题还是存在,那么可以重启 zabbix-server 服务。
6、查看主机中数据
点击过滤器中的还剩5分钟,这是翻译错误,其实是前5分钟
往下面就可以看见,图形化展示目前监控的数据,使用的默认模板,监控项很多
这里存在中文乱码问题,可以使用 win10 中的字体 如:微软雅黑,或其他字体 ,替换掉zabbix 中默认的字体即可
解决中文乱码问题
1、首先找到 win10 下的字体,上传到 web 页面的工作目录的 fonts 下即可
其他字体也可以
win10 字体路径:C:\Windows\Fonts
使用 msyhl.ttc 替换掉 zabbix_ui 默认字体
注意:替换时字体名称还是
DejaVuSans.ttf
mv msyhl.ttc /usr/share/nginx/html/assets/fonts
mv msyhl.ttc DejaVuSans.ttf
2、刷新 ui 页面,即可看到乱码问题解决
二、Zabbix 服务配置说明
1、zabbix_server 服务端配置
文件和目录 | 说明 |
---|---|
/etc/zabbix/zabbix_server.conf | 配置文件 |
/var/log/zabbix/zabbix_server.log | 日志文件,默认在 /tmp 目录下 |
/usr/lib/systemd/system/zabbix-server.service | systemctl 管理文件,yum、rpm 安装自带 |
/usr/local/share/zabbix/alertscripts/ | 用于实现告警脚本 |
2、zabbix_agent2 客户端配置
文件和目录 | 说明 |
---|---|
/etc/zabbix/zabbix_agent2.conf | 配置文件 |
/etc/zabbix/zabbix_agent2.d | 子配置文件目录,用于自定义监控 |
/etc/zabbix/zabbix_agent2.d/plugins.d/ | 用于自定义监控 |
/var/log/zabbix/zabbix_agent2.log | 日志文件 |
注意:/etc/zabbix/zabbix_agent2.conf 配置文件中引入了两个 Include ,所以上面两个地方定义了自定义监控。
[root@zabbix_server01 system]# grep "^Include" /etc/zabbix/zabbix_agent2.conf -n
281:Include=/etc/zabbix/zabbix_agent2.d/*.conf
490:Include=./zabbix_agent2.d/plugins.d/*.conf
三、监控任意主机
监控流程
- 安装客户端及修改配置,测试
- ui 页面添加主机,关联模板
- 调试
安装配置客户端
注意:这次在 zabbix_agent01 主机节点执行
1、安装 zabbix_agent2 客户端
# 清华 zabbix 源
cat > /etc/yum.repos.d/zabbix.repo << EOF
[zabbix]
name=zabbix
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/
gpgcheck=0
enabled=1
EOF
# 安装zabbix-agent2
yum install zabbix-agent2 -y
2、配置 zabbix_agent2 客户端
[root@zabbix_agent01 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agent2.conf -n
13:PidFile=/run/zabbix/zabbix_agent2.pid
32:LogFile=/var/log/zabbix/zabbix_agent2.log
43:LogFileSize=0
80:Server=127.0.0.1
133:ServerActive=127.0.0.1
144:Hostname=Zabbix server
281:Include=/etc/zabbix/zabbix_agent2.d/*.conf
302:PluginSocket=/run/zabbix/agent.plugin.sock
345:ControlSocket=/run/zabbix/agent.sock
490:Include=./zabbix_agent2.d/plugins.d/*.conf
3、启动
systemctl enable zabbix-agent2 && systemctl start zabbix-agent2
netstat -ntplu|grep 10050
ui 页面添加主机
1、创建主机
2、填写主机信息
3、耐心等待变绿
如果等太久也可以,重启 zabbix-server 服务
systemctl restart zabbix-server
四、自定义主机-弥补监控死角
Linux by Zabbix agent 模板的监控项很多,如:cpu、磁盘、内存,swap、网卡、进程、用户登录数量等等
但是我们不需要这些,是不是应该可以根据自己业务需求来自定义监控项呢?答案是:肯定的
自定义监控全流程
客户端
流程 | 描述 |
---|---|
Linux终端:通过命令、shell脚本取出监控的值 | |
Linux终端:根据Zabbix要求按照格式,写配置,创建键值对 | 键值对用于获取客户端数据 |
Linux终端:重启客户端,测试配置键值对是否正确可用 | zabbix_agent2 |
1、客户端安装 Nginx
yum install -y nginx
systemctl enable nginx && systemctl start nginx
netstat -ntplu | grep 80
2、通过命令、脚本取出对应的值
netstat -ntplu | grep 80 | wc -l
3、创建键值
UserParameter=key,cmd
- UserParameter:固定写法
- key:表示键值对名字,最好以 单词+”.“(点)
- cmd:表示命令或脚本
cat > /etc/zabbix/zabbix_agent2.d/nginx.conf << EOF
UserParameter=check.nginx,netstat -ntplu | grep 80 | wc -l
EOF
systemctl restart zabbix-agent2
zabbix_agent2 -t check.nginx
check.nginx [s|1]
s:表示字节
1:表示我们命令或脚本返回的结果
服务端
流程 | 描述 |
---|---|
Linux终端:测试配置键值对是否正确可用 | zabbix_get |
ui 页面:键值与监控项关联 | |
ui 页面:测试 | |
ui 页面:图形 | |
ui 页面:触发器 | 判断是否发出报警,后根据情况采取某动作 |
1、安装 zabbix-get
yum install -y zabbix-get
$ zabbix_get -h
Example(s): # 示例
zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"
# 这里我们发现除了有我们要的结果 1 以外,还有两行字符串说:您必须是root用户才能看到所有内容,因为最初我们第二章的zabbix用户默认shell是/sbin/nologin,所以这里我们需要给netstat命令添加 s 权限,可以对可执行文件升级权限
$ zabbix_get -s 192.168.200.6 -p 10050 -k check.nginx
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
1
chmod +s /bin/netstat # agent2 客户端执行
# 再次测试
$ zabbix_get -s 192.168.200.6 -p 10050 -k check.nginx
1
2、ui 页面创建监控项
3、监控测试
测试结果,后点击添加
4、查看图形
查看是否添加监控项
查看最新数据,查看图形
可以看到图形
这样我们的监控项就算是完成了
后面可以根据监控项创建触发器,下一章继续!
✊ 最后
👏 我是秋意临,欢迎大家一键三连、加入云社区
👋 我们下期再见(⊙o⊙)!!!