监控平台 - zabbix

目录

一、概述

二、搭建


一、概述

  1. zabbix程序结构

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

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

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

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

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

  1. 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 检测获取监控项

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

  1. 触发器

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

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

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

设置阈值类型:

last: 最新一次的数据

avg:单位时间内的平均值

count:单位时间内的总数

max: 最大值

  1. 配置动作实现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;通过软连接上传自定义的字符集文件即可

  1. 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

更改为中文

相关推荐
不做菜鸟的网工4 天前
Zabbix收集H3C交换机实时配置命令 「SNMP TRAP」
zabbix
肖祥5 天前
docker安装zabbix7.4
zabbix
shen121385 天前
【zabbix】自动发现监控项原型计算
zabbix
峰顶听歌的鲸鱼6 天前
Zabbix监控系统
linux·运维·笔记·安全·云计算·zabbix·学习方法
Re_Virtual12 天前
OpenEuler 20.03构建zabbix7.0 rpm包
linux·zabbix·openeuler
virtualzzf16 天前
OpenEuler 20.03构建zabbix8.0 rpm包
zabbix·openeuler·rpm·linxu
Libra_bai18 天前
zabbix 7 监控 oracle 19c 方法 增加agent2监控需要的变量环境
zabbix
Sheffield21 天前
今天的CentOS 7如何配置Zabbix
linux·centos·zabbix
杭州吉网运维日记21 天前
zabbix监控docker下的nginx
nginx·docker·zabbix
黑蛋同志23 天前
Anolis OS 23安装zabbix
zabbix