zabbix2.0

  • zabbix自动发现

  • zabbix代理设置

  • snmp ············》监控网络设备

监控的模式:

1、zabbix的主动模式和被动模式

主动和被动模式都是对于客户端而言的

  • 主动模式:客户端主动将数据发送给server或者是代理

  • 被动模式:服务端或者proxy(代理)主动去找客户端索要数据 ·············》被动模式(默认)

被动模式在成规模的集群(成百上千的情况),都是由服务端主动去找,那么服务端的压力会很大

自动发现:服务端可以自动发现客户端,并且把客户端添加到监控组当中去

1、zabbix官网提供的API内部的接口

api和端口之间的区别

  • 端口:应用和应用之间的通信

  • 应用内部的组件进行通信的是API

内部的token密钥,首先要获取内部的通信密钥

官方获取内部token密钥的方法

复制代码
curl -s -X POST -H 'Content-Type:application/json' -d '
{
  "jsonrpc": "2.0",
  "method": "user.login",
  "params": {
    "username": "Admin",
    "password": "zabbix"
  },
  "id": 1
}' http://192.168.31.10/zabbix/api_jsonrpc.php

curl -s -X POST -H 'Content-Type:application/json' -d '
{
  "jsonrpc": "2.0",
  "method": "host.create",#定义请求的方法,方法有很多,创建主机
  "params": {
     "host": "test2",#定义客户端的主机名
     "interfaces": [  #定义监控项的类型和客户端的信息
       {
         "type": 1,#类型为1 agent 2 snmp 3 umpi 4 jmx
         "main": 1,#调用主接口
         "useip": 1,#0 ···使用dns解析主机名,1 ···表示使用ip地址
         "ip": "192.168.233.20",客户端ip地址
         "dns": "",
         "port": "10050"#客户端端口
       }
   ],
   "groups": [
      {
         "groupid": "2"#所属的主机id
        }
   ],
   "templates": [
   {
        "templateid": "10001"#所属的模板的id
   }
   ]
},
"auth": "d42ab5124b4e066114d26cfb1f6cfe9a",
"id": 1
}' http://192.168.31.10/zabbix/api_jsonrpc.php | python3 -m json.tool

f8G3K9s2!mB4@xL7#pQ6vZ1n0

apt install -y zabbix-proxy-mysql zabbix-get zabbix-sql-scripts

apt install -y mariadb-server( =mysql )

mysql_secure_installation

复制代码
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;

cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql -u root -p123456 zabbix_proxy

复制代码
curl -s -X POST -H 'Content-Type:application/json' -d '
{
  "jsonrpc": "2.0",
  "method": "host.create",
  "params": {
     "host": "test3",
     "proxy_hostid": "10636",
     "interfaces": [
       {
         "type": 1,
         "main": 1,
         "useip": 1,
         "ip": "192.168.233.30",
         "dns": "",
         "port": "10050"
       }
   ],
   "groups": [
      {
         "groupid": "2"
        }
   ],
   "templates": [
   {
        "templateid": "10001"
   }
   ]
},
"auth": "d42ab5124b4e066114d26cfb1f6cfe9a",
"id": 1
}' http://192.168.233.10/zabbix/api_jsonrpc.php | python3 -m json.tool

批量添加主机的脚本

复制代码
#!/bin/bash
IP="
192.168.233.20
192.168.233.40
"
for i in ${IP}
do
#获取主机名
hostname=$(nslookup ${i} | grep 'name =' | awk '{print $4}'| sed 's/\.//')

curl -s -X POST -H 'Content-Type:application/json' -d '
{
  "jsonrpc": "2.0",
  "method": "host.create",
  "params": {
     "host": "'${hostname}'",
     "interfaces": [
       {
         "type": 1,
         "main": 1,
         "useip": 1,
         "ip": "'${i}'",
         "dns": "",
         "port": "10050"
       }
   ],
   "groups": [
      {
         "groupid": "2"
        }
   ],
   "templates": [
   {
        "templateid": "10343"
   }
   ]
},
"auth": "2e8954eca193054c88b919d39bc93e7a",
"id": 1
}' http://192.168.233.10/zabbix/api_jsonrpc.php | python3 -m json.tool
done

zabbix-snmp监控:

snmp:简单网络管理协议

simple network management protocol:用来监控和管理网络设备的标准协议

路由器,交换机等等

snmp-agent sys-info version all

snmp1 snmp2 snmp3 all 开启snmp协议之后,支持以上的所有版本。

snmp-agent community write public

路由器设备可以被哪些团体进行读写,public:公共组,所有设备都可以读写路由器的配置信息

复制代码
snmp-agent target-host trap-hostname zabbix address 192.168.233.10 udp-p
ort 161 trap-paramsname zabbix

声明监控的zabbix的server端的ip地址,和snmp的监听端口

view systemonly included .1.3.6.1.2.1.25.1

设备的oid信息,一般都是从设备厂商直接获取

1: 表示设备名,查询设备的所有信息

数字越短,能看到的信息就越多

zabbix监控:

zbx jmx ipmi snmp

zbx---传统监控,监控服务器状态和服务器上应用状态

snmp

代理配置:一般都是代理直接收集客户端的数据。

自动发现和代理的配置,可以通过api接口的方式实现

在当中写监控组件的时候,写了zabbix可以写普罗米修斯

如果写了普罗米修斯,就不需要再配置zabbix ···················》k8s集群当中

zabbix不适用监控容器,监控容器和k8s的pod的资源情况,使用普罗米修斯

相关推荐
严同学正在努力4 分钟前
从备份到恢复:我用 30 分钟恢复了误删的核心业务表
android·java·数据库·ai
梦想三三31 分钟前
LangChain Output Parser 实战:从字符串到结构化数据的完整指南
android·服务器·langchain·github·uv
爱笑鱼3 小时前
Binder(八):远端进程死了,BinderProxy 为什么还能收到通知?
android
Android-Flutter3 小时前
Kotlin 冷流与热流详解
android·kotlin
zhangphil3 小时前
Android ContentProvider/ContentResolver读图片,跨进程 IPC慢
android
yueqc14 小时前
Android .so 文件压缩
android·so·包体积
龚礼鹏4 小时前
深入解析 Android Automotive (AAOS) 启动流程与 CarService 核心机制(基于 Android 16 最新源码视角)
android
rosmis4 小时前
agent各指标定义
android·java·开发语言
风样滴男人哟5 小时前
PHP特性之反射类ReflectionClass机制
android·开发语言·php
小孔龙6 小时前
RenderNode 与 DisplayList:Android 硬件加速的绘制记录与复用
android·性能优化