Zabbix(一):server,agent端 安装配置及主机,监控项,触发器,动作,媒介配置步骤

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。


 Zabbix的逻辑组件:

  - 主机(host):被监控的网络设备,通常可以使用IP或DNS名称来指定;

  - 主机组(hostgroup):主机的逻辑容器,可以包含主机和模板,但同一个主机组内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时被使用;

  - 监控项(item):一个特定的监控指标的相关数据,这些数据都来自于被监控设备;item是zabbix进行数据收集的核心,因此如果未定义item,就没有数据,每个item都由特定的key进行标识;

key:实现获取监控目标上的数据的命令或脚本的名称;

  - 触发器(trigger):一个条件表达式,即用于评估某个监控对象的某特定item所接收到的数据是否在合理范围内,即:定于阈值;如果接收到的数据在合理范围之外,则触发器的状态将从OK转换为Problem;当接收的数据重新回归到合理范围时,触发器的状态将会从Problem转换为OK;

  - 事件(event):即发生了一个值得关注的事情;

  - 动作(action):指对于特定事件事先定义好的处理方法;通常是由条件和操作组成;

  - 媒介(media):发送通知消息的手段或通道,如:Email,Jabber,微信,SMS等;

  - 通知(notification):通过选定的媒介向相应用户发送的有关某事件的信息;

  - 远程命令(remote command):预定义的命令或脚本,可以在被监控主机处于特定条件时自动执行;

  - 报警升级(escalation):发送报警信息或执行远程命令的自定义方案;

  - 模版(template):用于快速定义被监控主机的各项item的预设项目集合,通常可以包含:item、trigger、graph、screen、application以及low-level discover rule等;模版可以直接链接到单个主机;

  - 应用(application):同一类监控项的结合;

  - web场景(web scennario):用于检测web站点的可用性的一个或多个http协议的请求;

  - 前端(frontend):Zabbix的web接口

  - 图形(graph):用于展示历史数据或趋势数据的图像;

  - 屏幕(screen):由多个graph组成;


下面进行简单的zabbix配置

--------------------------------------------------------------------


服务器端


1.安装Zabbix的web GUI及其他:

yum install httpd php php-mbstring php-gd php-mysql php-bcmath php-ldap php-xml mariadb-server -y


2.安装zabbix

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

yum install zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-agent zabbix-get -y


3.启动MariaDB并创建数据库及授权用户;

1
2
3
4
5
6
systemctl start mariadb
mysql
myslq> create database zabbix charset  'utf8' ;
mysql> grant all on zabbix.* to zbxuser@ '127.0.0.1'  identified by  'zbxpass' ;
mysql> grant all on zabbix.* to zbxuser@ 'localhost'  identified by  'zbxpass' ;
mysql> grant all on zabbix.* to zbxuser@ '172.16.%.%'  identified by  'zbxpass' ;



4.数据库的初始化:

如果是2.x版本的zabbix则有三个SQL脚本,如果是3.x版本的zabbix只有1个SQL脚本,下面这个。


1
2
3
cp  /usr/share/doc/zabbix-server-mysql-3 .4.4 /create .sql.gz  /root
gunzip create.sql.gz
mysql -uroot -hlocalhost -p zabbix < create.sql


5.Zabbix服务端的配置文件:/etc/zabbix/zabbix_server.conf


全局通用配置参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  ListenPort=10051
  SourceIP=172.16.1.2
  LogType= file
  LogFile= /var/log/zabbix/zabbix_server .log
  LogFileSize=0
  DebugLevel=3
  PidFile= /var/run/zabbix/zabbix_server .pid
  DBHost=172.16.1.2
  DBName=zabbix
  DBUser=zbxuser
  DBPassword=zbxpass
  DBSocket= /tmp/mysql .sock |  /var/lib/mysql/mysql .sock
  DBPort=3306
  StartPollers=5
  StartPreprocessors=3
  StartPollersUnreachable=1
  StartTrappers=5
  StartPingers=1
  StartDiscoverers=1
  StartHTTPPollers=1
  StartTimers=1
  StartEscalators=1
  StartAlerters=3


6.配置zabbix-web:

 配置php的时区设定,下面两个任意一个即可,也可两个都配置。

  1./etc/php.ini

date.timezone = Asia/Shanghai

  2./etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Shanghai



7.重启httpd服务,并启动zabbix-server服务

 systemctl restart httpd.service

 systemctl start zabbix-server.service


8.访问URL:


http://172.16.1.2/zabbix

1.png

看到php相关应用都是OK即可

2.png

输入数据库相关内容,再输入以下相关内容

3.png

输入默认用户名/密码:admin/zabbix

刚搭建好.png


------------------------------------------------------------------------------------------

agent端


1.安装zabbix

 rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

 yum install -y zabbix-agent zabbix-sender


2.改主机的名字

 hostname

 hostnamectl set-hostname zrs2.zrs.com


3.配置一下配置文件:/etc/zabbix/zabbix_agentd.conf


1
2
3
4
5
6
7
8
9
10
[root@zrs2 ~] # egrep -v '^$|#' /etc/zabbix/zabbix_agentd.conf
PidFile= /var/run/zabbix/zabbix_agentd .pid
LogFile= /var/log/zabbix/zabbix_agentd .log
LogFileSize=0
Server=172.16.1.2
ListenPort=10050
StartAgents=3
ServerActive=172.16.1.2
Hostname=zrs2.zrs.com
Include= /etc/zabbix/zabbix_agentd .d/*.conf


4.启动并查看,没有问题

[root@zrs2 ~]# systemctl start zabbix-agent.service

[root@zrs2 ~]# systemctl status zabbix-agent.service

----------------------------------------------------------------------------------

1.创建主机组

在Configuration中的Host groups中添加主机组,自定义主机组名字,点击add即可。

主机组.png

2.创建主机

在Configuration中的Host groups中找到刚才创建的test group 点击后面的Hosts,然后Create host。

第一个是主机名字,即被监控的主机的名字,务必填写正确,第二个是可视化名字,第三个是所属的主机组,右边的框中如果没有,可自己创建,最后是被监控的主机IP,也可以填写DNS name,二选一,因为是进行简单的配置,所以到这就行了,点击最下面的Add即可。

主机.png

3.创建应用和监控项: Applications + Items

在Configuration中的Hosts中的zrs2后面点击Applications,进入后点击Create application,自定义Name的名字即可,创建三个如下

三个监控.png

在Configuration中的Hosts中的zrs2后面点击Items,进入后点击Create item,自定义Name的名字,key的值从select中选择需要监测的即可,为了采集更多的样本,更新数据的时间设置短一些,applications选择对应的,点击最下面的Add。cpu的上下文切换监控就创建好了。

item.png

下面再创建两个item,监控入站流量和出站流量。可以在Preprocessing中选择Preprocessing steps:Change per second 来监控数据每秒变化量。

item2.png

item3.png

4.Trigger触发器


定义一个traffic too fast当入站流量达到100时,报警

触发器1.png

触发器的表达式:

{Server:key[parameters].function(arguments)}<operator><constant>

Server:被监控的主机名称

key:选中的item对应的key;

parameters:key要求的参数,如果key需要则必须给出;

function:评估采集到的数据是否在合理范围内时所使用的函数;

评估过程:

1.可以根据采集数据的次数;

2.可以指定在一定时间范围内采集到的数据;

常用的函数:

last、avg、max、min、sum、count、change、delta、diff、iregexp、nodata、date、dayofweek、...

arguments:函数的参数

大多数的数值函数可以进行数值计算,也可以接收时间为参数进行计算;如果在数值参数之前使用"#"作为前缀,如:"#NUM"表示NUM次的取值;如果在数值参数之前不使用"#"作为前缀,如"NUM"表示NUM秒的时间内的所有数值取值;

如:

sum(100):表示在100秒内取得的所有数据的和;

sum(#100):表示在最近100次取值之和;

last(100):表示最近的100秒时间内的取值;

last(#1):表示最近一次的取值,相当于last(0)

此外,avg,count,last,max,min等函数还支持第二参数,用于指定时间;

如:max(1h,7d)

operator:操作符,表达式运算的运算符;

比较运算:>, <, =, #(Not Equal)

算术运算:+, -, *, /

逻辑运算:&, |


为了触发器被触发需要定义动作actions

动作1.png

执行动作后的的操作:发送一个消息给管理员

动作2.png


这时需要定义Administration中users下面的media

媒介1.png

再定义media types中的email中的media type

媒介2.png

当入站流量过大超过100时就会触发警报,发邮件给管理员。



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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
监控 关系型数据库 Linux
|
2月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
|
2月前
|
数据采集 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
144 4
|
2月前
|
监控 Unix Windows
Zabbix【部署 04】 Windows系统安装配置agent及agent2
Zabbix【部署 04】 Windows系统安装配置agent及agent2
333 0
|
2月前
|
Kubernetes 监控 安全
Kustomize 生产实战 - 注入监控 APM Agent
Kustomize 生产实战 - 注入监控 APM Agent
|
26天前
|
监控 数据库 Docker
Zabbix监控神通数据库教程
**摘要:** 本文介绍了如何使用Docker安装和配置神舟通用数据库,并利用Zabbix进行监控。首先,通过Docker安装数据库镜像,启动容器并映射端口。接着,使用默认凭证连接数据库并验证安装。然后,将数据库的Python模块和库文件复制到主机,并安装Python3.5及相应模块,创建外部检查脚本以实现Zabbix的监控功能。示例展示了查询数据库版本的监控指标配置。最后,提到了监控结果的界面展示,并邀请读者探索更多Zabbix监控技巧。
22 0
Zabbix监控神通数据库教程
|
12天前
|
监控 关系型数据库 应用服务中间件
Linux zabbix监控 软件的安装
Linux zabbix监控 软件的安装
|
14天前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
50 0
|
2月前
|
监控 关系型数据库 MySQL
zabbix 监控mysql服务
zabbix 监控mysql服务
39 0
zabbix 监控mysql服务
|
2月前
|
人工智能 搜索推荐 决策智能
【AI Agent系列】【阿里AgentScope框架】1. 深入源码:详细解读AgentScope中的智能体定义以及模型配置的流程
【AI Agent系列】【阿里AgentScope框架】1. 深入源码:详细解读AgentScope中的智能体定义以及模型配置的流程
607 0

推荐镜像

更多