Zabbix

Zabbix,第1张

Zabbix

Zabbix

介绍 常见监控软件

mrtg

  • mrtg(Multi Router Traffic Grapher)通过snmp协议得到设备的流量信息,并以包含PNG格式的图形的HTML文档方式显示给用户,现在很少使用

Cacti

  • 官网:https://www.cacti.net/

  • Cacti (仙人掌)是一套基于 PHP、MySQL、SNMP 及 RRD Tool 开发的监测图形分析工具,Cacti 是使用轮询的方式由主服务器向设备发送数据请求来获取设备上状态数据信息的,如果设备不断增多,这个轮询的过程就非常的耗时,轮询的结果就不能即时的反应设备的状态了。

  • Cacti 监控关注的是对数据的展示,却不关注数据异常后的反馈。如果凌晨 3 点的时候设备的某个数据出现异常,除非监控人员在屏幕前发现这个异常变化,否则是没有任何报警机制能够让我们道出现了异常。

Nagios

  • 官网:https://www.ntop.org/

  • Nagios 是一款开源的免费网络监控报警服务,能有效监控 Windows、Linux 和 Unix 的主机状态,交换机、路由器和防火墙等网络设置,打印机、网络投影、网络摄像等设备。在系统或服务状态异常时发出邮件或短信报警第一时间通知运维人员,在状态恢复后发出正常的邮件或短信通知。Nagios 有完善的插件功能,可以方便的根据应用服务扩展功能。

  • Nagios 已经可以支持由数万台服务器或上千台网络设备组成的云技术平台的监控,它可以充分发挥自动化运维技术特点在设备和人力资源减少成本。只是 Nagios 无法将多个相同应用集群的数据集合起来,也不能监控到集群中特殊节点的迁移和恢复。

Ganglia

  • 官网:http://ganglia.info/

  • Ganglia 是 UC Berkeley 发起的一个开源集群监视项目,设计用于测量数以千计的节点,资源消耗非常小。

  • 主要是用来监控系统性能,如:CPU 、内存、硬盘利用率, I/O 负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体 性能起到重要作用,目前是监控HADOOP的官方推荐服务。

open-falcon

  • 官网:http://open-falcon.org/

  • 小米发布的运维监控软件,高效率,高可用。但时间较短,用户基数小

Zabbix

  • 官网:https://www.zabbix.com/ 可以设置为中文文档

  • Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

  • Zabbix 是由 Alexei Vladishev 创建,目前由 Zabbix SIA 在持续开发和支持。

  • Zabbix 是一个企业级的分布式开源监控方案。

  • Zabbix 是一款能够监控各种网络参数以及服务器健康性和完整性的软件。

  • Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。

  • Zabbix 支持主动轮询和被动捕获

  • Zabbix开源

prometheus

  • 官网:https://prometheus.io/

  • 是一个基于时间序列的数值数据的容器监控解决方案

zabbix介绍

优点

  • 开源,无软件成本投入
  • Server对设备性能要求低
  • 支持设备多,自带多种监控模板
  • 支持分布式集中管理,有自动发现功能,可以实现自动化监控
  • 开放式接口,扩展性强,插件编写容易
  • 当监控的item比较多服务器队列比较大时,可以采用主动状态,被监控客户端主动从server 端去下载需要监控的item然后取数据上传到 server 端。 这种方式对服务器的负载比较小
  • Api 的支持,方便与其他系统结合

缺点

  • 需在被监控主机上安装 agent,所有数据都存在数据库里, 产生的数据据很大,瓶颈主要在数据库
  • 项目批量修改不方便
  • 社区虽然成熟,但是中文资料相对较少,服务支持有限
  • 入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发,难度较大
  • 系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;并且自定义的项目报警需要自己设置,过程比较繁
  • 缺少数据汇总功能,如无法查看一组服务器平均值,需进行二次开发
zabbix组件结构
  • Zabbix_Server:整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,所有配置、统计数据及 *** 作 数据都由它组织
  • 数据库存储:所有配置信息和Zabbix收集到的数据都被存储在数据库中
  • Web界面:为了从任何地方和任何平台都可以轻松的访问Zabbix, 我们提供基于Web的Zabbix界面。该界面是 Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理机器上(!如果使用SQLite,Zabbix Web界面必须要跟Zabbix Server运行在同一台物理机器上)
  • Zabbix_Proxy(可选):用于监控节点非常多的分布式环境中,它可以代理zabbix-server的功能,减轻zabbix_server的压力
  • Zabbix_Agent:zabbix_agent为客户端软件,用于采集各监控项目的数据,并把采集的数据传输给zabbix_proxy或zabbix_server

zabbix监控方式
  • 被动模式:
    • 被动检测:相对于agent而言; server向agent请求获取配置的各监控项相关的数据,agent接收请求、获取数据并响应给server;
  • 主动模式
    • 主动检测:相对于agent而言;agent向server请求与自己相关监控项配置,主动地将server配置的监控项相关的数据发送给server;
    • 主动监控能极大节约监控server的资源。
zabbix常用术语
  • 主机:一台你想监控的网络设备,用IP或域名表示
  • 主机组:主机的逻辑组;它包含主机和模板。一个主机组里的主机和模板之间并没有任何直接的关联。通常在给不同用户组的主机分配权限时候使用主机组
  • 监控项:你想要接收的主机的特定数据,一个度量数据
  • 触发器:一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式 当接收到的数据高于阈值时,触发器从“OK”变成“Problem”状态。当接收到的数据低于阈值时,触发器保留/返回一个“OK”的状态。
zabbix监控 基本环境配置 虚拟机IP地址主机名server1192.168.139.10zabbix_serverserver2192.168.139.20zabbix_agent1server3192.168.139.30zabbix_agent2
修改主机名
hostnamectl set-hostname zabbix_server
su
hostnamectl set-hostname zabbix_agent1
su
hostnamectl set-hostname zabbix_agent2
su

域名解析
cat >> /etc/hosts < 
zabbix服务器安装 
  • 下载Zabbix 4.0 LTS for CentOS 7, MySQL, Apache
准备yum源,安装服务组件
[root@zabbix_server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@zabbix_server ~]# yum clean all 
[root@zabbix_server ~]# yum makecache
[root@zabbix_server ~]# yum install zabbix-server-mysql zabbix-web-mysql 

创建初始数据库
[root@zabbix_server ~]# yum install -y mariadb-server.x86_64
[root@zabbix_server ~]# systemctl start mariadb
[root@zabbix_server ~]# systemctl enable mariadb
[root@zabbix_server ~]# mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user zabbix@localhost identified by '123456';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB [(none)]> quit

导入初始架构和数据,系统将提示您输入新创建的密码
[root@zabbix_server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password: 123456

为Zabbix server配置数据库
#默认值正确的不用打开注释,默认值不对的,要修改正确并打开注释
仅DBPassword和DBSocket需要修改,其他可忽略
[root@zabbix_server ~]# vim /etc/zabbix/zabbix_server.conf
[root@zabbix_server ~]# cat /etc/zabbix/zabbix_server.conf|grep -Ev '^#|^$'
ListenPort=10051
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456 
DBSocket=/var/lib/mysql/mysql.sock
ListenIP=0.0.0.0

为Zabbix前端配置PHP(设置时区)
[root@zabbix_server ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

启动Zabbix server进程
[root@zabbix_server ~]# systemctl restart zabbix-server httpd 
[root@zabbix_server ~]# systemctl enable zabbix-server httpd 
  • 浏览器访问http://192.168.139.10/zabbix/,并按提示进行安装
按照图示过程安装
1,welcome
2,Check of pre-requisites
3,Configure DB connection
数据库用户名填zabbix,密码填123456(前面授权过的)
4,Zabbix server details
在name选项填上你zabbix服务器的IP或者主机名
5,Pre-Installation summary
6,install

完成后
登陆用户名为:admin
登陆密码为:zabbix
  • 更换为中文界面


监控本机
  • 配置
[root@zabbix_server ~]# yum install zabbix-agent -y
[root@zabbix_server ~]# vim /etc/zabbix/zabbix_agentd.conf
[root@zabbix_server ~]# cat /etc/zabbix/zabbix_agentd.conf |grep -Ev '^#|^$'
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
[root@zabbix_server ~]# systemctl start zabbix-agent
[root@zabbix_server ~]# systemctl enable  zabbix-agent
  • 连接本机:zabbix的web界面–>配置–>主机–>默认看到叫Zabbix server的本机,但状态是停用的–>点击启用–>ZBX变为绿色,说明连接OK

  • 图形预览:配置–>主机–>图形–>选中其中一个–>预览

  • 解决乱码问题

传入已经下载好的字体包ttf-arphic-ukai.tar.gz
[root@zabbix_server ~]# yum install -y lrzsz
[root@zabbix_server ~]# rz

解压到zabbix的字体(fonts)目录
[root@zabbix_server ~]# find / -name fonts
/boot/grub2/fonts
/etc/fonts
/usr/share/fonts
/usr/share/httpd/noindex/css/fonts
/usr/share/zabbix/assets/fonts
[root@zabbix_server ~]# tar -zxf ttf-arphic-ukai.tar.gz -C /usr/share/zabbix/assets/fonts

将ttc重命名为ttf
[root@zabbix_server ~]# mv /usr/share/zabbix/assets/fonts/ukai.ttc /usr/share/zabbix/assets/fonts/ukai.ttf

修改原来的graphfont字体改成ukai
[root@zabbix_server ~]# vim /usr/share/zabbix/include/defines.inc.php 
 72 define('ZBX_GRAPH_FONT_NAME',       'ukai'); // font file name

监控远程主机
安装zabbix-agent
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
yum clean all 
yum makecache
yum install -y zabbix-agent

修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
-------------------------------------
Server=192.168.139.10	主动连接zabbix server
-------------------------------------

启动服务
systemctl start zabbix-agent.service 
systemctl enable zabbix-agent.service 

  • 创建主机:配置–>主机–>创建主机

  • 添加模板:配置–>主机–>选中主机名称–>模板–>选择–>选中需要的模板–>添加–>更新–>刷新等待ZBX变绿


zabbix用户与用户群组
  • 用户:zabbix提供多用户管理,不同的用户可以设置不同的权限,不同的语言,不同的报警方式等

  • 用户创建:管理–>用户–>创建用户–>用户–>按需创建–>添加

  • 用户群组:对用户进行分组管理

  • 创建用户群组:管理–>用户–>创建用户群组–>按需创建


主机和主机群组
  • 主机(host): 指被监控的一个设备(服务器,交换机等)
  • 主机群组(hostgroup): 指被监控的一组主机(主要应用在有特别多主机的情况,方便分组区分)
  • 创建主机群组:配置–>主机群组–>创建主机群组–>设置主机名–>添加–>可导入主机与模板
监控项与应用集
  • 监控项(item): 是从主机收集的数据信息,代表收集数据或监控的一个最小单位。

  • 创建监控项:配置–>主机–>选择主机的监控项–>创建监控项–>按需创建

  • 创建监控项的图形:配置–>主机–>选择主机的图形–>创建图形–>选择监控项,按需创建


  • 应用集(applications): 代表多个监控项目合成的组
自定义监控项

案例:自定义监控项登录,监控登录用户数

查看用户数
[root@zabbix_agent1 ~]# who
root     tty1         2021-08-21 15:33
root     pts/0        2021-11-05 02:28 (192.168.139.1)
[root@zabbix_agent1 ~]# who |wc -l
2

在被监控端,定义用户参数
[root@zabbix_agent1 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=login_users,who |wc -l
说明: login_users是自定义的键,who |wc -l命令为被监控的值
[root@zabbix_agent1 ~]# systemctl restart zabbix-agent.service

服务端测试,是否可以监控
[root@zabbix_server ~]# yum install -y zabbix-get
[root@zabbix_server ~]# zabbix_get -s 192.168.139.20 -k login_users
2
  • 创建自定义监控项:配置–>主机–>选择主机的监控项–>创建监控项–>按需创建

  • 创建监控项的图形:配置–>主机–>选择主机的图形–>创建图形–>设置名称,选择监控项,按需创建

聚合图形
  • 聚合图形:就是把多个重要常用的数据整合一起来显示,方便查看
  • 创建聚合图形:监测–>聚合图形–>创建聚合图形–>设置名称,行列,按需创建–>点击已创建的聚合图形–>编辑聚合图形–>更改–>选择–>添加

触发器
  • 触发器(trigger): 定义监控项到达一个临界值(阈值)或者满足一个条件,就会发现状态变化(OK变为Problem,Problem变为OK),触发报警

  • 创建触发器:配置–>主机–>选择主机的触发器–>创建触发器–>按需创建

  • 查看报警

监控nginx
  • 安装nginx并配置
[root@zabbix_agent1 ~]# yum install -y epel-release.noarch
[root@zabbix_agent1 ~]# yum install -y nginx

在nginx里的server{}配置段里加上下面一段,然后重启服务
[root@zabbix_agent1 ~]# vim /etc/nginx/nginx.conf
        location /status {
                stub_status on; 
                allow 192.168.139.10; 	# 必须要允许zabbix server访问(或zabbix_proxy)
                allow 127.0.0.1; 		# 允许本机访问
                allow 192.168.139.1;	# 加这个IP是为了windows宿主机访问用的
                deny all;
                access_log off;
        } 
[root@zabbix_agent1 ~]# systemctl start nginx.service 
[root@zabbix_agent1 ~]# systemctl enable nginx.service 
  • 浏览器访问
Active  connections:当前所有处于打开状态的活动连接数
accepts :已经接收连接数
handled : 已经处理过的连接数
requests : 已经处理过的请求数,在保持连接模式下,请求数量可能会大于连接数量
Reading: 正处于接收请求的连接数
Writing: 请求已经接收完成,处于响应过程的连接数
Waiting : 保持连接模式,处于活动状态的连接数
  • agent1上编写脚本
[root@zabbix_agent1 ~]# vim /opt/nginx_status.sh
#!/bin/bash

HOST="127.0.0.1"
PORT="80"

function ping {						# 这个不是ping,是判断nginx进程是否存在
    /sbin/pidof nginx | wc -l
}

function active {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function accepts {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
function reading {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
$1
[root@zabbix_agent1 ~]# chmod 755 nginx_status.sh 
  • 配置UserParameter
[root@zabbix_agent1 ~]# vim /etc/zabbix/zabbix_agentd.conf 
#添加
UserParameter=nginx_status[*],/otp/nginx_status.sh 
[root@zabbix_agent1 ~]# systemctl restart zabbix-agent.service 

服务端测试
[root@zabbix_server ~]# zabbix_get -s 192.168.139.20 -k nginx_status[handled]
5
[root@zabbix_server ~]# zabbix_get -s 192.168.139.20 -k nginx_status[reading]
0
  • 创建监控项

  • 创建图形

  • 创建聚合图形

web监测
  • web监测:类似一个监控项,可以对一个url页面进行监测(监测它的状态码,页面匹配的字符串,响应时间,下载速度等)

创建web监测

  • web监测可以创建一个场景,并包含多个步骤

  • 配置–>主机–>选择主机的web监控项–>创建web场景–>按需创建

  • 点击左上角步骤–>添加–>按需创建–>添加


  • 查看状态:监控–>web检测
  • 配置httpd服务
[root@zabbix_agent1 ~]# yum install -y httpd
[root@zabbix_agent1 ~]# echo "agent1 主页" > /var/www/html/index.html
[root@zabbix_agent1 ~]# systemctl start httpd
[root@zabbix_agent1 ~]# systemctl enable httpd

[root@zabbix_server ~]# curl http://192.168.139.20
agent1 主页
[root@zabbix_server ~]# curl -I http://192.168.139.20
HTTP/1.1 200 OK
Date: Fri, 05 Nov 2021 13:41:45 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16
Last-Modified: Fri, 05 Nov 2021 13:37:28 GMT
ETag: "e-5d00abe8e4390"
Accept-Ranges: bytes
Content-Length: 14
Content-Type: text/html; charset=UTF-8
  • 再次查看状态
  • 创建图形监控状态码

  • 创建触发器
自动发现与动作
  • 发现:假设我现在需要添加监控100台主机,这个工作量有点大。所以我可以把这100台连好网络,配置并启动好zabbix-agent服务。然后在zabbix server上配置一个自动发现规则,自动发现这100台主机
  • 自动发现:是由服务端主动发起,Zabbix Server开启发现进程,定时扫描网络中符合条件的主机。
  • 动作:自动发现了这100台主机,但是还要添加监控主机和链接模板啊。这时可以通过动作来达到此目的

案例:自动发现agent2

  • 配置agent2
[root@zabbix_agent2 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
[root@zabbix_agent2 ~]# yum clean all
[root@zabbix_agent2 ~]# yum makecache 
[root@zabbix_agent2 ~]# yum install zabbix-agent

[root@zabbix_agent2 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.139.10
[root@zabbix_agent2 yum.repos.d]# systemctl start zabbix-agent.service 
[root@zabbix_agent2 yum.repos.d]# systemctl enable zabbix-agent.service 
  • 自动发现:配置–>自动发现–>创建自动发现规则–>添加

  • 查看发现的设备:监测–>自动发现(注意时间同步)

  • 添加动作(目的是将发现的主机添加到监控主机列表):
  • 配置–>动作–>将事件源改为自动发现–>启用默认的Auto discovery. Linux servers动作(可以对其修改)

。。。。。。漫长的等待(10分钟左右)

小结: 生产环境的自动化思路

  • cobbler自动安装系统和系统初始化
  • ansible实现配置自动化
  • 自动发现加动作实现自动监控与模板链接
模板
  • 模板(template): 就是包括监控项,应用集,触发器,图形,聚合图形,自动发现规则,web监测等的一组实体

  • 使用模板可以方便链接到主机,更改模板也会将更改应用到所有链接的主机

  • 创建模板:配置–>模板–>创建模板–>按需创建(模板名不能为中文)

导入导出
  • 导入导出的是xml格式文件
  • 导出主机:配置–>主机–>勾选将导出的主机–>导出
  • 导入主机:配置–>主机–>右上角导入
  • 导出模板:配置–>模板–>勾选将导出的模板–>导出
  • 导入模板:配置–>模板–>右上角导入
zabbix报警 介绍

zabbix的报警媒介支持email,jabber,sms(短信),微信,电话语音,QQ,钉钉等

睿象云平台报警
  • 申请账号:http://www.onealert.com/
  • zabbix告警




  • 按照官方文档进行 *** 作

睿象云-智能告警平台 (aiops.com)

切换到报警脚本目录
[root@zabbix_server ~]# grep -i alertscript /etc/zabbix/zabbix_server.conf 
### Option: alertscriptsPath
# alertscriptsPath=${datadir}/zabbix/alertscripts
alertscriptsPath=/usr/lib/zabbix/alertscripts
[root@zabbix_server ~]# cd /usr/lib/zabbix/alertscripts

获取Cloud alert Agent包
[root@zabbix_server alertscripts]# wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-4.0.0.tar.gz

解压、安装、认证
[root@zabbix_server alertscripts]# tar -xzf ca_zabbix_release-4.0.0.tar.gz 
[root@zabbix_server alertscripts]# cd cloudalert/bin 
[root@zabbix_server bin]# bash install.sh a15a6cd1d59c4db285adc8ea6b36aabc 
请输入Zabbix管理地址:192.168.139.10/zabbix
Check connection success!
请输入Zabbix管理员账号:Admin
请输入Zabbix管理员密码:zabbix
Create new action success!
Install zabbix agent success!
  • 查看是否安装成功


  • 配置告警策略

  • 验证(将触发器设置为登录用户数大于等于5,添加登录用户,查看效果)

QQ报警
  • 获取QQ邮箱授权码:登录QQ邮箱–>选择最上方设置–>账户–>开启POP3/SMTP服务–>生成授权码–>按要求发送短信–>我已发送–>获得16位授权码 lrwxjpuonrbidcie

  • 配置Email:管理–>报警媒介类型–>Email–>修改对应Email参数


  • 修改admin用户的报警媒介Email:管理–>用户–>Admin–>报警媒介–>添加接收报警邮件的邮箱–>点击更新

  • 添加触发器:同上(将触发器设置为登录用户数大于等于5)

  • 配置动作:配置–>动作–>点击启用Report problems to Zabbix administrators即可

  • 验证:添加登录用户

zabbix proxy 介绍
  • 参考网址:https://www.zabbix.com/documentation/3.4/zh/manual/distributed_monitoring/proxies

  • zabbix proxy应用场景

    • 跨内外网监控:当zabbix server与被监控机器不在同一个机房时,跨公网监控会很麻烦, 也会带来安全隐患(比如有防火墙的情况,需要防火墙开放的端口增多。而且像mysql数据库这类应用是不适合直接被公网连接的)

  • 分布式监控:当监控机主机特别多,甚至分散在不同的地域机房。这个时候zabbix server压力很大,所以可以通过增加zabbix proxy来代理收集每个机房里的主机信息,再统一给zabbix server

案例实现 虚拟机IP地址主机名server1192.168.139.10zabbix_serverserver2192.168.139.20zabbix_agent1server3192.168.139.30zabbix_proxy
  • 将主机agent2删除,自动发现禁用,告警禁用
  • 环境准备(其他同上)
[root@zabbix_agent2 ~]# hostnamectl set-hostname zabbix_proxy
[root@zabbix_agent2 ~]# su

sed -i 's/zabbix_agent2/zabbix_proxy/' /etc/hosts

[root@zabbix_proxy ~]# systemctl stop zabbix-agent.service
  • zabbix_proxy配置
安装
[root@zabbix_proxy ~]# yum install mariadb-server zabbix-proxy-mysql zabbix-agent -y

启动数据库,授权并导入数据
[root@zabbix_proxy ~]# systemctl start mariadb.service 
[root@zabbix_proxy ~]# systemctl enable mariadb.service 
[root@zabbix_proxy ~]# mysql
MariaDB [(none)]> create database zabbix_proxy default charset utf8;
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to 'zabbix'@'localhost' identified by '123456';
MariaDB [(none)]> flush privileges;

[root@zabbix_proxy ~]# zcat /usr/share/doc/zabbix-proxy-mysql-4.0.5/schema.sql.gz |mysql zabbix_proxy -uzabbix -p123456

修改zabbix_proxy上的配置文件
[root@zabbix_proxy ~]# vim /etc/zabbix/zabbix_proxy.conf
[root@zabbix_proxy ~]# cat /etc/zabbix/zabbix_proxy.conf|grep -Ev '^#|^$'
Server=192.168.139.10
DBPassword=123456
[root@zabbix_proxy ~]# systemctl start zabbix-proxy.service 
[root@zabbix_proxy ~]# systemctl enable zabbix-proxy.service 

监控本机,zabbix_proxy来代理自己(该步骤可忽略)
[root@zabbix_proxy ~]# cat /etc/zabbix/zabbix_agentd.conf|grep -Ev '^#|^$'
Server=192.168.139.30
ServerActive=192.168.139.30
Hostname=Zabbix_proxy
[root@zabbix_proxy ~]# systemctl restart zabbix-agent
[root@zabbix_proxy ~]# systemctl enable zabbix-agent

代理agent1
[root@zabbix_agent1 ~]# vim /etc/zabbix/zabbix_agentd.conf
[root@zabbix_agent1 ~]# cat /etc/zabbix/zabbix_agentd.conf|grep -Ev '^#|^$'
Server=192.168.139.30			agent的被动模式
ServerActive=192.168.139.30		agent的主动模式
Hostname=zabbix_agent1			agent的主动模式,需要加主机名

[root@zabbix_agent1 ~]# systemctl restart zabbix-agent

  • 创建主机:配置–>主机–>创建主机

  • 添加代理:管理–>agent代理程序–>创建代理

  • 将主机加入代理程序中:配置–>主机–>更改

分布式监控+自动注册+主动被动模式
  • 创建管理用户并配置报警策略
  • 创建模版
  • 在模版里加应用集与监控项
  • 自定义配置每一个监控项(如要监测cpu,mem,io,disk use等等)
  • 为相应的监控项创建图形,有些监控项可以多个合成一个图形,也有些监控项(如返回的字符串这种)无法创建图形
  • 为相应的监控项设置触发器
  • 完成基本模版的创建(可考虑创建更多模版,也可考虑将模版导出备份)
  • 配置自动发现或自动注册规则
  • 配置动作(指定监控符合哪些条件的主机,并为他们加入哪个组和链接哪些模版)
  • 使用ansible这种配置自动化工具,把所有需要被监控的机器从zabbix-agent安装,配置,启动服务一体化完成
  • 实现自动发现或自动注册,让所有被监控的机器自动被监控
  • 增加分布式监控或调整主动被动模式进行优化

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5504817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存