目录:zabbix其他篇
03: zabbix API接口 对 主机、主机组、模板、应用集、监控项、触发器等增删改查
目录:
- 1.1 zabbix监控基本介绍
- 1.2 添加主机组
- 1.3 添加模板
- 1.4 创建主机
- 1.5 创建应用集
- 1.6 创建监控项
- 1.7 创建Triggers(触发器)
- 1.8 添加Media(添加发送邮件账户信息)
- 1.9 添加接收报警邮件人员信息(这里以内置admin用于为例)
- 1.10 配置action
- 1.11 查看报警信息
1.1 zabbix监控基本介绍返回顶部
参考博客:https://www.cnblogs.com/xuliangwei/p/6658838.html
1、Zabbix的监控流程
1. 数据采集:Zabbix通过SNMP、Agent、ICMP、SSH、IPMI等进行数据采集
2. 数据存储:Zabbix存储在MySQL上,也可以存储在其他数据库
3. 数据展示:web界面展示、(移动APP、java_php开发一个web界面也可以)
4. 数据报警:邮件报警、微信报警、短信报警、报警升级机制
2、Zabbix的监控配置流程
1. 1)Host groups(主机组)→2)Hosts(主机)→3)template(模板)→
2. 4)Applications(监控项组)→5)Items(监控项)→
3. 6)graph(图形) →7)screen (图形分组)→
4. 8)Triggers(触发器)→9)Event(事件)→10)Actions(处理动作)→
5. 11)Media types(告警升级|1.执行远程命令2.发送告警邮件)→
6. 12)User groups(用户组)→13)Users(用户)→14)Medias(告警邮件)
1.2 添加主机组返回顶部
1、主机组说明(对同一属性的主机或模板,尽量归纳到分组)
1. 以地理位置进行划分。
2. 以业务为单位划分组。
3. 以机器用途划分。
4. 以系统版本划分。
5. 以应用程序分组。
2、配置→主机组→创建主机组(创建主机组 Test group)
1.3 添加模板返回顶部
1、模板说明
1. 监控项、触发器、图形、Web、Discovery等都是存在于主机之上的
2. 由于多个主机都会用相同的监控配置,因此,可以对这部分同类的数据进行归纳抽象,即将这些数据做成模板。
3. 当我们需要对其他监控数据进行配置的时候,只需要对相对应的主句添加对应的模板即可。
2、配置→模板→创建模板
3、填写模板信息
4. 模板具有继承的功能(将一个模板在另外一个模板中使用)
说明:新建的模板如果继承了 Template OS linux 模板后,就会拥有其所有功能
5、新建宏
1. 宏主要是对变量定义,设置宏的作用是方便后面再Items、Trigger中引用
2. 在模板中配置一个宏,在不同的主机对该宏设置不同的变量值,从而达到模板通用的目的
1.4 创建主机 返回顶部
1、配置→主机组→创建主机
2、配置主机使用的监控模板
1.5 创建应用集返回顶部
1、应用集说明
1. 应用集一般配合监控项使用,它相当于多个同类型的监控项的分类目录,方便查找而已
2. 应用集一般关联指定模板(只有应用此模板的主机才有此应用集),也可以将应用集关联指定主机(某个独有应用集)
2、为指定模板创建应用集(法1)
配置→模板→应用集(找到要创建应用集的模板)→创建应用集
3、为指定主机创建应用集(法2)
配置→主机→应用集(找到要创建应用集的主机)→创建应用集
注:创建监控项时可以对这里创建的应用集进行选择
1.6 创建监控项返回顶部
1、监控项说明
1. 监控项(iterm)就是你要监控的指标,比如cpu利用率,cpu负载,内存使用率等等。
2. 监控项一般关联指定模板(只有应用此模板的主机才有此监控项),也可以将监控项关联指定主机(某个独有监控项)
3. 监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。
2、在 zabbix-agent端/etc/zabbix/zabbix_agentd.d 下创建 base.conf文件 添加 key
1)在zabbix-agent中创建监控key
[root@linux-node1 /]# cd /etc/zabbix/zabbix_agentd.d
[root@linux-node1 /]# vim base.conf # 添加下面这条,统计当前登录用户数量
UserParameter=log_user, /usr/bin/w|awk 'NR==1{print $6}' [root@linux-node1 /]# systemctl restart zabbix-agent # 重启agent
2)在server上get上面配置key的值(测试是否可以获取结果)
yum -y install zabbix-get # 在server安装zabbix-get工具(如果按照失败使用清华源安装)
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-get-3.4.15-1.el7.x86_64.rpm zabbix_get -s 192.168.56.11 -p10050 -k log_user # 在server端运行命令测试是否可以获取到
3、为指定模板配置监控项
配置→模板→监控项(需要添加监控项的模板)→创建监控项
1.7 创建Triggers(触发器) 返回顶部
1、触发器说明
1. 监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。
2. 触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别
3.如果收到的数据超过了这个定义好的级别,触发器将被“触发”,让我们知道有问题发生。
4. 如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。
2、添加触发器
配置→模板→触发器(为刚刚模板中的监控添加触发器)→创建触发器
1.8 添加Media(添加发送邮件账户信息)返回顶部
1、创建报警媒介
管理→报警媒介类型→创建媒体类型
2、添加发送邮件的默认用户
1.9 添加接收报警邮件人员信息(这里以内置admin用于为例)返回顶部
1、添加接收邮件人员信息
管理→用户→找到对应人员
2、填写接收人信息
1)第一步
2)第二步
1.10 配置action 返回顶部
1、创建action(发送报警信息)
管理→动作→创建动作
1)创建 action:动作
2)创建 action:操作(触发报警时操作)
1、触发器事件成立后有以下两种动作。
1. 发送消息(send message)
2. 执行远程命令(Remote command)
2、当出现了Trigger状态改变时,应尝试自愈,如果无法修复,那么报警升级发送消息通知相关人员
1. 第一梯度:1-2步,远程执行命令重启Apache,间隔时间为60s,发送执行2次直到故障恢复。
2. 第二梯度:3-4步,发送给Admin用户,间隔时间为60s,发送两次,直到故障恢复。
3. 首先要支持远程执行命令,必须开启远程执行命令,以及sudo权限
[root@linux-node2 ~]# vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1 [root@linux-node2 zabbix_agentd.d]# systemctl restart zabbix-agent
[root@linux-node2 ~]# visudo
zabbix ALL=NOPASSWD: /usr/bin/systemctl restart httpd
4. 第一梯度:1-2步,远程执行命令重启Apache
5. 第二梯度:3-4步,发送给Admin用户,间隔时间为60s,发送两次,直到故障恢复。
3)创建 action:恢复操作(同上)
1.11 查看报警信息返回顶部
1、查看报警信息
2、邮件中收到报警信息如下图