从零开始的云计算生活——番外6,使用zabbix对中间件监控

目录

一.网络设备监控

1、GNS模拟器的使用

创建路由

创建交换机

2.构建网络

3.添加Cisco路由器的监控

二.中间件监控

1、MySQL数据库监控

1.1、拷贝自定义的监控脚本到指定目录

1.2、添加监控用户

1.3、重启zabbix-agent服务

1.4、在zabbix-server服务端测试数据

1.5、在UI界面添加监控模版

2、Redis数据库监控

下载agent2

修改配置

3、Nginx服务监控

修改Nginx配置文件

重启Nginx生效配置

验证状态页是否正常

[配置Zabbix Agent](#配置Zabbix Agent)

4、MySQL主从监控

配置主从配置

​主库配置(192.168.71.192)​

从库配置(192.168.71.193)​

在被监控端创建监控脚本

[​配置Zabbix Agent2](#配置Zabbix Agent2)

5、Redis集群监控


一.网络设备监控

1、GNS模拟器的使用

创建路由

下载安装好GNS后,最开始是没有路由设备的,需要自己创建,先点击Edit里的Preferences

进去之后点击IOS routers下的new创建新路由

选择之前安装包所在文件夹里的C3640

点击选择后出现提示不是英文要转换一下,点ok和yes即可

一直点下一步即可完成创建路由器

完成后发现完成创建

点击C3600后点击打开,再右键点击console,等待开机并回车确认

再点击idle-PC

一定选择带星号的,并且最大的,图下则选择58*

创建交换机

再添加一个交换机,步骤与路由相同,唯二不同则是在以下界面打勾,和接口

创建完成后发现已经有了交换机,步骤相同,先开机,再点console,回车,

2.构建网络

分别选择vm1和vm2网络进行连接

创建两台虚拟机,并分别连入VM1和VM2,确定网络编辑器

开机之后打开路由(start)

(选择使用)可以连接WindTerm

对路由进行配置

为虚拟机添加虚拟地址

配置网关(net后加0/0是任意网关,可以单独指向地址段,也可以任意)

测试连通性

再次加入一组路由和主机,将zabbix主机连到路由上

使用zabbix主机测试连通性

3.添加Cisco路由器的监控

增加共同体

创建主机组

添加主机

修改宏后点击添加

添加Cisco的模板

等待可用后,选择图形查看

如果没有数据,可以选择缩短时间来看

二.中间件监控

1、MySQL数据库监控

在被监控机下载mysql

1.1、拷贝自定义的监控脚本到指定目录

将配置文件直接复制到zabbix目录下

复制代码
cp /usr/share/doc/zabbix-agent/userparameter_mysql.conf  /etc/zabbix/zabbix_agentd.d/

进入配置文件,测试命令可行性

确认都可行之后,重启zabbix_agent服务,在模板里,将之前的取消,选择新的模板

然后去模板处查看使用说明

Requirements for template operation:

  1. Install Zabbix agent and MySQL client. If necessary, add the path to the 'mysql' and 'mysqladmin' utilities to the global environment variable PATH.

  2. Copy the 'template_db_mysql.conf' file with user parameters into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don't forget to restart Zabbix agent.

  3. Create the MySQL user that will be used for monitoring ('<password>' at your discretion). For example:

CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';

GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';

For more information, please see MySQL documentation (https://dev.mysql.com/doc/refman/8.0/en/grant.html).

NOTE: In order to collect replication metrics, MariaDB Enterprise Server 10.5.8-5 and above and MariaDB Community Server 10.5.9 and above require the SLAVE MONITOR privilege to be set for the monitoring user:

GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW,SLAVE MONITOR ON *.* TO 'zbx_monitor'@'%';

For more information, please read the MariaDB documentation (https://mariadb.com/docs/server/ref/mdb/privileges/SLAVE_MONITOR/).

  1. Create '.my.cnf' configuration file in the home directory of Zabbix agent for Linux distributions (/var/lib/zabbix by default) or 'my.cnf' in c:\ for Windows. For example:

client

protocol=tcp

user='zbx_monitor'

password='<password>'

For more information, please see MySQL documentation (https://dev.mysql.com/doc/refman/8.0/en/option-files.html).

NOTE: Linux distributions that use SELinux may require additional steps for access configuration.

You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix-template-db-mysql

Generated by official Zabbix template tool "Templator"

1.2、添加监控用户

复制代码
mysql
create user root@'192.168.115.%' identified by '123.com';
grant all on *.* to root@'192.168.115.%';
vim /etc/my.cnf
[client]
protocol=tcp
user='root'
password='123.com'

此时登录mysql,可以免密登录

1.3、重启zabbix-agent服务

复制代码
systemctl restart zabbix-agent

1.4、在zabbix-server服务端测试数据

1.5、在UI界面添加监控模版

在宏界面加上mysql主机ip

完成后去查看监控的图形(等数据输出过来)

2、Redis数据库监控

下载agent2

另外开一台机子,下载源(不可以既安装1又安装2)

下载zabbix_agent2

修改配置

进入配置文件/etc/zabbix/zabbix_agent2.conf修改配置

关闭防火墙等,重启服务,然后添加主机

然后查看redis模板的说明

Get Redis metrics from plugin for the New Zabbix Agent (zabbix-agent2).

You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/389050-discussion-thread-for-official-zabbix-template-redis

Generated by official Zabbix template tool "Templator"

下载redis,并且修改文件配置,后开启redis

再在/etc/zabbix/zabbix_agent2.conf中加入

复制代码
Plugins.Redis.Sessions.Redis1.Uri=tcp://192.168.71.193:6379

Plugins.Redis.Sessions.Redis1.Password=your_password  # 若Redis设置了密码,没密码不写

重启zabbix-agent2服务

回到zabbix页面,将模板的宏ip修改为redis主机的ip

更新后,刷新数据,即可查看

3、Nginx服务监控

修改Nginx配置文件

下载nginx,并修改配置文件/etc/nginx/conf.d/status.conf (没有就创建)

复制代码
server {
    listen 80;
    server_name localhost;
    location /nginx_status {  # 路径可自定义(如/basic_status)
        stub_status on;       # 启用状态模块
        access_log off;       # 关闭日志
        allow 127.0.0.1;      # 允许本地访问(Zabbix Agent需访问)
        deny all;             # 禁止其他IP
    }
}

重启Nginx生效配置

验证状态页是否正常

配置Zabbix Agent

在配置文件最下方加入

复制代码
UserParameter=nginx.status[*],curl -s http://127.0.0.1:80/nginx_status

然后添加模板并且增加宏

然后查看数据

4、MySQL主从监控

配置主从配置

主库配置(192.168.71.192)​

重启服务后,创建一个复制账户

复制代码
-- 创建复制账号(从库使用)
CREATE USER 'repl'@'192.168.71.193' IDENTIFIED BY 'YourPassword';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.71.193';
FLUSH PRIVILEGES;

-- 查看主库状态(记录File和Position)
SHOW MASTER STATUS;

从库配置(192.168.71.193)​

增加主库信息

复制代码
-- 配置主库连接信息
CHANGE MASTER TO
  MASTER_HOST = '192.168.71.192',
  MASTER_USER = 'repl',
  MASTER_PASSWORD = 'YourPassword',
  MASTER_LOG_FILE = 'mysql-bin.000001',  -- 替换为主库记录的File
  MASTER_LOG_POS = 154;                  -- 替换为主库记录的Position

-- 启动复制
START SLAVE;

-- 检查复制状态
SHOW SLAVE STATUS\G

在被监控端创建监控脚本

复制代码
#!/bin/bash
# 获取主从状态并返回"Yes"的数量(正常值为2)
mysql  -e "SHOW SLAVE STATUS\G" 2>/dev/null \
  | grep -E "Slave_IO_Running|Slave_SQL_Running" \
  | grep -c "Yes"

# 赋予执行权限
sudo chmod +x /etc/zabbix/zabbix_agent2.d/mysql_slave_status.sh
配置Zabbix Agent2
复制代码
sudo vi /etc/zabbix/zabbix_agent2.conf


# 启用自定义Key
UserParameter=mysql.replication.status, /etc/zabbix/zabbix_agent2.d/mysql_slave_status.sh

# 重启Agent
sudo systemctl restart zabbix-agent2

选择模板,并创建监控项,添加图形

运行脚本测试

得到图像结果应为2,但是却是0,正常来说是2就对了

5、Redis集群监控

交给大家去研究

相关推荐
Cedric11133 小时前
蓝光中的愧疚
程序人生·生活
_可乐无糖3 小时前
AWS WebRTC:我们的业务模式
云计算·音视频·webrtc·aws
Kentos(acoustic ver.)3 小时前
云原生 —— K8s 容器编排系统
云原生·容器·kubernetes·云计算·k8s
SH11HF4 小时前
ZABBIX配置自动发现与自动注册,网易邮箱告警和钉钉告警
运维·服务器·zabbix
Wezzer4 小时前
Zabbix告警系统集成指南:从钉钉机器人到网易邮件的全流程配置
运维·钉钉·zabbix·触发器·网易邮箱
贺贺丿12 小时前
Docker2-容器应用工具及docker命令
linux·运维·docker·容器·自动化·云计算
CZZDg13 小时前
zabbix自动发现、自动注册、及自动预警到邮箱
钉钉·zabbix
程序猿追21 小时前
亚马逊云科技:引领云计算新时代,开启无限可能
科技·云计算·亚马逊
果子⌂1 天前
Kubernetes 服务发布进阶
linux·运维·服务器·云原生·容器·kubernetes·云计算