来源是 觅安教育 大家有兴趣可以去哔哩哔哩搜搜。
Open-falcon是由小米公司开源
比如windows,linux,unix,openBSD,AIX,solaris,Mac等操作系统,都可以安装
Zabbx客户端占用的系统资源很少。可以获取CPU,内存。网卡。磁盘,目志等信息
通过SNMP不仅仅可以监控网络设备,也可以监控打印机。存储,UPS
基本上只要联网的设备都可以通过SNMP监控
支持通过IPMI酸取硬件的温度。风扇。硬盘。电源等
IPMI(智能平合管理接口)是一个开放的硬件管理接口标准。
通过ipmi不仅可以获取监控数据,还可以管理硬件设备,重启,关机,获取硬件日志等等,
有的服务不支持客户端安装。同时也不支持SNMP
这类服务我们可以通过Zabbx自带的检测进行监控
支持TCP,ICMP,SSH,Telnet检测方式
Zabb安特自定义监控。通过shell,python,rulby,perl,powershll 任何可执行的脚本收集监控数据,
默认Zabbix提供URL监控,可以使用该功能监控线上的业务是否正常。异常响应或者没有四配的关键字及时告警
比如监控到Nginx服务宕了。那么最先要做的不是查看他为什么宕了,而是要快速启动它。让他继续提供服务
Zabbix支持8种运算符。29个函数可以住意组合使用。完全可以满足我们的告警阀值设置需求,
一般的监控系统都是监控数据达到了设定的阀值才会触发告警操作。Zabbix同样支持该设置
但Zabbix更注重故障预警,就是在故障发生前通知相关负责人或者进行相关操作
这样就可以有效避免故障的发生。Zalbbx主要通过趋势分析来判断数据未来的走势
若趋势异常则会触发告警操作
Zabbx还支持和历史数据进行对比分析,如和上周的数据对此分析
如果有异常同样触发告警
线上的监控数据不一定是稳定的。很多时候是有波动的。面对这种情况,一般是取一段时间的平均值作为告警的值。或者一段时间内触发了阈值的次数,虽然上面的办法可以降低告警数量。提高有效性。但是以告警的及时性来换取的,Zabbx可以通过波动范围来解决。就是说只要你的数据在这个范围内波动,那么就是正常情况。超过这个范围才会触发告警
可以发送消息通知负责人。邮件。短信。电话。微信。钉钉你想到的都可以
消息通知这只是最基本的功能。Zabbix还可以在告警触发时执行命令或者脚本
这么做的主要目的就是快速恢复业务。然局再查问题原因
比如监控到Nginx服务宕了。不需要先查为什么宕,先做的是快速启动。继续提供服务
Zabbix还可以实现告警操作升级。
还是以Nginx服务宕为例。开始已经发送消息通知负责人。并执行了重启的命令
过了5分钟发现业务依然没有恢复,这时候可以进行告警升级。如通知领导。发送电话语音告警给负责人等
这样事件就升级了。让相关的人都关注到并且及时处理。
很多人都遇到过告警风暴。短时间内几百上千条告警信息一起涌来
技术人员要从这些告警信息中找出很本的原因需要花费一定的时间
后来就有了告警聚合和关联
Zabbb提供了告警关联分析功能,可以有效降低告警风暴,同时让技术人员只关注事件的根本原因,没有告警美联,一合服务器上面运行了多个服务。当服务器宕机的时候,上面运行的服务告警也会发送,
如果将服务的监控和服务器宕机做个关联,那么当机器宕机时,只有宕机的信息会发送,其他服务的告警信息指挥显示在前段页面
技术人员从这么多信息中看到服务器宕机的那个告警。恍然大悟。原来是它导致的
Zabbx支持多种认证方式,可以是本地用户。HTTP基础认证,LDAP认证
不同的用户登录可以设置不同的权限。可以查看哪些机器。 机器有读权限。哪些机器有读写权限
对安全性要求高的话。Zabbx任意两个组件之间都可以通过TLS加密传输数据
这种设置一般是多地域。多机房的情况会用到。避免数据在传输过程中被窃听或者德改
TLS全称是Transport Layer Security 传输层安全性协议, 而SSL是TLS的前身。SSL3.0当时被发现可以被收击不够安全,所以在SSL 3.0的基础上建立了TLS 1.0
有海量设备需要监控时,靠人工是很低效的。需要自动化实现设备监控备
针对类似场景。Zabbix提供2个自动化手段来帮助技术人员高效管理设备监控
第一个是网络扫描。通过扫描发现网段中满足条件的设备。比如安装了agent,打开了SNMP.开启了特定的服务满足条件的这些设备可以设置操作自动加入监控。应用对应的监控模板。或者是执行某个处理脚本
第二个是Agent自动注册。只要是安装了agent的设备并且配置为主动上报模式。Zabbix服务端会根据客户端传过来的信息执行监控相关操作。
以上两个功能可以大幅降低人为的操作。提高监控的自动他和完整性
网卡流量,挂载的文件系统等等,这些信息不同的设备可能完全不一样
这就用到Zabbx的LLD低级自动发视的功能了
这两个功能可以大幅度降低人为的操作,操作监控的自动化和完整性,
网卡流量。挂载的文件系统等等,这些信息不同的设备可能完全不一样
这就用到Zabbix的LLD低级自动发现的功能了
低级发现功能可以自动发现并创建监控项,告警策略。图表
像上面提到的文件系统,网卡通过该功能能就被Zabbix服务端发现并添加至监控了
历史数据支持和kafka.Hadoop.ES等组件进行联动
客户端新增Http类型监控,可以获取Restful接口的监控数据
标签功能在用户权限。告警处理等功能中得到了支持
还能和企业的单点登录系统结合到一起
进程介绍
Poller进程主要负责Server主动拉取类型的监控数据
Trapper进程主要负责Agent主动上报的监控数据
Http Poller进程主要负责URL监控类型的数据收集
icmp pinger进行负责ping存活监控数据收集
Java gateway进程负责和java gateway通信处理数据
Java poller进程负责拉取JMX类型数据获取
ipmi poller进程负责IPMI类型数据获取
timer进程负责处理和时间有关的数据以及告警
vmware collector 进行收集vmware虚拟环境监控数据
unreachalble Poller负责处理无法到达类的监控处理
preprocessing进程会对监控数据进行预处理
服务端的history Syncer选程负责将数据分析并保存至数据库中
housekeeper程负责定期清理历史数据
告警是通过alerter进程处理发送的。而alerter manager是负责管理alerter进程的
escalaitor选程是负责处理告警过程中的各个步骤的。比有告警升级之类的
分布式通信是由proxy poller选程负责的
discovery process是负责设备自动发现功能的
禁用防火墙
systemctl disable firewalld.service
命令行补全
yum install bash-completion
yum install bash-completion-extras
windows端安装并作为一个服务启动
windows端查进程
查看日志
监控数据的查看
中文乱码的问题
复制windows中的中文字体
cp /tmp/msyh.ttf /usr/share/zabbix/fonts
编辑php文件
vim include/defines.inc.php
将其中的两项关于font名字的参数改成复制的字体名字
触发器函数
linux配置邮件服务器
依赖 mailx 包 需要安装 yum install mailx
编辑配置文件
vim /etc/mail.rc
添加163邮箱配置信息
测试发送消息
配置zabbix的告警脚本路径
编写一个执行脚本
接受三个参数
这个脚本执行下来告警信息将作为一个附近来发送邮件
改进
dos2linux 将附件中的数据提取出来作为字节流写入邮件
yum install dos2unix
zabbix配置
添加动作
宏
全局宏 模板宏 用户自定义宏 变量的生效范围跟代码的使用一样,
当在表达式中使用到宏变量的时候,zabbix会先去本地寻找, 优先级: 自定义>模板宏>全局宏,最后都找不到zabbix就讲显示这个宏的名称 {$xxxxxx},当同级有重名的宏变量,zabbix的处理方式是使用最先定义的,后面定义的不会覆盖之前的,
模板宏
可以和过滤器一起使用,知道一个正则表达式中
全局宏的使用
使用正则进行判断输出
用户自定义宏
自动发现规则 LLD
实例:自动发现端口并监控起来
在用户自定义键中添加key及调用的脚本
查看端口信息
脚本筛选出要的信息
脚本
测试脚本
创建自动发现规则
定义自动发现规则
提示:一般zabbix跑起来使用的是zabbix用户,但有时候zabbix用户掉不起来一些需要的权限,可以在配置中修改允许root用户,
zabbix_get 测试
规则创建成功
定义监控项原型
触发器原型