Zabbix基于 WEB 界面的分布式系统监视2(Zabbix-Java-tomcat-CA-Api)

一、Zabbix-java-tomcat

server端:

1、安装zabbix-java-gateway软件

yum install -y zabbix-java-gateway.x86_64
systemctl start zabbix-java-gateway
netstat -antulpe | grep 10052 #查看是否有10052这个端口

2.编辑zabbix_server.conf配置文件

vim /etc/zabbix/zabbix_server.conf
///
288 JavaGateway=172.25.51.1 #zabbix java gataway的IP
296 JavaGatewayPort=10052 #zabbix java gateway的端口
304 StartJavaPollers=5 # 从javaGateway采集数据的进程数 
\\\
systemctl restart zabbix-server

5、编辑zabbix_java_gateway.conf 文件

vim /etc/zabbix/zabbix_java_gateway.conf
\\\
9 LISTEN_IP="172.25.63.4" #ip
7 LISTEN_PORT=10052 #端口
35 START_POLLERS=5 #开启的线程数
///
systemctl restart zabbix-java-gateway.service

被监控的server3里:

1、在被监控端server3安装jdk和tomcat

yum install java -y
tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/

2、配置

cd /usr/local/
ln -s apache-tomcat-8.5.24 tomcat #做软链接,方便管理

3、编辑脚本文件

vim /usr/local/tomcat/bin/catalina.sh

在这里插入图片描述
4、启动tomcat服务

cd /usr/local/tomcat/bin
./startup.sh
netstat -antulpe | grep 8080
netstat -antulpe | grep 8888

配置zabbix浏览器端:
添加jmx接口:
在这里插入图片描述
添加JMX模板:
在这里插入图片描述
主机界面进行查看
查看JMX是否可用(JMX是绿色的才是正确的)
在这里插入图片描述

二、Zabbix-proxy

  • 当监控规模变得庞大时,我们可能有成千上万台设备需要监控,如果部署多套zabbix监控系统,那么监控压力将会被分摊,但是,这些监控的对象将会被尽量平均的分配到不同的监控系统中,这个时候,我们就无法通过统一的监控入口,去监控这些对象了,虽然分摊了监控压力,但是也增加了监控工作的复杂度,那么,我们到底该不该建立多套zabbix监控系统从而分摊巨大的监控压力呢?
  • 其实,zabbix天生就有处理这种问题的能力,因为zabbix支持分布式监控,我们可以把成千上万台的被监控对象分成不同的区域,每个区域中设置一台代理主机,区域内的每个被监控对象的信息被agent采集,提交给代理主机,在这个区域内,代理主机的作用就好比zabbix server,我们称这些代理主机为zabbix proxy,zabbix proxy再将收集到的信息统一提交给真正的zabbix server处理,这样,zabbix proxy分摊了zabbix server的压力,同时,我们还能够通过统一的监控入口,监控所有的对象。

server1(zabbix-server,zabbix-agent)
server2(zabbix-agent)
server4(proxy)

1、做解析:
在server2和server3中也需要做解析

vim /etc/hosts

在这里插入图片描述
2、关闭邮件报警
由于现在需要server4做代理主机,因此需要关闭之前实验在server4上配置的zabbix-agent,同样在网页端关闭邮件报警的功能
在这里插入图片描述
3、下载proxy和mariadb

yum install zabbix-proxy-mysql.x86_64 -y
yum install mariadb-server -y
systemctl start mariadb

4、配置数据库

mysql_secure_installation #改密码
mysql_secure_installation 
>create database zabbix_proxy character set utf8 collate utf8_bin;
#创建zabbix_proxy数据库,因为之后要在web界面进行操作,为了防止乱码,这里创建的数据库要求格式为utf-8
>grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix_proxy';
#创建zabbix用户,并对其进行授权

5、导入数据库

cd /usr/share/doc/zabbix-proxy-mysql-4.4.1/
zcat schema.sql.gz | mysql -pwestos zabbix_proxy

6、编辑zabbix-proxy的配置文件

vim /etc/zabbix/zabbix_proxy.conf 
///
30 Server=172.25.51.1
39 ServerPort=10051
49 Hostname=proxy
173 DBName=zabbix_proxy
188 DBUser=zabbix
196 DBPassword=redhat
338 JavaGateway=172.25.51.1
346 JavaGatewayPort=10052
354 StartJavaPollers=5
///
systemctl start zabbix-proxy

7、配置zabbix-agent server2:

vim /etc/zabbix/zabbix_agentd.conf
\\\
98 Server=172.25.51.4
139 ServerActive=172.25.51.4
\\\
systemctl restart zabbix-agent	

8、zabbix 浏览器端:

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

三、睿象云报警

1、真机配置ip地址伪装:

iptables -t nat -I POSTROUTING  -s 172.25.3.0/24 -j MASQUERADE #真机
ping baidu.com #双方都ping通

2、解压文件,配置连接

cd /usr/lib/zabbix/alertscripts/cloudalert/bin
tar -xzf /mnt/ca_zabbix_release-3.0.1.tar.gz
ls
cd cloudalert/bin/
./install.sh a9bf40fb308c4fd98a622244003c8443 #获取的key
#用户名:Admin
#密码:zabbix
#访问地址:http://172.25.3.6/zabbix

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、看日志是否报错,重启服务

cat /var/log/zabbix/zabbix_server.log
systemctl restart  zabbix-server.service

4、查看报警类型
在这里插入图片描述
5、动作详情
在这里插入图片描述
在这里插入图片描述
6、配置Cloud Alert通知策略
在这里插入图片描述
在这里插入图片描述
7、测试

systemctl stop httpd #被监控主机server2停用httpd

在这里插入图片描述

三、API调用

  • Zabbix API允许你以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。它广泛用于:创建新的应用程序以使用Zabbix; 将Zabbix与第三方软件集成;自动执行常规任务。
  • Zabbix API是基于Web的API,作为Web前端的一部分提供。该API包含一组独立的方法;客户端和API之间的请求和响应使用JSON格式进行编码。大多数API至少包含四种方法: get, create, update 和 delete ,分别是检索,创建,更新和删除数据。当完成了前端的安装配置后,你就可以使用远程HTTP请求来调用API。

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

curl -s -XPOST http://172.25.51.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
{
    "id": 1,
    "jsonrpc": "2.0",
    "result": "490f5ccc9fe26113508b91902ef131f7" #这一串就是令牌
}

2.API检索主机

curl -s  -XPOST http://172.25.51.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": 2,
> "auth": "d88d3878dbd052b8be7a7d83ca216064"
> }' | python -m json.tool

检索结果:

{
    "id": 2,
    "jsonrpc": "2.0",
    "result": [
        {
            "host": "Zabbix server",
            "hostid": "10084",
            "interfaces": [
                {
                    "interfaceid": "1",
                    "ip": "127.0.0.1"
                }
            ]
        },
        {
            "host": "server2",
            "hostid": "10264",
            "interfaces": [
                {
                    "interfaceid": "3",
                    "ip": "172.25.51.2"
                }
            ]
        },
        {
            "host": "server3",
            "hostid": "10265",
            "interfaces": [
                {
                    "interfaceid": "4",
                    "ip": "172.25.51.3"
                },
                {
                    "interfaceid": "5",
                    "ip": "172.25.51.3"
                }
            ]
        }
    ]
}

3.删除

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

删除结果:zabbix上web监控的主机被删除。
帮助文档:link

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾几人要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值