zabbix监控项
场景
运维工程师除了搭建架构环境,配置管理外,还需要保证业务的
稳定
运行。不稳定的情况包括很多方面
,
如
:
CPU
负载过大;内存不够;磁盘空间满了;网络很卡;服务不能被访问等等各种问题。我们运维工程师无法做到时刻盯着服务器查看各类状态,所以需要建立一套完善的
自动 化监控
系统,将所有需要监控的服务器及其各种需要的状态数据都实时地
收集
,
图形展示
,
报警。
监控的目的
实时收集数据并图形展示
,
通过报警及时发现问题与处理问题。
为架构优化也提供依据。
主流的开源监控平台介绍
mrtg
(Multi Router Traffic Grapher)
通过
snmp
协议得到设备的流量信息,并以包含
PNG
格式的
图形的
HTML
文档方式显示给用户。
cacti
(
仙人掌
)
用
php
语言实现的一个软件,它的主要功能是用
snmp
服务获取数据,然后用
rrdtool
储存和更新数据。官网地址
:
https://www.cacti.net/
ntop
官网地址
:
https://www.ntop.org/
nagios
能够跨平台
,
插件多
,
报警功能强大。官网地址
:
https://www.nagios.org/
centreon
底层使用的就是
nagios
。是一个
nagios
整合版软件。官网地址
:
https://www.centreon.
com/
ganglia
设计用于测量数以千计的节点
,
资源消耗非常小。官网地址
:
http://ganglia.info/
open-falcon
小米公司开源
,
高效率
,
高可用。用户基数相对小。官网地址
:
http://open-falcon.org/
zabbix
跨平台
,
画图
,
多条件告警
,
多种
API
接口。用户基数大。官网地址
:
https://www.zabbix.co
m/
prometheus
基于时间序列的数值数据的容器监控解决方案。官网地址
:
https://prometheus.io/
zabbix监控项部署
1. 创建监控项
在某一台被监控机上创建
(
如下图所示
)
,这样创建的监控项只对此监控机生效。
在模板里创建
(
如下图所示
),
这样创建的监控项对所有使用此模板的主机生效
(
推荐方式
)
。
主机
模板
3.创建自带键值监控项
创建监控项中最核心的概念就是键值(key)。
键值就看作是开发好的用于收集数据的命令,主要有两种:
zabbix自带的键值
(
太多了
,
不用特意去记忆)
自定义开发的键值(
用
linux
基础命令就可以开发)
使用
zabbix
自带键值创建监控项实现监控
cpu
的
1
分钟内平均负载 (如下图所示)
名称:可以自定义监控名称
类型:客户端
键值:all代表所有cpu核心,avg1代表1取其1分钟内的平均负载值
主机接口:客户端IP
创建完成(如下图所示)
使用模板并使用自定义键值添加监控项
[root@node4 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=loginusers,who | wc -l
//loginusers是我自定义的一个键值名称(会在创建监控项时用到),后面的who |wc -l就要被监控的
命令
使用自定义键值loginusers
5. 在模板中添加图表
在模板里点击图形
创建图表
名称:自定义名称
添加:添加你要创建图表所对应的监控项
6.查看图表
在主机页面点击图形
点击自己想要查的监控项进行预览
邮箱告警配置
触发器的通知信息显示在web管理界面, 运维工程师仍然没办法24小时盯着它。所以我们希望它能自动地 通知工程师们,这就是报警。 zabbix的报警媒介支持email,jabber,sms(短信),微信,电话语音等。
配置报警信息可以通过邮箱来实现
- 本地邮箱
- 第三方邮箱
- 第三方邮箱+脚本
一、本地邮箱告警配置
//分别修改server和agent端的/etc/hosts文件
//server
[root@zabbix ~]# vim /etc/hosts
192.168.35.144 zabbix.example.com zabbix-server
192.168.35.145 node4.example.com zabbix-agent
//agent
[root@zabbix ~]# vim /etc/hosts
192.168.35.144 zabbix.example.com zabbix-server
192.168.35.145 node4.example.com zabbix-agent
//安装postfix
[root@zabbix ~]# yum -y install postfix
//修改postfix的主配置文件,并重启服务和设置下次启动生效
[root@zabbix ~]# vim /etc/postfix/main.cf
//在该行后面加上$mydomain
mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain
1.配置报警媒介类型
测试
[root@zabbix ~]# cd /var/spool/mail/
[root@zabbix mail]# cat lsy
From lsy@example.com Tue Aug 13 10:37:32 2024
Return-Path: <lsy@example.com>
X-Original-To: lsy@example.com
Delivered-To: lsy@example.com
Received: from localhost (localhost [IPv6:::1])
by zabbix.example.com (Postfix) with SMTP id 6D837402DE8B
for <lsy@example.com>; Tue, 13 Aug 2024 10:37:32 +0800 (CST)
From: <lsy@example.com>
To: <lsy@example.com>
In-Reply-To: <0.d35e2306cc43818cb669b02cda6952c9.42.8ed2e637bed557511e7dab8244a5f238@zabbix.com>
Date: Tue, 13 Aug 2024 10:37:32 +0800
Subject: test
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64
Message-Id: <20240813023732.6D837402DE8B@zabbix.example.com>
5p2l6IeqIFphYmJpeCDnmoTmtYvor5Xmtojmga8=
2.配置用户报警媒介
3.配置动作
测试
二、第三方邮箱警告配置
1.修改报警媒介
测试
测试
3.第三方邮箱+邮箱告警配置
//安装s—aill
[root@zabbix ~]# yum -y install s-nail
//修改配置文件
[root@zabbix ~]# vim /etc/s-nail.rc
set from=cy18271663615@163.com
set smtp=smtp.163.com
set smtp-auth-user=cy18271663615@163.com
set smtp-auth-password=粘贴163邮箱授权码
set smtp-auth=login
set ssl-verify=ignore
[root@zabbix ~]# chown -R zabbix:zabbix /etc/s-nail.rc
//编写脚本
[root@zabbix ~]# vim /usr/lib/zabbix/alertscripts/mail-send.sh
#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | s-nail -s "${subject}" $1
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix alertscripts]# chown -R zabbix:zabbix mail-send.sh
[root@zabbix alertscripts]# chmod +x mail-send.sh
//发送邮件
[root@zabbix alertscripts]# ./mail-send.sh 18971504630@163.com “zabbix test mail” “test”
s-nail: Warning: variable superseded or obsoleted: smtp
s-nail: Warning: variable superseded or obsoleted: smtp-auth-user
s-nail: Warning: variable superseded or obsoleted: smtp-auth-password
s-nail: Warning: variable superseded or obsoleted: ssl-verify
s-nail: Obsoletion warning: please do not use *smtp*, instead assign a smtp:// URL to *mta*!
s-nail: Obsoletion warning: Use of old-style credentials, which will vanish in v15!
s-nail: Please read the manual section "On URL syntax and credential lookup"
测试
定义媒介,配合第三方平台使用脚本
测试