第五章·监控系统-zabbix自动化监控

2022-09-26 15:06:33 浏览数 (1)

  • Zabbix自动发现(被动)
  • Zabbix自动注册(主动)
  • Zabbix主被模式区别
  • Zabbix主被模式实践

-曾老湿, 江湖人称曾老大。


-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。


Zabbix自动发现(被动)

网络发现官方手册

概述

Zabbix提供了有效和非常灵活的网络自动发现功能。

当网络发现正确设置后你可以: 1.加快Zabbix部署 2.简化管理 3.无需过多管理就能在快速变化的环境中使用Zabbix


Zabbix网络发现基于以下信息: 1.IP范围 2.可用的外部服务(FTP,SSH,WEB,POP3,IMAP,TCP等) 3.来自 zabbix agent 的信息(仅支持未加密模式) 4.来自 snmp agent 的信息


不支持: 1.发现网络拓扑

网络发现由两个阶段组成:发现(discovery)和动作(actions)。

1.单击配置->自动发现->启动默认的Local network

2.配置规则

3.单击配置->动作->事件源->自动发现->启用动作

4.修改动作规则

5.修改操作细节

默认标题 自动发现主机IP:{DISCOVERY.DEVICE.IPADDRESS} 消息内容 客户端名称: {DISCOVERY.SERVICE.NAME} 客户端端口: {DISCOVERY.SERVICE.PORT} 客户端状态: {DISCOVERY.SERVICE.STATUS} 操作动作 添加主机,添加主机组,链接模板,发送邮件,等等

6.主机已扫描加入节点 web03是/etc/hosts中定义的

7.新增一台全新的主机

代码语言:javascript复制
[root@web02 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.12-1.el7.x86_64.rpm
[root@web02 ~]# grep "^Server" /etc/zabbix/zabbix_agentd.conf 
Server=10.0.0.61
[root@web02 ~]# systemctl restart zabbix-agent

8.如果出现discover busy告警则需要优化

代码语言:javascript复制
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
StartDiscoverers=20

9.zabbix网络发现总结

代码语言:javascript复制
1.网络发现速度太慢
2.轮询扫描网段
3.如果网段中存在不通的主机,会出现卡顿并且造成哦后续新增的服务器无法加入节点
4.会导致server性能变缓慢,影响server性能

Zabbix自动注册(主动)

Zabbix agent可以自动注册到服务器进行监控。这种方式无需在服务器上手动配置它们。自动注册官方手册

1.配置 Zabbix-Agent指定 Zabbix-Server

代码语言:javascript复制
[root@web03 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.71          #被动模式
ServerActive=172.16.1.71    #主动模式
Hostname=web03              #指定主机名

#重载服务
[root@web03 ~]# systemctl restart zabbix-agent

注意: 如果不指定Hostname,则服务器将使用agent的系统主机名命名主机

2.单击配置->动作,选择自动注册为事件源,然后单击创建操作

3.配置动作规则

4.配置操作规则

5.等待自动注册

6.等待邮件通知

7.可以通过主机名称来区分不同的主机,例如web,db,这样可以根据不同的主机配置不同的模板。

第一个动作如下

名称:web服务主机自动注册 主机名称似 web 操作:链接到模板:Template Nginx Status

第二个动作如下

名称:db服务主机自动注册 主机名称似 db 操作:链接到模板:Template DB MySQL

如无法通过主机名称进行区分各个主机,建议使用"主机元数据"进行区分各个主机,详情参考官方文档

Zabbix主被模式区别

1.主动模式与被动模式区别 1) 被动模式 (Zabbix-server轮询检测zabbix-agent)2) 主动模式 (Zabbix-agent主动上报给Zabbix-server)

2.主动模式与被被动模式选择如何选择 1.当Queue里有大量延迟的监控项2.当监控主机超过300 , 建议使用主动模式。

Zabbix主被模式实践

1.Zabbix被动模式演示取值: Zabbix默认是被动模式,被动模式如果需要获取100个监控项的值, 需要Server向Agent获取100次。(注意zabbix图中的时间)

2.Zabbix主动模式演示取值: Zabbix主动模式如果需要获取100个监控项的值,Server会将要获取监控项的值生成一个清单发送给Agent,Agent采集完成后会一次将所有数据发送给Server。

3.如何将Zabbix调整为主动模式 1) 修改/etc/zabbix/zabbix_agent.conf配置文件

代码语言:javascript复制
[root@web03 ~]# vim /etc/zabbix/zabbix_agentd.conf
ServerActive=172.16.1.71
Hostname=   #填写主机名称

2) Zabbix需要更新模板为 Active 1.克隆一份被动模式的模板 2.点击克隆后的模板->选中所有监控项->批量修改->修改为主动模式 3.主机取消链接并清理被动模板,重新关联新模板即可。

0 人点赞