zabbix基本介绍
来源是 觅安教育 大家有兴趣可以去哔哩哔哩搜搜。
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 测试
规则创建成功
定义监控项原型
触发器原型
zabbix基本介绍的更多相关文章
- [原创]zabbix工具介绍,安装及使用
[原创]zabbix工具介绍,安装及使用 http://waringid.blog.51cto.com/65148/955939/
- Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做
7月6日任务 19.1 Linux监控平台介绍19.2 zabbix监控介绍19.3/19.4/19.5 安装zabbix19.6 忘记Admin密码如何做 19.1 Linux监控平台介绍 一般大公 ...
- Linux centosVMware Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做
一.Linux监控平台介绍 cacti.nagios.zabbix.smokeping.open-falcon等等 cacti.smokeping偏向于基础监控,成图非常漂亮 cacti.nagios ...
- Zabbix 监控介绍
Zabbix 监控介绍 1.Zabbix监控架构 2.Zabbix 优点 开源无软件成本投入 Server对设备性能要求低 支持设备多,自带多种监控模板 支持分布式集中管理,有自动发现功能,可以实现自 ...
- 017.Zabbix宏介绍
一 宏介绍 Zabbix宏的作用是便于在模板.Items.Trigger中的引用,名称为{$名称},宏的字符范围为:A~Z/0~9/_. 如:net.tcp.service[ssh,{$SSH_POR ...
- Zabbix监控工具介绍及软件监控、硬件监控及报警练习
zabbix介绍 zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供 ...
- zabbix使用介绍
zabbix自定义监控项 1.创建主机组,可以根据redis.mysql.web等创建对于的主机组 2.创建主机 3.创建Screens 4.自定义监控项 zabbix_agentd.conf配置文件 ...
- Zabbix监控介绍及安装配置
什么是zabbix zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵 ...
- zabbix详细介绍及其自动动态发现
zabbix3.2.1 第1章 安装 1.1 查看系统环境 [root@centos7-2 ~]# [root@centos7-2 ~]# hostname -I 10.0.0.10 172.16.1 ...
随机推荐
- golang 执行命令行(二)--修改进程启动用户
继续上文所述,有时候我们需要设置进程的启动用户,操作与设置进程组的方式类似,不多说直接上代码: // 修改进程的执行用户 func withUserAttr(cmd *exec.Cmd, name s ...
- vscode插件之背景插件(background)
1.在插件tab搜索background 2.打开vscode的配置页 { "background.useDefault": false, "background.cus ...
- Mac 磁盘分区格式
Mac 磁盘分区格式 来源 https://www.chadou.me/p/190 参考文章 macOS磁盘工具帮助 在Mac系统中抹掉(格式化)磁盘的时候,要求选择分区方案,包括GUID分区图.主引 ...
- Git使用整理
[本文由水木桶首发于博客园,原文地址:https://www.cnblogs.com/shuimutong/p/11404664.html,未接允许,严禁转载] 背景 很久之前使用的是svn,直接在E ...
- 浮动和渐变色,定位position,元素的层叠顺序
浮动: float 是我们网页布局的一种 浮动 可以有 left 左浮动 right 右浮动 两种 浮动的特点: 脱离正常的文档流,原本的空间不占据,浮动的标签都具有块级标签的一些特点,可以手动设置宽 ...
- SpringBoot学习<一>——快速搭建SpringBoot
这是我的第一篇博客,博客记录我以后的学习,包括一些总结之类的东西,当然,这些记录是针对于与我个人而言的,可能有些地方会有不好的,或者出现错误,欢迎大家来指正(如果有人看的话)废话不多说.进入正题:Sp ...
- AE二次开发,解决子窗体使用父窗体的AxControl控件
在子窗体写构造函数,然后再在父窗体按钮点击事件下写 public frmIDW(AxMapControl axMapControl1) { InitializeComponent(); this.ax ...
- net 与或非
&& op1 && op2 当op1和op2都是true时,返回true :如果op1的值是false,则不运算右边的操作数 || op1 || op2 当op1和op ...
- 【转】三个重复的ACK意味着发生拥塞?
三次重复的ACK,可能是丢包引起的,丢包可能是网络拥塞造成的,也可能是信号失真造成的. 三次重复的ACK,也有可能是乱序引起的,而乱序和网络拥塞没有直接关系. 如果就写这两行,感觉什么都没写,接下来的 ...
- Python如何打印文字对应的索引
用python编写一个简单的小程序:将文字对应的索引打印出来. test=input('>>>') print(test) l=len(test) print(l) r=range( ...