菜鸟学Linux 第108篇笔记 zabbix 配置

简介:

菜鸟学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

E-mail

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数据库在同一个服务器上

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1902580如需转载请自行联系原作者

Winthcloud
相关文章
|
3天前
|
Linux
Linux(5)WIFI/BT调试笔记
Linux(5)WIFI/BT调试笔记
17 0
|
4天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
16天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
2天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
29 1
|
2天前
|
运维 网络协议 Linux
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
25 1
|
3天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
26 0
|
3天前
|
Linux
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
15 0
|
3天前
|
Linux Android开发
Linux(6)CH9434 SPI调试笔记
Linux(6)CH9434 SPI调试笔记
12 0
|
5天前
|
Linux 网络安全 开发工具
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
|
6天前
|
缓存 安全 Ubuntu
Linux配置代理上网
如何配置Linux代理
15 1