zabbix —— 基于 WEB 界面的分布式系统监视

一、Zabbix的安装部署

后端搭建

1.搭建zabbix源
zabbix —— 基于 WEB 界面的分布式系统监视_第1张图片
机子一定要能上网,才能访问到相应链接

server端 :
2.安装zabbix-server
yum install zabbix-server -y

3.安装mariadb-server 并启动mariadb服务
yum install mariadb-server.x86_64 -y
systemctl enable --now mariadb.service

4.进入库,创建zabbix库名,以及只允许本地用户登陆的zabbix用户,并授予所有权限
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user ‘zabbix’@‘localhost’ identified by ‘westos’;
mysql> grant all privileges on zabbix.* to ‘zabbix’@‘localhost’;
zabbix —— 基于 WEB 界面的分布式系统监视_第2张图片

5.查看zabbix-server的文件
把压缩包里的初库以zabbix用户导入到zabbix库里
在这里插入图片描述

6.编辑zabbix-server服务主配置文件
/etc/zabbix/zabbix_server.conf
DBHost=localhost
zabbix —— 基于 WEB 界面的分布式系统监视_第3张图片

7.开启zabbix-server服务
systemctl start zabbix-server.service

8.安装zabbix-agent
yum install -y zabbix-agent
systemctl enable --now zabbix-agent

cat /var/log/zabbix/zabbix_server/agent.log

实验需在selinux允许或关闭的前提下!!

被监控(agent)端:
安装zabbix-agents
yum install -y zabbix-agent

编辑配置文件/etc/zabbix/zabbix_agentd.conf
zabbix —— 基于 WEB 界面的分布式系统监视_第4张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第5张图片
systemctl enable --now zabbix-agent

前端搭建

zabbix-agent服务负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。

server端:
yum install zabbix-web-mysql.noarch php-bcmath-5.4.16-46.el7.x86_64.rpm php-mbstring-5.4.16-46.el7.x86_64.rpm -y 后面两个需要依赖性,若没有可以去网上下载。

会发现会自动安装httpd,并在/etc/httpd/conf.d/ 下会生成zabbix.conf文件
编辑此文件
zabbix —— 基于 WEB 界面的分布式系统监视_第6张图片

这样通过互联网能访问到共享目录下的zabbix页面
http://172.25.11.11/zabbix (/zabbix == /usr/share/zabbix)
访问展示:
zabbix —— 基于 WEB 界面的分布式系统监视_第7张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第8张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第9张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第10张图片
这样就可以在页面上直观明了的看见想监控的数据了!

二、监控agent端

监测主机:

加载被监控端的不同种方法:

法一:图形界面点击创建主机
zabbix —— 基于 WEB 界面的分布式系统监视_第11张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第12张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第13张图片
添加成功
zabbix —— 基于 WEB 界面的分布式系统监视_第14张图片
法二:自动发现 server端 隔一小时自动去寻找发现
先做动作(群组、模板 再在自动发现里修改IP范围
在监测里的自动发现查看发现结果
zabbix —— 基于 WEB 界面的分布式系统监视_第15张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第16张图片
发现并且自动添加上了
zabbix —— 基于 WEB 界面的分布式系统监视_第17张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第18张图片

法三:自动注册 被监控端自己去找
自动注册里没有规则,要手动创建
zabbix —— 基于 WEB 界面的分布式系统监视_第19张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第20张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第21张图片

重新启动要添加的agent端服务
zabbix —— 基于 WEB 界面的分布式系统监视_第22张图片

在页面主机会自动添加好此被监控设备
zabbix —— 基于 WEB 界面的分布式系统监视_第23张图片
法四:Zabbix API以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。

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

1.在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌
这可以使用该 user.login 方法完成
zabbix —— 基于 WEB 界面的分布式系统监视_第24张图片
运行它会获得身份验证码
zabbix —— 基于 WEB 界面的分布式系统监视_第25张图片
2. 检索主机

curl -s -XPOST http://172.25.0.11/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": "d92fe1c5431825f9e90828867fac033f"
}' | python -m json.tool

注意: auth 属性现在设置为我们通过调用user.login方法获得的身份验证令牌。
zabbix —— 基于 WEB 界面的分布式系统监视_第26张图片

3.删除被监控设备

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

zabbix —— 基于 WEB 界面的分布式系统监视_第27张图片

zabbix —— 基于 WEB 界面的分布式系统监视_第28张图片

4.创建被监控设备

curl -s -XPOST http://172.25.0.11/zabbix/api_jsonrpc.php -H "Content-Type: application/json-rpc" -d '
{
"jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "server14",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "172.25.0.14",
                "dns": "",
                "port": "10050"
            }

 ],
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ]
      },
        "auth": "d92fe1c5431825f9e90828867fac033f",
         "id": 1
}' | python -m json.tool

zabbix —— 基于 WEB 界面的分布式系统监视_第29张图片
页面前端server14又被添加上了
zabbix —— 基于 WEB 界面的分布式系统监视_第30张图片
监测数据图形展示:
abbix web根据数据在前端进行展现和绘图。
zabbix —— 基于 WEB 界面的分布式系统监视_第31张图片

监测Nginx:

监控nginx与web服务端的并发允许连接次数,先安装部署好nginx,能获取到它的状态,agent服务获取这些数据信息给server端,最后在webui上显示出监测图形来。

1.先在agent12上部署好Nginx
yum install gcc pcre-devel openssl-devel -y
zabbix —— 基于 WEB 界面的分布式系统监视_第32张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第33张图片
加载相应模块

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 
make && make install

“–with-http_stub_status_module”,将该模块放到server里面
编辑/usr/local/nginx/conf/nginx.conf
zabbix —— 基于 WEB 界面的分布式系统监视_第34张图片
进入到/usr/local/nginx/sbin 启动nginx

./nginx 启动nginx
./nginx -s stop 关闭nginx
./nginx -s reload 重启nginx
./nginx -t 检测语法

curl 127.0.0.1/statuszabbix —— 基于 WEB 界面的分布式系统监视_第35张图片
2.让zabbix-agent服务来获取nginx与web服务端允许连接次数的数据信息
zabbix —— 基于 WEB 界面的分布式系统监视_第36张图片
在这里插入图片描述
systemctl restart zabbix-agent.service

server端检测是否能获取到此数据信息:
yum install zabbix-get -y
zabbix —— 基于 WEB 界面的分布式系统监视_第37张图片
web页面:
在要监控的主机里创建新的监控项
zabbix —— 基于 WEB 界面的分布式系统监视_第38张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第39张图片

在创建新的图形,把刚才新建的监控项加进去
zabbix —— 基于 WEB 界面的分布式系统监视_第40张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第41张图片

监控图形展示:
zabbix —— 基于 WEB 界面的分布式系统监视_第42张图片

监测服务:

http服务:

agent2端:
开启httpd服务
web端:
给主机2加上httpd监控模板
zabbix —— 基于 WEB 界面的分布式系统监视_第43张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第44张图片
mysql服务:
yum install mariadb-server -y
systemctl enable --now mariadb.service
mysqladmin password westos

查看/etc/zabbix/zabbix_agentd.conf里有没有include此句
zabbix —— 基于 WEB 界面的分布式系统监视_第45张图片
zabbix —— 基于 WEB 界面的分布式系统监视_第46张图片
systemctl restart zabbix-agent.service

server端检测下是否能get到:
在这里插入图片描述
web端:
zabbix —— 基于 WEB 界面的分布式系统监视_第47张图片
监测图形展示:
zabbix —— 基于 WEB 界面的分布式系统监视_第48张图片

  • GET

你可能感兴趣的:(企业实战,linux,nginx,数据库,zabbix)