监控平台 - zabbix

目录

一、概述

二、搭建


一、概述

1. zabbix程序结构

zabbix-server:用于数据处理及写入到数据库

zabbix-agent:用于获取被监控端的性能检测数据

zabbix-web:用于数据的展示及远程操控

数据库:用于存储监控数据

zabbix-proxy:实现zabbix分布式监控

2. zabbix-agent支持的协议

1) ssh

2) snmp:用于交换机路由器流量监控(OID)

3) IPMI:硬件监控

4) JMX:   专用于java服务监控

5) 结合procona:实现针对数据库监控

zabbix中核心的资源介绍

监控项→触发器→动作→ 模板

监控项配置

首先规划风险值

通过设计取值命令 :

配置监控项

vim /etc/zabbix/zabbix_agent.conf

UserParameter=User_num,w |awk 'NR>2{print $3}'|uniq |wc -l

客户端测试监控项

zabbix_agent2 -t User_num

User_num                                      [s|2]

web端添加监控项

1)选择需要添加监控项的主机

2)根据客户端所自定义的监控项添加即可

3)注意:添加监控项页面中的值要和监控项的key名一致

企业级配置自定义监控项

UserParameter=Nginx[*],./scripts/nginx_status.sh $1

通过web页面实现添加监控项

触发器及报警

1. 监控项获取失败排查(面试)

1)web添加监控项页面测试获取监控项值

2)服务端安装zabbix_get 

yum install zabbix-get -y

zabbix_get 用于服务端测试获取客户端中自定义的监控项

zabbix_get -s 指定客户端IP  -k 监控项名

3)在客户端通过zabbix-agent -t 检测获取监控项

如果能获取到则,客户端定义配置有问题,如果获取不到,则自定义监控项定义有问题

2. 触发器

作用:定义监控项的阈值,当超过阈值则触发警告

阈值:指某一个监控指标的定义值

定义触发器:主机→ 触发器→ 创建→ 构建表达式

设置阈值类型:

last: 最新一次的数据

avg:单位时间内的平均值

count:单位时间内的总数

max: 最大值

3. 配置动作实现zabbix自动化报警

通过动作实现

企业级常用的报警方式:邮件、微信报警、钉钉、发短信

3.1 配置右键告警方法:

添加用于接收消息的用户及用户组

添加用户的登录信息

添加用户的接收消息报警媒介

添加动作

创建动作:条件

创建动作操作:故障提醒操作、恢复提醒操作

添加发送邮件的报警媒介

管理→ 报警媒介

配置发送邮箱

配置发送消息模板

问题模板:

Problem started at {EVENT.TIME} on {EVENT.DATE}

Problem name: {EVENT.NAME}

Host: {HOST.NAME}

Severity: {EVENT.SEVERITY}

Operational data: {EVENT.OPDATA}

Original problem ID: {EVENT.ID}

{TRIGGER.URL}

恢复模板:

Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}

Problem name: {EVENT.NAME}

Problem duration: {EVENT.DURATION}

Host: {HOST.NAME}

Severity: {EVENT.SEVERITY}

Original problem ID: {EVENT.ID}

{TRIGGER.URL}

3.2 配置微信报警

3.2.1 申请企业微信    https://work.weixin.qq.com/

3.2.2 创建自定义应用

3.2.3 准备微信报警脚

cd /usr/lib/zabbix/alertscripts  上传脚本

配置脚本

corpid=企业ID

appsecret=自建项目secret

agentid=自建项目ID

3.2.4 安装pip

yum install python-pip

pip install requests

测试脚本发送消息命令

python weixin.py 当前在项目中的账号  “标题”  “消息”

chmod +x weixin.py 

rm -rf /tmp/weixin.log

3.2.5 web端添加报警媒介

{ALERT.SENDTO};{ALERT.SUBJECT};{ALERT.MESSAGE}

3.2.6 报警升级

以步骤为单位进行分步骤报警;间隔时间是按照上一个步骤持续时间定义的

3.2.7 web检测

作用:通过抓取某URL页面中的关键字或状态码,探测业务异常情况

3.2.8 zabbix解决web页面乱码问题

zabbix存放字符集的路径:/usr/share/zabbix/assets/fonts;通过软连接上传自定义的字符集文件即可

3. 3 zabbix自动化监控

方法一:自动发现

自动扫描某范围内的ip

客户端:安装zabbix-agent 配置服务端是谁

动作:自动发现操作;自动发现扫描:指定IP范围扫描地址段

实现原理:服务端通过配置自动发现规则,进行ip地址段的扫描,触发动作添加主机

问题:对服务端压力过大

方法二:主动注册

所有客户端主动找服务端

ServerActive=服务端IP

Metadata=主机名

Hostname=主机名

web配置自动注册

二、搭建

zabbix监控环境搭建

配置zabbix官方yum源

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

安装服务端与客户端

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

安装zabbix-web

cd /etc/yum.repos.d/

vim zabbix.repo

在/etc/yum.repos.d/zabbix.repo文件中打开zabbix-frontend

[zabbix-frontend]

enabled=1

安装依赖源

yum install -y epel-release centos-release-scl

安装

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

安装存储数据库    yum install -y mariadb-server mariadb

数据库配置

启动数据库 systemctl start mariadb

进入数据库mysql

创建存储数据的库,并支持中文(库名: zabbix)

create database zabbix character set utf8 collate utf8_bin;

授权连接数据库的用户,并设置密码(用户名: zabbix)

create user zabbix@localhost identified by '123456';

数据库授权

grant all privileges on zabbix.* to zabbix@localhost;

查看所有库

show databases;

进入zabbix库

use zabbix;

查看当前库下表

show tables;

在Zabbix服务器主机上,导入初始架构和数据。系统将提示您输入新创建的密码

zcat /usr/share/doc/zabbix-server- mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Zabbix服务器配置数据库vim /etc/zabbix/zabbix_server.conf

存储监控数据的库名100 DBName=zabbix

116 DBUser=zabbix   连接数据库的用户

设置zabbix用户密码124 DBPassword=123456

为Zabbix配置正确的时区vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

php_value[date.timezone] = Asia/Shanghai #亚洲/上海

启动所有服务

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm

查看zabbix服务占用端口信息

netstat -anptu | grep zabbix

访问zabbix

下一步

输入设置的密码 123456

设置名字

下一步

完成安装

进入zabbix   用户名Admin 密码zabbix

更改为中文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/96958.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS Pro二次开发】(64):多分式标注

在ArcGIS中有时会遇到需要二分式标注的情况,有时甚至是三分式、四分式。 通过输入标注表达式,可以做出如下的效果,但是代码不短,每次都要输一遍也挺麻烦。 网上也有一些分式标注的python工具,但不够直观,于…

09 找到字符串中所有字母异位词

找到字符串中所有字母异位词 题解1 半暴力(没过)题解2 双指针(标准模板) 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字…

护眼灯买什么样的好?该怎么挑选护眼台灯

自从护眼台灯成为学生书桌上最常见的照明灯具后,就经常能看到关于护眼台灯伤眼的信息。从根源上说,是各种不专业产品混杂在市场中,这种产品技术较差,而且为减少成本选择品质差的材料,但由于低廉的价格仍然吸引了众多消…

基于Java+SpringBoot+Vue前后端分离大学生智能消费记账系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

Elasticsearch:利用矢量搜索进行音乐信息检索

作者:Alex Salgado 欢迎来到音乐信息检索的未来,机器学习、矢量数据库和音频数据分析融合在一起,带来令人兴奋的新可能性! 如果你对音乐数据分析领域感兴趣,或者只是热衷于技术如何彻底改变音乐行业,那么本…

4.Flasgger-接口文档化

一.下载安装 pip install flasgger0.9.7.1二.基本使用 from flask import Flask, jsonify from flasgger import Swaggerapp Flask(__name__) swagger Swagger(app)app.route(/colors/<palette>/) def colors(palette):"""Example endpoint returnin…

视频汇聚/视频云存储/视频监控管理平台EasyCVR新增首次登录强制修改密码

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。视频汇聚平台既具…

软件产品登记测试

1. 服务流程 2. 服务内容 对功能性、易用性、可移植性三个特性、五个子特性进行测试。通过测试检测表明软件功能基本实现&#xff0c;运行基本稳定&#xff0c;操作方便&#xff0c;用户手册描述完整正确&#xff0c;是否达到软件产品登记测试规范的要求。 3. 周期 实施测试…

Qt 简单闹钟

//wiget.h#ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTime> //时间类 #include <QTimer> //定时器类 #include <QTextToSpeech> #include <QDebug> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPA…

Netty源码NioEventLoop解析

带着问题源码 Netty 的 NioEventLoop 是如何实现的&#xff1f;它为什么能够保证 Channel 的操作是线程安全的&#xff1f;Netty 如何解决 JDK epoll 空轮询 Bug&#xff1f;NioEventLoop 是如何实现无锁化的&#xff1f; 一、作用与设计原理 Netty的NioEventLoop并不是一个存…

macOS Sonoma 14beta 7(23A5337a)更新发布,附黑/白苹果系统镜像

系统介绍&#xff08;镜像请前往黑果魏叔官网下载&#xff09; 黑果魏叔8 月 31 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 14 开发者预览版 Beta 7 更新&#xff08;内部版本号&#xff1a;23A5337a&#xff09;&#xff0c;本次更新距离上次发布隔了 8 天。 …

一些自己整理的工具实用参数

工具实用参数 sqlmap -u: 指定需要测试的目标URL&#xff08;格式&#xff1a;http://www.example.com/test.php?id1&#xff09; --cookie: 设置需要发送的 HTTP Cookie&#xff0c;例如&#xff1a;--cookie"sid123456;PHPSESSID654321" --threads&#xff1a;…