菜鸟学Linux 第108篇笔记 zabbix 配置
内容总览
回顾
创建触发器(trigger)
action
User parameters (用户自定义参数)
Trigger&action 回顾
discovery
zabbix-proxy
配置注意地方总结
回顾
zabbix
数据采集--> 数据存储--> 数据展示和分析--> 报警
数据采集
SNMP
agent
ICMP/SSH/IPMI
web
数据存储
cacti: rrd
nagios: 默认不保存 (mysql)
zabbix: mysql/pgsql/oracle
数据展示(web)
java
php
移动app
报警
mail(smtp)
Chat Message
SMS
zabbix数据采集
zabbix agent(被动)
zabbix agent(active主动)
SNMP
SSH
zabbix数据展示
php, web gui
zabbix报警
报警升级
如何确定zabbix的监控对象
手动添加
自动发现
hosts, host gruop
item, application
key
graph, screen
trigger, event(discovery)
action(notification, operation, condition)
zabbix仅支持在触发器上定义依赖关系
创建触发器(trigger)
{<server>:<key>.<function>(<parameter>)}<operator><constant>
event
trigger event
discovery event (8类)
Service Up|Down
Host Up|Down
Service Discovered|Lost
Host Discovered|Lost
Media type
SMS
Jabber
自定义的通知脚本
Trigger
用来给所监听的某个主机的某个item所产生的值做一个界限或叫预值,当其所监听的item达到
所给的预值时,会产生事件(event)
action
是用来监听某个主机、主机组、触发器、模板等所生产的事件,当事件发生时再给其做相应的匹配
动作,如发邮件等,
templete
是一个类似于已经配置好的items,trigger,等配置,新加入的监控机只需要套用该模板即可,而
不需要再进行手动的配置其items,trigger等。用来简化用户操作的组件
Macros
宏 类似定义变量,并给变量赋值
作用 当多个地方设定的数值为相同时,可以使用宏,当其值修改时,而不需要手动的去修改每
一个地方值,只需要修改宏变量的数值即可, 简化用户操作
宏定义 分为全局 和局部的 全局 administration --> General --> Macros
User parameters (用户自定义参数)
在zabbix-agent端使用自定义的key 并且为key指定要使用的命令或脚本,而服务端只需要指定
相应的key即可实现使用自己定义的key或者说是命令所执行的结果传送到服务端,供其监控。
自定义key格式和定义的路径
UserParameter=<key>,[parameters],<command>
路径
/etc/zabbix_agentd.conf
或在此文件中定义include选项并建立相应的目录用来存放自定义的UserParameter
自定义参数定义zabbix-server监控其内存状态
agent端
# vim /etc/zabbix/zabbix_agentd.conf
在最后添加如下一行
UserParameter=Mem[*],/bin/cat /proc/meminfo | awk '/^$1/{print $$2}'
(注意这里后边的$$2 是因为前边使用了位置变量,所以为了区分开所使用的)
服务器端测试自定义参数是否可用
# zabbix_get -s 192.168.11.181 -k Mem[MemFree]
# zabbix_get -s 192.168.11.181 -k Mem[MemTotal]
# zabbix_get -s 192.168.11.181 -k Mem[Cache]
zabbix-web里如何添加此监控item(注意此处的item不可能和之前似的可以选择)
需要手动定义 添加item自行输入即可如:
Mem[MemFree] 或者其它的像MemTotal等 都是/proc/meminfo里的第一个参数
由此便可以自行使用自定义参数了,需要注意的是,自定义参数只能给服务器端传递一个值
不可以是多值,可以引用脚本,但也一样只能传递一个值给服务器端 切记切记 呵呵
Trigger&action 回顾
item: 数据项() --> data store --> Web GUI
key: server, agent
用户参数: UserParameter=<key[*]>,<command>
$1, $2
trigger: 定义某个item的阀值,key
动作:condition, operation (remote command, send message)
定义一次完整的监控:添加主机(主机组) --> 添加item(内置的简单图形) -->
trigger (event: OK --> Problem, Recovery) -->
action (发通知(Macro),condition,operation(step))
media (Email, External scripts, Jabber, SMS)
discovery 发现有个前提
agent
agentless
SNMP
zabbix的网络发现功能可基于如下信息
IP range
Availability of external services (FTP, SSH, WEB, POP3, IMAP, TCP, etc)
Information received from Zabbix agent
Information received from SNMP agent
网络发现阶段
Discovery --> action
创建自动发现步骤
1. 创建templete
2. 创建discovery
3. 创建action discovery
4. 创建action registration (当主机下线再上线时自动注册)
agent自动注册
zabbix agent
1.安装相应的zabbix-agent软件包
2.配置时hostname要和zabbix-web里的Administration --> DM配置的proxy name相同
3.要使用proxy来实现监控的客户端其配置文件里
Server 要指向proxy的IP地址
ServerActive 自动发现功能也要指向Proxy IP
配置注意地方总结
1. 定义discovery action时发现的客户端condition一定要指定其状态up or discovery
2. 定义discovery action移除客户端也要定义其condition --> Discovery status down or lost
3. proxy所定义的数据库生产环境中不要和zabbix-server数据库在同一个服务器上
转载于:https://blog.51cto.com/winthcloud/1902580