目录

一,zabbix介绍

二,部署zabbix

2.1 server端部署

2.2 agent端部署

2.3 中文字体乱码设置

三, Zabbix API方式配置


一,zabbix介绍

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

2)、zabbix的组成:

zabbix由两部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。

zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。

另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。

要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。

3)、zabbix的工作流程:

(1)Agent获取被监控端数据,发送给Server。

(2)Server记录所接收到的数据,存储在Database中并按照策略进行相应操作。

(3)Web Interface将收集到的数据和操作信息显示给用户。

4)、zabbix的主要特点:

安装与配置简单,学习成本低

支持多语言(包括中文)

免费开源

自动发现服务器与网络设备

分布式监视以及WEB集中管理功能

可以无agent监视

用户安全认证和柔软的授权方式

通过WEB界面设置或查看监视结果

email等通知功能

Zabbix主要功能:

CPU负荷

内存使用

-磁盘使用

网络状况

端口监视

日志监视。

5)、zabbix的发行版分为标准版和LTS版本

zabbix LTS与zabbix标准发行版本的生命周期有区别,普通版本6个月开发发行,支持6个月无限制支持,外加一个月有限制支持。

LTS为Long Term Support的简写,zabbix将为客户提供5年的支持服务。前三年完全支持与后两年有限制支持。前三年包括一般、关键、安全性问题解决,后两年包括关键、安全性问题解决。超出时间不提供技术支持服务。

二,部署zabbix

参考网站: https://www.zabbix.com/documentation/4.0/zh/manual

稳定起见使用LTS长期支持版本.

2.1 server端部署

Zabbix server 是整个 Zabbix 软件的核心程序。

Zabbix Server 负责执行数据的主动轮询和被动获取,计算触发器条件,向用户发送通知。它是 Zabbix Agent 和 Proxy 报告系统可用性和完整性数据的核心组件。Server 自身可以通过简单服务远程检查网络服务(如Web服务器和邮件服务器)。

Zabbix Server是所有配置、统计和操作数据的中央存储中心,也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将被发出通知给管理员。

基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web前端和数据库。

Zabbix 的所有配置信息都存储在 Server 和Web前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。这就是为什么 Zabbix 前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。

server端:

下载zabbix的官方软件包,将其放在宿主机的发布目录下,然后依次配置几个节点的yum源;

root@node1 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

[root@node1 ~]# cd /etc/yum.repos.d/

[root@node1 yum.repos.d]# vim zabbix.repo

[root@node1 yum.repos.d]# yum clean all

下载zabbixserver,agent,以及mysql的相关环境:

[root@node1 ~]# yum install zabbix-server-mysql zabbix-agent

[root@node1 ~]# rpm -ivh centos-release-scl-2-3.el7.centos.noarch.rpm centos-release-scl-rh-2-3.el7.centos.noarch.rpm

[root@node1 ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

[root@node1 ~]# tar xf mysql-5.7.33-1.el7.x86_64.rpm-bundle\(1\).tar

[root@node1 ~]# yum install -y mysql-community-client-5.7.33-1.el7.x86_64.rpm mysql-community-common-5.7.33-1.el7.x86_64.rpm mysql-community-libs-5.7.33-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.33-1.el7.x86_64.rpm mysql-community-server-5.7.33-1.el7.x86_64.rpm

[root@node1 ~]# systemctl start mysqld    启动

[root@node1 ~]# systemctl enable mysqld  设置开机自启动

[root@node1 ~]# cd /var/lib/mysql

[root@node1 mysql]# cat /var/log/mysqld.log 查看生成的零时密码

[root@node1 mysql]# mysql_secure_installation   初始化修改密码

密码要求:大小写,字符数字加特殊符号                   Zcx123,@

创建数据库:

mysql> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

mysql> create user zabbix@localhost identified by 'Zcx123,@';

Query OK, 0 rows affected (0.00 sec)

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

导入初始架构和数据,系统将提示输入新创建的密码。

[root@node1 mysql]# cd /usr/share/doc/zabbix-server-mysql-5.0.26/

[root@node1 zabbix-server-mysql-5.0.26]# zcat create.sql.gz | mysql -uzabbix -p zabbix

[root@node1 zabbix-server-mysql-5.0.26]# vim /etc/zabbix/zabbix_server.conf

[root@node1 zabbix-server-mysql-5.0.26]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf修改时区

[root@node1 ~]# systemctl enable --now zabbix-server zabbix-agent httpd rh-php72-php-fpm 启动并开机自启动

访问:

配置主机:点击配置-主机可以看到 sever 的状态是可用的,如果是红的可能是因为没有开启zabbix-agent;

2.2 agent端部署

Zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序(硬盘、内存、处理器统计信息等)。

Zabbix agent 收集本地的操作信息并将数据报告给 Zabbix server 用于进一步处理。一旦出现异常 (例如硬盘空间已满或者有崩溃的服务进程),Zabbix server 会主动警告管理员指定机器上的异常。

Zabbix agents 的极高效率缘于它可以利用本地系统调用来完成统计数据的采集。

前面在node2和node3上已经配置了软件仓库,此处直接下载agent所需的软件包即可,然后进行相应的配置;

先来配置node2上,然后启动服务:

[root@node1 ~]# cd /etc/yum.repos.d/

[root@node1 yum.repos.d]# scp zabbix.repo node2:/etc/yum.repos.d/

[root@node1 yum.repos.d]# scp zabbix.repo node3:/etc/yum.repos.d/

[root@node2 ~]# yum install -y zabbix-agent

[root@node2 ~]# cd /etc/zabbix/

[root@node2 zabbix]# vim zabbix_agentd.conf

[root@node2 zabbix]# systemctl enable --now zabbix-agent.service 启动并设为开机自启动

[root@node2 zabbix]# cat /var/log/zabbix/zabbix_agentd.log  查看日志

8084:20220818:174131.319 Starting Zabbix Agent [node2]. Zabbix 5.0.26 (revision 1eb7c56219b).

8084:20220818:174131.319 **** Enabled features ****

8084:20220818:174131.319 IPv6 support:          YES

8084:20220818:174131.319 TLS support:           YES

8084:20220818:174131.319 **************************

8084:20220818:174131.319 using configuration file: /etc/zabbix/zabbix_agentd.conf

8084:20220818:174131.319 agent #0 started [main process]

8086:20220818:174131.320 agent #2 started [listener #1]

8087:20220818:174131.321 agent #3 started [listener #2]

8088:20220818:174131.323 agent #4 started [listener #3]

8089:20220818:174131.324 agent #5 started [active checks #1]

8085:20220818:174131.326 agent #1 started [collector]

8089:20220818:174131.327 no active checks on server [192.168.0.11:10051]: host [node2] not found

从日志信息和监控页面可以看到,此时虽然开启了对应的端口,但是监控端并没有发现被监控端的信息,下来就需要对监控主机进行添加。

监控主机的添加分为三种

1.手动添加

如图所示,点击右上角添加主机:

然后写入主机名,选择群组;看所要监控的归到那个组里面;然后填入IP;

按提示创建模板:模板中可以选择预设的监控项,如监控硬盘/CPU的选项等等。如果没有,可以手动创建模板;此处选择操作系统的监控;

2.自动发现
先添加动作,启用动作,再配置并启动自动发现

添加动作并启用动作:

然后配置自动发现:

开一台虚拟机,下载所需要的agent信息,并配置agent信息如下所示:

[root@node3 ~]#  yum install -y zabbix-agent

[root@node3 ~]#  cd /etc/zabbix/

[root@node3 zabbix]# vim zabbix_agentd.conf

[root@node3 zabbix]#  systemctl enable --now zabbix-agent.service

由于刚才设置的时间过长,此时可能需要等待一定的时间才能被发现;并被检测。此时可以将其改为60s ,等待时间到了之后便会被自动发现;

3.自动注册

在做这个的时候,先将自动发现停用,删除node3主机否则会冲突;

此处不想在开更多的主机,将之前自动发现的主机删除;然后来做自动注册;

然后设置自动注册:

此时完成之后当有新的符合条件的主机时,便会自动添加近来。

如果没有添加进来,需要重启

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

2.3 中文字体乱码设置

以上在用中文查看图形时,页面信息会是乱码的情况;可以通过以下设置来将其调整完整;

[root@node1 yum.repos.d]# cd /etc/httpd
[root@node1 httpd]# cd conf.d/
[root@node1 conf.d]# cat zabbix.conf
[root@node1 conf.d]# cd /usr/share/zabbix
[root@node1 zabbix]# cd assets/
[root@node1 assets]# cd fonts/
[root@node1 fonts]# ll
total 0
lrwxrwxrwx 1 root root 33 Aug 15 18:59 graphfont.ttf -> /etc/alternatives/zabbix-web-font
[root@node1 fonts]# mv /root/simkai.ttf .   将文字体配置移到当前
[root@node1 fonts]# rm -rf graphfont.ttf   删除原软连接
[root@node1 fonts]# ln -s simkai.ttf graphfont.ttf  重新做个链接
[root@node1 fonts]# ll
total 4040
lrwxrwxrwx 1 root root      10 Aug 18 18:03 graphfont.ttf -> simkai.ttf
-rw-r--r-- 1 root root 4135804 Aug 18 18:01 simkai.ttf

三, Zabbix API方式配置

Zabbix API允许你以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。它广泛用于:

1).创建新的应用程序以使用Zabbix;

2).将Zabbix与第三方软件集成;

3).自动执行常规任务。

Zabbix API是基于Web的API,作为Web前端的一部分提供。它使用JSON-RPC 2.0协议,这意味着两件事:

1).该API包含一组独立的方法;

2).客户端和API之间的请求和响应使用JSON格式进行编码。

Zabbix API由许多名义上分组的独立API方法组成。每个方法执行一个特定任务。例如,方法 host.create 隶属于 host 这个API分组 ,用于创建新主机。历史上,API分组有时被称为“类”。

大多数API至少包含四种方法: get, create, update 和 delete ,分别是检索,创建,更新和删除数据,但是某些API提供一套完全不同的一组方法。

参考网站https://www.zabbix.com/documentation/4.0/zh/manual/api

1).登陆并获取身份验证令牌
[root@node1 ~]# vim zabbix-api.sh
curl -s -X POST -H 'Content-Type:application/json' -d '
{"jsonrpc": "2.0","method": "user.login",   #被调用的API方法名;"params": {             #将被传递给API方法的参数;"user": "Admin","password": "zabbix"},"id": 1,                #请求的任意标识符;"auth": null            #用户认证令牌; 如果没有的话可以设置为null
}' http://192.168.0.11/zabbix/api_jsonrpc.php | python -m json.tool
[root@node1 ~]# chmod +x zabbix-api.sh
[root@node1 ~]# ./zabbix-api.sh
{"id": 1,"jsonrpc": "2.0","result": "80b60b893faec39c60661c3a1c5db1fd"
}
可以看到请求的返回值包含一个80b60b893faec39c60661c3a1c5db1fd,后续增删改查就需要该token值。
2).获取主机列表
可以将其用一个脚本来写入,然后调用脚本来查看:
[root@node1 ~]# vim zabbix-api.sh
curl -s -X POST -H 'Content-Type:application/json' -d '
{"jsonrpc": "2.0","method": "host.get","params": {"output": ["host"]},"auth": "80b60b893faec39c60661c3a1c5db1fd","id": 1
}' http://192.168.0.11/zabbix/api_jsonrpc.php | python -m json.tool
[root@node1 ~]# ./zabbix-api.sh
{"id": 1,"jsonrpc": "2.0","result": [{"host": "Zabbix server","hostid": "10084"},{"host": "node2","hostid": "10436"},{"host": "node3","hostid": "10438"}]
}
3).删除主机
修改脚本内容如下所示:关闭自动注册,自动发现
[root@node1 ~]# vim zabbix-api.sh
curl -s -X POST -H 'Content-Type:application/json' -d '
{"jsonrpc": "2.0","method": "host.delete","params": ["10436"],"auth": "80b60b893faec39c60661c3a1c5db1fd","id": 1
}' http://192.168.0.11/zabbix/api_jsonrpc.php | python -m json.tool
[root@node1 ~]# ./zabbix-api.sh
{"id": 1,"jsonrpc": "2.0","result": {"hostids": ["10436"]}
}

4).创建主机
编辑脚本信息如下所示:
[root@node1 ~]# vim zabbix-api.sh
curl -s -X POST -H 'Content-Type:application/json' -d '
{"jsonrpc": "2.0","method": "host.create","params": {"host": "node2","interfaces": [{"type": 1,"main": 1,"useip": 1,"ip": "192.168.0.22","dns": "","port": "10050"}],"groups": [{"groupid": "2"}],"templates": [{"templateid": "10001"}]},"id": 1,"auth": "80b60b893faec39c60661c3a1c5db1fd"
}' http://192.168.0.11/zabbix/api_jsonrpc.php | python -m json.tool
[root@node1 ~]# ./zabbix-api.sh
{"id": 1,"jsonrpc": "2.0","result": {"hostids": ["10441"]}
}

zabbix监控——监控主机相关推荐

  1. 运维监控系统——使用API在zabbix监控系统中查看,创建及删除监控主机

    前言 API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节.提供API所定义的功能的软件称作此API的实现.API是一种接口,故而是一种抽象. 应用 ...

  2. 使用API 在zabbix监控系统中查看,创建及删除监控主机

    继上一篇博客,部署好zabbix监控 什么是API: API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基 ...

  3. zabbix添加监控主机/监控模板/聚合图形/触发器

    文章目录 zabbix添加监控主机 zabbix监控模板配置 zabbix聚合图形配置 zabbix触发器配置 zabbix中文名称报错/图形乱码问题处理 1.中文名称报错 2.zabbix图形乱码 ...

  4. Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做

    Linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon等等. cacti.smokeping偏向于基础监控,成图漂亮. cacti ...

  5. Zabbix监控详解

    Zabbix是什么 Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持. Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各 ...

  6. Linux实战教学笔记49:Zabbix监控平台3.2.4(一)搭建部署与概述

    https://www.cnblogs.com/chensiqiqi/p/9162986.html 一,Zabbix架构 zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企 ...

  7. zabbix监控-基本原理介绍

    一.Linux下开源监控系统简单介绍 1)cacti:存储数据能力强,报警性能差 2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中.比如,连续采样数 ...

  8. Zabbix监控httpd服务

    Zabbix监控httpd服务 一.工作要求及目的 二.WEB配置步骤 1.进入监控主机列表 2.链接模板 3.查看自定义HTTP端口监控项 4.查看自定义的触发器 三.客户端测试http服务停止报警 ...

  9. zabbix监控mysql最简单的方法

    该实验基于我的上一篇文章监控第一台主机的基础上 首先,因为水平有限,我选择直接关闭了防火墙和SELinux. 环境: 两台centos7,服务器端IP是192.168.200.128(以下简称主机), ...

最新文章

  1. NetworkOnMainThreadException异常
  2. 【Eclipse】将控制台输出直接保存到文本文件
  3. java jpa 规范_Java:在JPA中使用规范模式
  4. Cmake确实应该用到的时候再学
  5. Docker 使用 docker push 命令 推送本地镜像到远程DockerHub仓库服务器
  6. bzoj4448 [Scoi2015]情报传递
  7. 51nod1437 迈克步
  8. java jdom jar_jdom jar下载_jdom jar官方下载-太平洋下载中心
  9. 其实,以前都没发现------网易公开课
  10. 个人任务五——事后诸葛亮项目回顾
  11. 用hook android 微信,【第一篇】【安卓微信】HOOK微信发消息,当HOOK遇上HOOK。
  12. 计算机在运行 显示器出现黑屏,显示器黑屏但电脑一直在运行是什么原因
  13. Visualizing Search Results with Solr /browse Velocity
  14. 统计b站多p视频正在观看人数和弹幕的变化,制作折线图
  15. 《手把手教你学51单片机》之十三------1602液晶与串口的应用实例
  16. 策略路由中traffic-policy
  17. 机器学习技法课程学习笔记16 -- Finale
  18. Windows定时脚本
  19. Java Mail给163@com发送邮件,报554 DT:SPM错误
  20. [ERROR] InnoDB: Cannot open datafile for read-only: './dxh_sys/vendorUser.ibd' OS error: 71

热门文章

  1. R语言构建分位数回归(Quantile Regression)并计算R方指标实战
  2. linux的xstart命令怎么不能用,xmanger xstart 不能正常图形登录的问题
  3. 亚马逊账号安全问题,小白最关注的防关联操作!
  4. optuna在深度学习上自动调参
  5. oracle怎么建库表,Oracle 建库、建表、赋权限
  6. 给外部接口搞一个高大上的命名
  7. FPS最精确计算方式
  8. 免费上网玩悬念,最新8500WN二融合体验版
  9. chatgpt赋能python:Python如何变大字体的SEO技巧
  10. 单臂路由 + 网管交换机 详细设置