其他分享
首页 > 其他分享> > zabbix监控系统

zabbix监控系统

作者:互联网

一、zabbix简介

01_zabbix简介

zabbix官网
zabbix中文手册
监控工具mrtg,cacti,rrdtool,nagios,zabbix比较和安装

02_zabbix功能

数据采集

可用性和性能检查;
支持 SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware 监控;
自定义检查;
按照自定义的时间间隔采集需要的数据;
通过 Server/Proxy 和 Agents 来执行数据采集。

灵活的阈值定义

您可以参考后端数据库定义非常灵活的告警阈值,即触发器

高度可配置化的告警

可以根据递增计划、接收者、媒介类型自定义发送告警通知;
使用宏变量可以使告警通知变得更加高效有用;
自动操作包含远程执行命令。

实时图形

使用内置图形功能可以将监控项实时绘制成图形。

Web 监控功能

Zabbix可以追踪模拟鼠标在 Web 网站上的点击操作,来检查 Web 网站的功能和响应时间。

丰富的可视化选项

可以组合多个监控项到单个视图中,创建自定义图表;
网络拓扑图;
以仪表盘样式展示自定义聚合图形和幻灯片演示;
报表;
监控资源的更高层次展示视图(业务视图)。

历史数据存储

存储在数据库中的数据;
历史配置;
内置数据管理机制(housekeeping)。

配置简单

将被监控设备添加为主机;
主机一旦添加到数据库中,就会采集数据用于监控;
将模板用于监控设备。

使用模板

模板中分组检查;
模板可以关联模板,继承已关联模板的属性。

网络发现

自动发现网络设备;
Zabbix Agent 发现设备后自动注册;
自动发现文件系统、网络接口和 SNMP OIDs 值。

快捷的 Web 界面

基于 PHP 的 Web 前端;
可以从任何地方访问;
您可以定制自己的操作方式;
您可以通过审计日志来查看你的操作。

Zabbix API

Zabbix API 为 Zabbix 提供可编程接口,用于批量操作、第三方软件集成和其他用途。

权限管理系统

安全的用户身份验证;
指定的用户只能查看指定的权限范围内的视图。

功能强大且易于扩展的 Zabbix Agent

部署于被监控对象上;
支持 Linux 和 Windows ;

二进制守护进程

为了更好的性能和更少的内存占用,采用 C 语言编写;
便于移植。

适应更复杂的环境

使用 Zabbix Proxy 代理,可以轻松实现分布式远程监控。

03_zabbix架构

Zabbix 由几个主要的功能组件组成,其功能介绍如下所示。

Server

数据库

Web 界面

Proxy

Agent

数据流

04_zabbix常用术语

zabbix常用术语

二、server端安装与配置

01_ 配置软件仓库

可以用官网yum源,但使用阿里云镜像网站,速度更快!

获取官方yum源方式
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

本实验选择阿里源
vim /etc/yum.repos.d/zabbix.repo

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch 
baseurl=http://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=0

02_zabbix-server的数据库安装与配置

server1:172.25.2.1

mysql
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'localhost' identified by '密码';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> quit;

在这里插入图片描述

DBHost=localhost#默认
DBName=zabbix#默认
DBUser=zabbix#默认
DBPassword=westos

在这里插入图片描述

03_安装zabbix-agent

yum install -y zabbix-agent
systemctl enable --now zabbix-agent
netstat -antlupe | grep zabbix:查看端口
在这里插入图片描述

04_前端配置

php_value date.timezone Asia/Shanghai
执行:%s/graphfont/simkai/g

在这里插入图片描述

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

三、agent端配置(被监控主机)

server2:172.25.2.2
server3:172.25.2.3

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch 
baseurl=http://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=0
Server=172.25.2.1#监控系统server端的IP
ServerActive=172.25.2.1#监控系统server端的IP
Hostname=server2或server3 #agent端 本机的hostname

vim /etc/hosts:配置解析

172.25.2.1	server1
172.25.2.2	server2
172.25.2.3	server3

四、手动添加被监控agent主机

官方文档配置相关内容

  1. 选择1. “配置”–2. “主机”–3. “创建主机”
  2. 创建主机
    在这里插入图片描述

在这里插入图片描述

  1. 给主机添加模板
    在这里插入图片描述
  2. 稍等片刻后,添加主机的ZBX图标变绿后,则添加成功且监控成功!
    在这里插入图片描述

五、自动化添加被监控主机

01_server端自动发现

  1. 启用“自动发现”动作
    在这里插入图片描述
  2. 启用“自动发现”规则
    在这里插入图片描述
  3. 检测:成功自动发现server3
    在这里插入图片描述

02_agent端自动注册

  1. 禁用自动发现,以免干扰本次实验
    在这里插入图片描述
  2. 因主机有限,删除server3
    在这里插入图片描述
  3. 创建“自动注册”
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  1. 重启server3的agent服务

systemctl restart zabbix-agent.service

  1. 查看,server3自动注册成功!

在这里插入图片描述

  1. 成功后停用掉自动注册,进行后面实验
    在这里插入图片描述

六、API

官方操作指导

01_API梗概

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

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

结构

server1:172.25.2.1

02_获取身份认证令牌 user.login

请求对象属性:

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

在这里插入图片描述

响应对象属性:

03_检索主机 host.get

vim get_zabbix_api.sh

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

在这里插入图片描述

04_删除主机 host.delete

vim del_zabbix_api.sh

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

在这里插入图片描述server3已删除
在这里插入图片描述

05_创建主机 host.create

vim create_zabbix_api.sh

curl -s -XPOST http://172.25.2.1/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '
{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "server3",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "172.25.2.3",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ],
        "inventory_mode": 0,
        "inventory": {
            "macaddress_a": "01234",
            "macaddress_b": "56768"
        }
    },
    "auth": "bca627f5f2aa8e50d0ee8ccbfcba5f13",
    "id": 1
}' | python -m json.tool

在这里插入图片描述server3已创建

在这里插入图片描述

七、添加httpd模板

server2:172.25.2.2

八、创建nginx监控项

server3:172.25.2.3

#CFLAGS="$CFLAGS -g"
#注释此行(127行),关闭debug,可以使安装后的二进制文件更小

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module configure脚本,指定安装路径等参数

make && make install

location /status {
        stub_status on;
        access_log off;#不记录日志
        allow 127.0.0.1;
        deny all;
}

在这里插入图片描述

nginx -t
nginx

在这里插入图片描述
Active connections 并发连接数
accepts 允许连接次数
handled 建立tcp三次握手次数
requests 处理请求次数

UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk 'NR==3{print $1}'
UserParameter=nginx.handled,curl -s http://127.0.0.1/status | awk 'NR==3{print $2}'
UserParameter=nginx.request,curl -s http://127.0.0.1/status | awk 'NR==3{print $3}'

systemctl restart zabbix-agent.service:重启服务
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

标签:系统,Zabbix,server,nginx,zabbix,监控,172.25
来源: https://blog.csdn.net/sl963216757/article/details/117250599