zabbix基础

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

下面介绍的是zabbix监控


一、监控基础

1、监控处理过程

采样---->存储----->报警---->展示

(1)、采样

  采样的监控数据采集方法:ssh/telnet、SNMP、Protocol v3、IPMI(智能平台管理接口)、TLS。

(2)、数据存储

  数据类型:历史数据(nvps)、趋势数据。

  数据存储系统:rrd(轮询数据库);

                SQL(关系型数据库,MySQL/PostgreSQL);

                NoSQL(反关系型数据库,Redis/MangoDB);

                时间序列存储。

(3)、主机的四种监控接口:zbx、snmp、jmx、ipmi。

2、常用的开源监控工具

(1)、cacti:强大的【数据展示】功能。

  cacti是基于php来编写的;

  利用SNMP协议采集样本数据;

  利用rrdtool进行数据存储;

  报警机制有限。

(2)、nagios:强大的【报警机制】。

  nagios不支持历史数据和趋势数据保存;

  数据展示功能有限。

(3)、zabbix:集cacti、nagios优点。

  强大的数据展示功能;

  强大的报警机制;

  支持历史数据和趋势数据的存储;

  支持脚本实现故障的数据修复。

(4)、ganglia:用于集群监控。

  ganglia用于集群监控时,可以实现多台主机的多种集合数据的集中展示。


二、zabbix -----------www.zabbix.com

1、zabbix监控特性

(1)、数据采样:SNMP,ssh/telnet,server/agent,IPMI,jmx,自定义。

(2)、数据存储:MySQL、PostgreSQL

(3)、报警机制:支持脚本

(4)、数据展示:实时绘图

  graph、screen、slide show、top-map。

(5)、支持模板:快速添加知己和自动部署。

(6)、支持网络自动发现。

(7)、支持分布式监控(可用反代)。

(8)、丰富的API。


2、zabbix组件架构

zabbix-server:server守护进程;

zabbix-agent:agent守护进程;

zabbix-proxy:代理服务器(用于分布式监控);

zabbix-get:运行于server端,向agent端发送数据采集请求;

zabbix-sender:运行于agent端,向server端发送数据;

zabbix-java-gateway:Java网关;

zabbix-database:关系型数据库;

zabbix-web:zabbix的web GUI接口。


3、zabbix逻辑组件

(1)、host:监控网络设备,IP、DNS名称。

(2)、hostgroup:可以包含主机和模板,指派用户权限时使用。

(3)、item:监控项,这些数据来自于监控设备,由key进行标识。key就是数据命令或脚本的名称。

(4)、trigger:触发器,定于阈值。触发器状态为OK、Problem。

(5)、event:一个值得关注的事件。

(6)、action:据条件进行处理方法。条件、操作组成。

(7)、media:发送消息的手段或通道,如Email,Jabber,SMS等,但国内只可用Email。

(8)、notification(通知):通过媒介向用户传送的事件的数据信息。

(9)、remote command:预定义的命令或脚本,可在特定条件下执行。

(10)、escalation:报警升级

(11)、temple:快速定义item项

(12)、application:同一类监控项的组合

(13)、web scennaria:web场景,检测web站点的可用性

(14)、frontend:前端,zabbix的web接口

(15)、gragh:图形,显示历史数据和趋势图像

(16)、screen:屏幕,多个gragh组成


4、zabbix的安装

(1)、安装MariaDB,创建数据库,授权用户

# mysql

mysql> 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 'abxpass';

mysql> grant all on zabbix.* to zbxuser@'172.16.%.%' identified by 'zbxpass';

(2)、安装zabbix【服务器】端程序

# yum -y install zabbix-server-mysql zabbix-get

(3)、安装zabbix的web GUI

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

# yum -y install zabbix-web zabbix-web-mysql

(4)、数据库的初始化

# cp /usr/share/doc/zabbix-server-mysql /root

# gunzip create.sql.gz

# mysql -uroot -hlocalhost -p zabbix < create.sql


5、zabbix的配置文件

配置文件:/etc/zabbix/zabbix_server.conf

(1)、全局通用配置段:

ListenPort=10051

SourceIP=

LogType=file

LogFileSize=0

DebugLevel=3

PidFile=/var/run/zabbix/zabbix_server.pid

DBHost=localhost

DBName=zabbix

DBUser=zbxuser

DBPassword=zbxpass

DBSocket=/tmp/mysql.sock | /var/lib/mysql/mysql.sock

DBPort=3306

(2)、高级配置段

(3)、负载模块段

(4)、TLS参数段


配置zabbix-web,配置php进行时区设定进行访问:

方法一:修改/etc/php.ini

        date.timezone = Asia/Shanghai

方法二:修改/etc/httpd/conf.d/zabbix.conf

        php_value date.timezone Asia/Shanghai 

修改时区后,访问URL(http://HOST/zabbix),用户名和密码为:admin/zabbix。登录安装完成后会生成配置文件/etc/zabbix/web/zabbix.conf.php。


6、zabbix的客户端安装

# yum -y install zabbix-agent zabbix-sender


配置文件:/etc/zabbix/zabbix_agentd.conf

(1)、全局配置参数

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogType=file

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

DebugLevel=3

SourceIP=

EnableRemoteCommands=0


被动监控相关参数:

Server=127.0.0.1

ListenPort=10050

ListenIP=0.0.0.0

StartAgents=3


主动监控相关参数:

ServerActive=127.0.0.1

Hostname=Zabbix sever

HostnameItem=system.hostname

HostMetadata=

HostMetadataItem

RefreshActiveChecks=120

BufferSend=5

BufferSize=100

MaxLinesPerSecond=20

(2)、高级配置段


三、zabbix监控配置流程

1、zabbix监控配置流程

  主机组;

  主机;

  应用;

  监控项(key+parameters);

  触发器;

  动作(触发器触发后的动作);

  媒介(Email)。

2、触发器

  格式:{Server:key[parameter].function[arguments]}<操作符><constant>

  arguments:"#NUM"表次数,"NUM"表时间。last(0)表最近0秒,即最近一次。

3、action

  Source:trigger

  condition:条件,可用"与或非"

  operation: 发送的通知、远程命令 


zabbix脚本:/usr/lib/zabbix/alertscrits/*


4、自定义参数,修改agent

  agent配置文件:/etc/zabbix/zabbix_agentd.conf

  添加修改为:UserParameter=<key>[*],<command>

  # cd /etc/nginx/conf

  # cat userparameter_nginx.conf

  # cat userparameter_mem_mon.conf

5、宏 ---------------用于调用替换

  全局宏、模板宏、主机宏。内建宏、自定义宏。

6、网络发现

  网络发现的两个阶段:discovery阶段、actions阶段。

  网络发现的特点:加速zabbix部署、简化管理、可以无需手动管理。

7、web场景

  web场景,指监控web站点的资源下载和页面响应等数据。

  web场景,包含一个或多个http请求或步骤(steps)。

8、主动、被动检测

  被动检测:当server向agent请求相关的items配置数据时,agent接收请求并处理,然后才发送数据给server。

  主动检测(active):agent请求与自己相关的items配置数据,主动将自己的监控数据发给server。

9、zabbix基于SNMP的监控 ------------161/udp, 162/udp。

  配置文件:/etc/snmp/snmp.conf

  SNMP监控步骤:获取数据(get)、设置数据(set)、主动监控(trap)。

10、zabbix的代理

  两种代理模型:server-node-agent, server-proxy-agent。

  zabbix代理包:

    代理包:zabbix-proxy-mysql, zabbix-get

    传回server:zabbix-sender

    监控proxy主机:zabbix-agent




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







相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 缓存 监控
zabbix的架构是怎么样的?
zabbix的架构是怎么样的?
28 1
|
8月前
|
监控 数据库 安全
zabbix简介
zabbix简介
141 0
|
8月前
|
监控 Kubernetes 数据库
K8S搭建zabbix
K8S搭建zabbix
|
8月前
|
缓存 监控 前端开发
zabbix搭建
zabbix搭建
|
存储 监控 前端开发
zabbix 5.0部署
zabbix 5.0部署
235 1
|
监控 前端开发 数据可视化
【从零开始学zabbix】一丶Zabbix的介绍与部署Zabbix
大家好,docker篇完结之后苦思冥想了很久不知道做什么,看了一下感觉做监控方面文章并不多,于是过来撰写一下zabbix的文章,普罗米修斯的话要后面去了,zabbix也是很有意思的一个东西,如果你没有学过可以来跟着一起学一下,这个东西比较简单,可视化,学过的话可以当作复习来看一看,废话就不多说了,直接开始正题了。
315 0
【从零开始学zabbix】一丶Zabbix的介绍与部署Zabbix
|
监控 前端开发 安全
zabbix5.0部署(超级详细)
系统环境:CentOS-7-x86_64-Minimal-1708
333 1
zabbix5.0部署(超级详细)
|
运维 监控 Linux
|
监控 关系型数据库 PHP
|
Web App开发 运维 监控