二、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⊙)!!!