zabbix监控部署 与添加主机

zabbix介绍:

  • zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
  • zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
  • zabbix由2部分构成,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 server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
  • 要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。

主要功能:CPU负荷,内存使用,磁盘使用,网络状况,端口监视,日志监视。

官网:https://www.zabbix.com 下载安装包以及查看官方文档。

服务搭建:

安装 Zabbix server 并使用 MySQL 数据库

yum install zabbix-server-mysql.x86_64   -y

安装 Zabbix 前端

yum install     zabbix-web-mysql  -y

安装数据库mariadb并进行安全初始化:

yum install mariadb-server.x86_64  -y   
systemctl enable mariadb.service 
systemctl start mariadb.service 
mysql_secure_installation

登陆数据库并在数据库中创建库以及用户并进行授权:

create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';

导入数据,使用 MySQL 来导入 Zabbix server 的初始数据库 schema 和数据

在这里插入图片描述
由于该数据较多,导入的过程较长,不能中途打断。

成功后可进入数据库查看

mysql -p
use zabbix;
show tables;

在这里插入图片描述
配置zabbix server 配置文件

/etc/zabbix/zabbix_server.conf116 DBUser=zabbix
#这里的密码是zabbix用户的密码,不是数据库的登录密码
124 DBPassword=westos

启动 Zabbix server 进程
查看端口开启没:
在这里插入图片描述
httpd服务配置
需要在前端web页面展示监控结果。需要httpd服务开启并设置开机自动启动

/etc/httpd/conf.d/zabbix.confphp_value date.timezone Asia/Shanghai

在这里插入图片描述

测试zabbix server 是否设置好,在物理机浏览器进行测试 http://192.168.13.111/zabbix/setup.php

在这里插入图片描述
点击Next step,之后会看到一个页面,显示检查php的结果
继续往下,输入密码,密码是mysql中的密码
在这里插入图片描述
名字随便来一个把

在这里插入图片描述
显示成功安装的页面
在这里插入图片描述

登陆zabbix(默认用户是Admin,密码是zabbix)

在这里插入图片描述

登陆成功后,显示了以下的界面,点击右上角的"小人"头像
在这里插入图片描述

点击后选择language为Chinese(以便我们之后更好的操作),注意这里也可以更改密码。
在这里插入图片描述

在这里插入图片描述

监控的四种添加主机方式:

首先我们要做的是:
配置zabbix agent IP为192.168.13.112

yum install zabbix-agent.x86_64 -y

装好之后修改配置文件

vim /etc/zabbix/zabbix_agentd.conf98 Server=192.168.13.111        指定server主机,agent主机主动上报数据给server主机
139 ServerActive=192.168.13.111    server主机主动前来agent主机提取数据
150 Hostname=server2         指定本机的主机名称

启动服务,并设置服务开机自动启动

systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service

开启之后查看10050端口开启情况:已经正常开启

netstat -antlp

在这里插入图片描述
1 . 手动添加:

配置–>主机–>右上角创建主机
在这里插入图片描述
选好后在填下模板
在这里插入图片描述
添加完毕后的界面应该是这样的
在这里插入图片描述
手动的弊端就在于需要一个一个的去进行添加。当需要进行添加的服务器数量加大的时候,实现存在困难。

2 . 自动发现:

将之前创建的主机删除,避免其影响之后的结果
在这里插入图片描述
创建自动发现规则,填写名称;ip范围;更新间隔;检查等:(Zabbix 客户端 “system.uname”)选中已启用
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

然后查看新的主机是否被发现上线。

在这里插入图片描述
该过程是已经配置的好的agent主机,需要等待着被server主机按照一定的频率以及一定的条件(都在规则中进行规定)发现之后才能添加进监控。

3 . 自动注册:

  • agent可以实现自动注册,进而服务器对其进行监控。通过这种方式,无需在服务器上进行手动配置便可直接启动对新host的监控。
  • 当以前未知的active agent要求检查时,会发生自动注册。
  • 这样功能可以非常方便的自动监控新的Cloud节点。一旦在Cloud中有一个新节点,Zabbix将自动启动host的性能和可用性数据的收集。

在浏览器中点击配置->自动发现,点击“已启用”将自动发现禁用(也可以将其打上对勾,选择底下的禁用)

在配置—>动作—>选择右上角为自动注册—>点击创建动作
在这里插入图片描述
操作 新的,添加主机;添加到主机群组 linux server;链接到模板 template os linux;添加;

在这里插入图片描述
重新启动server2主机上的zabbix-agent服务。然后等待server2 主机被自动添加
在这里插入图片描述

4 . Api
Zabbix API允许你以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。

(1)它广泛用于:

  • 创建新的应用程序以使用Zabbix;
  • 将Zabbix与第三方软件集成;
  • 自动执行常规任务。

主机和主机组

什么是“主机”?

  • 一般来讲,Zabbix主机是指你希望监控的那些设备,例如服务器、工作站、交换机等等。
  • 创建主机是使用Zabbix过程中的一个首要任务。例如,如果你想在一台服务器“X”上监控一些参数,你必须首先创建一个主机称之为“服务器X”,然后就可以查看添加监控项到这台“服务器X”上。
  • 主机组是由主机组成的。

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

示例:

1 . 验证:在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌。这可以使用该 user.login 方法完成。

vim zabbix-api.sh
chmod +x zabbix-api 
./zabbix-api 

脚本内容如下图:

在这里插入图片描述

curl -s -XPOST -H "Content-Type: application/json-rpc" -d '
{"jsonrpc": "2.0","method": "user.login","params": {"user": "Admin","password": "zabbix"},"id": 1,"auth": null
}' http://192.168.13.111/zabbix/api_jsonrpc.php | python -m json.tool

运行脚本获得身份验证令牌:
在这里插入图片描述

值得注意的是:

  1. 请求的 Content-Type 头部必须设置为以下值之一: application/json-rpc, application/json 或 application/jsonrequest。

  2. 示例请求对象具有以下属性:

    jsonrpc - API使用的JSON-RPC协议的版本; Zabbix API实现的JSON-RPC版本是2.0;
    method - 被调用的API方法名;
    params - 将被传递给API方法的参数;
    id - 请求的任意标识符;
    auth -用户认证令牌; 因为我们还没有一个,它的设置null。

  3. 如果你正确提供了凭据,API返回的响应将包含用户身份验证令牌:
    响应对象又包含以下属性:
    jsonrpc - JSON-RPC协议的版本;
    result - 方法返回的数据;
    id - 相应请求的标识符。

2 . 检索主机:

现在有一个有效的用户身份验证令牌,可以用来访问Zabbix中的数据。例如,让我们使用 host.get 方法检索所有已配置主机的ID,主机名和接口 :

vim zabbix-api      # 修改脚本内容
./zabbix-api 

修改内容如下图所示:

在这里插入图片描述

curl -s -XPOST -H "Content-Type: application/json-rpc" -d '
{"jsonrpc": "2.0","method": "host.get","params": {"output": ["hostid","host"],"selectInterfaces": ["interfaceid","ip"]},"id": 2,"auth": "c565ff432984698f987811831128ceca"
}' http://192.168.13.111/zabbix/api_jsonrpc.php | python -m json.tool

执行脚本成功
在这里插入图片描述

3 . 删除主机:

使用 host.delete 方法删除指定的主机。

vim zabbix-api
./zabbix-api

在这里插入图片描述

curl -s -XPOST -H "Content-Type: application/json-rpc" -d '
{"jsonrpc": "2.0","method": "host.delete","params": ["10266"],"id": 2,"auth": "c565ff432984698f987811831128ceca"
}' http://192.168.13.111/zabbix/api_jsonrpc.php | python -m json.tool

执行脚本删除
在这里插入图片描述

4 . 创建主机:

创建一个具有IP接口的“Linux Server”主机,将其添加到主机组中,链接一个模板并且把MAC地址设置到主机资产清单里(注意:在实验开始之前需要将之前做的自动发现和自动注册取消,否则会报错,而且在实验开始之前需要将添加的主机进行删除,否则无法成功添加):

vim zabbix-api
./zabbix-api 
curl -s -XPOST -H "Content-Type: application/json-rpc" -d '
{"jsonrpc": "2.0","method": "host.create","params": {"host": "server2","interfaces": [{"type": 1,"main": 1,"useip": 1,"ip": "192.168.13.112","dns": "","port": "10050"}],"groups": [{"groupid": "2"}],"templates": [{"templateid": "10001"}]},"id": 2,"auth": "c565ff432984698f987811831128ceca"
}' http://192.168.13.111/zabbix/api_jsonrpc.php | python -m json.tool

运行脚本:
在这里插入图片描述

在网页上查看发现server2存在

在这里插入图片描述

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

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

相关文章

线段树 洛谷 p1531 I hate it(I hate it too)

这里写链接内容 线段树模板 字符串是一个很诡异的问题。。。。 #include<cstdio> #include<iostream> #include<string> #define q 200000 using namespace std; int a[q5],s[q<<25]; void bu(int o,int l,int r)//建树 {if(lr){s[o]a[r];} else{int…

打开是什么样子的图片_情侣头像 | 无论是什么样子的你 我都好喜欢

点击【情侣图片大全】- 右上角找到【…】立刻设我为星标/置顶 - 不迷路哦情侣图片大全“时光真疯狂&#xff0c;我一路执迷与匆忙”情侣/闺蜜/动漫/闺蜜网名长按图片保存 点击图片放大图片高清&#xff0c;建议在 W i f i 下浏览这个世界是多么神奇我竟然遇见了你无论是什么…

Java File类File [] listFiles()方法(带示例)

File类File [] listFiles() (File Class File[] listFiles()) This method is available in package java.io.File.listFiles(). 软件包java.io.File.listFiles()中提供了此方法。 This method is used to return the names of all the files in the form of an array of files…

zabbix监控平台添加服务(http,nginx,mysql)

1 . 监控httpd服务&#xff1a; 首先确保已经搭建zabbix监控平台&#xff0c;并且将需要监控的主机已经添加。 对主机server2 上的http服务进行监控&#xff0c;首先确保server2主机安装了http服务。 使用http在zabbix中自带监控模版 点击配置->主机->server2->模…

java为什么要重写hashCode和equals方法

如果不被重写&#xff08;原生&#xff09;的hashCode和equals是什么样的&#xff1f;不被重写&#xff08;原生&#xff09;的hashCode值是根据内存地址换算出来的一个值。 不被重写&#xff08;原生&#xff09;的equals方法是严格判断一个对象是否相等的方法&#xff0…

stl中map函数_map :: max_size()函数,以及C ++ STL中的Example

stl中map函数C STL映射:: max_size() (C STL map::max_size() ) It returns the maximum number of elements the container(map) is able to hold but at runtime, the size of the container may be limited to a value smaller than specified by max_size() by the amount…

arduino 蓝牙示例_Arduino简单实例之八_蓝牙模块

1) 说明&#xff1a;蓝牙模块用于和手机或其它带蓝牙的设备通讯。蓝牙设备分为主从两种模式&#xff0c;作为主设备时&#xff0c;它查找和连接其它设备&#xff1b;作为从设备时只能被只它设备连接&#xff1b;通讯模式分透明传输和AT命令模式。最好购买主从一体的蓝牙模…

zabbix使用JMX监控tomcat

JMX 全称是Java Management Extensions,即Java管理扩展。Java程序会开放一些端口&#xff0c;用来获取运行状况。 从Zabbix2.0开始&#xff0c;内置了监控JMX的功能,叫做"Zabbix Java Gateway ",在Zabbix Serve上会启动名为"Zabbix Java Gateway "的进程&…

自定义控件添加属性_|AutoCAD LT 2019 Mac自定义功能区的方法

AutoCAD LT是一款非常好用的CAD三维设计绘图软件&#xff0c;最新版本2019拥有改进的桌面、新应用实现跨设备工作流&#xff0c;以及DWG比较等新功能&#xff0c;并且AutoCAD LT 2019 Mac可以根据你的需要和工作习惯来自定义功能区&#xff0c;下面为大家带来自定义功能区的详细…

操作系统中的文件系统和访问方法

文件 (File) A file is basically a sequence of bytes organized into blocks that are understandable by any machines. In other words, the collection of related information that is stored in a secondary storage device is also called a file. The file is a colle…

centos7镜像加速_docker 镜像加速CentOS7详细介绍

前言在Docker Hub官网上注册帐号&#xff0c;即可下载使用仓库里的全部的docker镜像。而因为网络原因&#xff0c;国内的开发者没办法流畅的下载镜像&#xff0c;经常会出现下载中断的错误。解决方法就是使用国内的容器Hub加速服务&#xff0c;本质就是更改pull优先级较高的服务…

java 根据类名示例化类_Java LocalDateTime类| atOffset()方法与示例

java 根据类名示例化类LocalDateTime类atOffset()方法 (LocalDateTime Class atOffset() method) atOffset() method is available in java.time package. atOffset()方法在java.time包中可用。 atOffset() method is used to create an OffsetDateTime to merge this LocalDat…

Zabbix监控——proxy 分布式监控配置

proxy分布式监控 Zabbix proxy是在大规模分布式监控场景中&#xff0c;采用的一种用以分担server端压力的分层结构&#xff0c; proxy可以代替zabbix server检索客户端的数据&#xff0c;然后把数据汇报给zabbix server&#xff0c;极大的减轻了server的负载压力&#xff0c;使…

AutoCAD_acadiso.dwt卡死

2019独角兽企业重金招聘Python工程师标准>>> 问题描述&#xff1a;每次执行到打开acadiso.dwt就卡死&#xff0c;且电脑显示有网&#xff0c;确打不开网页 可能原因&#xff1a;可能是因为AotuCAD是盗版的 解决办法&#xff1a; 1.在任务管理器中把WSCommCntr.exe进…

else 策略模式去掉if_java – 用状态/策略模式替换if/else逻辑

我认为你应该使用GoF模式Chain of responsibility.你应该引入两个接口&#xff1a;1)你将检查正确条件的条件,例如“如果zip文件不存在”并返回布尔结果 – 如果条件满足则返回“true”,否则“else”,2)执行策略,它将运行分配有条件的动作,例如&#xff1a; “从指定的URL下载它…

docker简介与搭建

1 . 对docker的理解&#xff1a; Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows 机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间…

Java BigInteger类| toByteArray()方法与示例

BigInteger类testBit()方法 (BigInteger Class testBit() method) testBit() method is available in java.math package. testBit()方法在java.math包中可用。 testBit() method is used to convert this BigInteger to a byte [] that holds 2s complement denotation of thi…

007_Web to lead

转载于:https://www.cnblogs.com/bandariFang/p/6229491.html

设置header_Nginx的这些安全设置,你都知道吗?

Nginx 是最流行的 Web 服务器&#xff0c;可以只占用 2.5 MB 的内存&#xff0c;却可以轻松处理 1w 的 http 请求。做为网站的入口&#xff0c;Nginx 的安全设置重要性不言而喻。下面带你一起去认识一下这些安全配置吧&#xff01;nginx.conf是 Nginx 最主要的配置文件&#xf…

动态路由协议_动态路由协议的类别

动态路由协议Dynamic routing protocols have been divided into 2 categories i.e Distance vector protocols and Link state protocols. Both of these protocols are being explained in detail in this tutorial. 动态路由协议分为距离矢量协议和链路状态协议两大类 。 本…