目录
一.使用zabbix监控nginx并发量连接数
使用192.168.80.102服务器;因为该服务器原本已安装nginx,因此省略安装步骤
1.做好 nginx 配置
vim /etc/nginx/conf.d/default.conf
location /nginx_state {
stub_status on;
access_log off;
}
##12行添加,开启状态统计功能
systemctl reload nginx
curl -s http://192.168.80.102/nginx_state #即可使用此命令查看并发量信息
2.完成监控数据脚本编写
cd /etc/zabbix/zabbix_agent2.d/
vim nginx_status.sh
#!/bin/bash
IP=192.168.80.102
PORT=80
STUB_URI=nginx_state
active() {
curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==1 {print $3}'
}
accepts() {
curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $1}'
}
handled() {
curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $2}'
}
requests() {
curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $3}'
}
Reading() {
curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $2}'
}
Writing() {
curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $4}'
}
Waiting() {
curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $6}'
}
process() {
pidof nginx | wc -w
}
case $1 in
active)
active
;;
accepts)
accepts
;;
handled)
handled
;;
requests)
requests
;;
Reading)
Reading
;;
Writing)
Writing
;;
Waiting)
Waiting
;;
process)
process
;;
*)
echo "$Usage: $0 {active|accepts|handled|requests|Reading|Writing|Waiting|process}"
exit 1
esac
exit 0
########################################################################################
chmod +x nginx_status.sh
3.设置键值
vim nginx_state.conf
UserParameter=nginx.status[*],/etc/zabbix/zabbix_agent2.d/nginx_status.sh $1
systemctl restart zabbix-agent2.service
4.在zabbix web端完成自定义监控项
【配置】点击【模板】点击【创建模板】
添加三个监控项
【名称】搜索【Template Nginx Status】创建的模板;点击上方【监控项】,点击创建【监控项
剩下两个如法炮制
点击上方【触发器】点击【创建触发器】
连接触发器
进程触发器
主机关联监控模板:左侧【配置】点击 【主机】点击【Zabbix server】
查看:左侧点击【监测】点击【主机】点击【Zabbix server】点击最新数据,找到添加的三个模板
5.连接到grafana
二.自动发现
1.初始化操作
初始化操作
systemctl disable --now firewalld
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
hostnamectl set-hostname zbx-agent02
bahs #切换
vim /etc/hosts #三台服务器都需修改方便使用主机名管理
192.168.80.102 zbx-server
192.168.80.103 zbx-agent01
192.168.80.104 zbx-agent02
2.安装启动zabbix-agent2
rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum install -y zabbix-agent2
systemctl enable --now zabbix-agent2.service
3.修改zabbix配置文件
vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.80.102 #80行,指定server服务器
ServerActive=192.168.80.102 #133行
Hostname=zbx-agent02 #144行
HostnameItem=system.hostname #152行取消注释
systemctl restart zabbix-agent2.service
4.Web 页面配置自动发现
点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
【名称】设置成 mynetwork
【IP范围】设置成 192.168.9.1-254
【更新间隔】设置成 10s
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键
值】设置成 system.uname
【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【添加】
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【发现动作】
勾选 【Auto discovery. Linux servers.】,点击 【启用】
点击【Auto discovery. Linux servers.】进入点击上方【操作2】模板添加【Template Nginx
Status】点击【update】点击【更新】
点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
三.自动注册
准备工作
关闭【发现动作】;【配置】中【主机】只保留server
vim /etc/zabbix/zabbix_agent2.conf
HostnameItem=system.hostname #152行,取消注释
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【自动注册动作】,点击【创建动作】
【名称】设置成 Auto registration
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent
点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【Add】
再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击
【Add】
再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Linux by Zabbix
agent,搜索Nginx,选择Template Nginx Status点击 【Add】
点击下方的【添加】
等待一段时间后,点击左边菜单栏【配置】中的【主机】刷新,即可刷新出自动发现的客户端主机
四.Zabbix proxy 代理服务器
分布式监控的作用
- 分担 server 的集中式压力
- 解决多机房之间的网络延时问题
agent --> proxy --> server
添加服务器192.168.9.113用来安装Zabbix proxy
初始化操作
systemctl disable --now firewalld
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
hostnamectl set-hostname zbx-proxy
bash
192.168.80.105
vim /etc/hosts
192.168.80.102 zbx-server
192.168.80.103 zbx-agent01
192.168.80.104 zbx-agent02
192.168.80.105 zbx-proxy
#添加以上
192.168.80.102、192.168.80.103、192.168.80.104
vim /etc/hosts
192.168.80.105 zbx-proxy
#添加该配置
1.安装 zabbix-proxy
rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum install -y zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy
2.部署、初始化数据库
配置 Mariadb yum源
cat > /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
EOF
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
初始化数据库
mysql_secure_installation
分别输入 回车 -> n -> Y (设置root密码,如abc123) -> 后面一路 Y
mysql -u root -pabc123
创建数据库并指定字符集
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
创建 zabbix 数据库用户并授权
GRANT all ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;
quit 退出
3.导入数据库信息
cd /usr/share/zabbix-sql-scripts/mysql/
mysql -u root -pabc123 zabbix_proxy < proxy.sql
quit退出
4.修改 zabbix-proxy 配置文件
vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.80.102 #32行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy #42行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix #194行,指定当前数据库 zabbix 用户的密码
启动 zabbix-proxy
systemctl enable --now zabbix-proxy.service
netstat -lntp | grep zabbix
5.Web 页面配置zabbix-proxy
点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
192.168.80.104客户端进行配置
vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.80.105 #80行指向proxyip
ServerActive=192.168.80.105 #133行
systemctl restart zabbix-agent2.service
点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】:zbx-agent02
【可见的名称】:zbx-agent02-192.168.80.104
【模板】: Linux by Zabbix agent
【群组】:Linux servers
【接口】:点击添加【Agent】:192.168.80.104
【由agent代理程序监测】选择 zbx-proxy
点击 【添加】
分别在客户端和代理服务器上重启服务
systemctl restart zabbix-agent2
systemctl restart zabbix-proxy
等待一段时间后,点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常
在服务端查看日志
tail -f /var/log/zabbix/zabbix_proxy.log
五.Zabbix server 高可用集群
官方的高可用仅仅针对 Zabbix Server 部分,数据库部分和前端部分需要自行采用各自领域的高
可用解决方案
192.168.80.102 zbx-server做服务端;192.168.80.103 做客户端
1.服务端配置
Zabbix Server 配置
vim /etc/zabbix/zabbix_server.conf
......
HANodeName=zbx-server01 #974行
NodeAddress=192.168.80.102:10051 #986行
systemctl restart zabbix-server.service
2.客户端配置
客户端配置
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.80.102,192.168.80.101
ServerActive=192.168.80.102;192.168.80.101
#注意,ServerActive 的连接符是‘;’ ,而不是‘,’
systemctl restart zabbix-agent2.service
标签:点击,zabbix,192.168,etc,Zabbix,proxy,分布式系统,截图,zbx
From: https://blog.csdn.net/F12138X/article/details/140170627