实现Zabbix监控httpd和nginx服务

web界面字体的调整

[root@server1 ~]# cd /usr/share/zabbix/fonts/
[root@server1 fonts]# ll
lrwxrwxrwx 1 root root 33 Aug  1 04:54 graphfont.ttf -> /etc/alternatives/zabbix-web-font
[root@server1 fonts]# lftp 172.25.24.24
lftp 172.25.24.24:~> cd pub/4.0/     
lftp 172.25.24.24:/pub/4.0> get simkai.ttf 
4135804 bytes transferred
lftp 172.25.24.24:/pub/4.0> exit
[root@server1 fonts]# ls
graphfont.ttf  simkai.ttf
[root@server1 fonts]# cd ..
[root@server1 zabbix]# cd include/
[root@server1 include]# vim defines.inc.php 
:%s/graphfont/simkai/g    #将graphfont替换为simkai

在这里插入图片描述

  • 调整后:
    在这里插入图片描述

实现zabbix监控httpd服务

httpd是zabbix自带的监控模块。

server2
  • 安装apache,开启服务。
[root@server2 zabbix]# yum install httpd -y
[root@server2 zabbix]# systemctl start httpd
[root@server2 zabbix]# systemctl enable httpd

操作如下:
点击配置–>主机–>模板–>选择模板。
在这里插入图片描述
点击更新。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 可以看到server2主机的触发器多了一个httpd服务的触发器,是端口的触发器,zabbix是通过端口来检测httpd服务的。

实现zabbix监控nginx服务

server3
  • 在监控主机server3上部署nginx服务。
  • 下载安装包并解压,安装依赖性软件并编译安装,注释掉debug日志。
[root@server3 ~]# lftp 172.25.24.24
lftp 172.25.24.24:~> cd pub/4.0/
lftp 172.25.24.24:/pub/4.0> get ngin
lftp 172.25.24.24:/pub/4.0> exit
[root@server3 ~]# lftp 172.25.24.24
lftp 172.25.24.24:~> cd pub/lnmp/lnmp软件/
lftp 172.25.24.24:/pub/lnmp/lnmp软件> get nginx-1.15.8.tar.gz 
1027862 bytes transferred
lftp 172.25.24.24:/pub/lnmp/lnmp软件> exit
[root@server3 ~]# tar zxf nginx-1.15.8.tar.gz 
[root@server3 ~]# yum install gcc pcre-devel zlib-devel -y
[root@server3 ~]# cd nginx-1.15.8/
[root@server3 nginx-1.15.8]# ./configure --help | grep stub
  --with-http_stub_status_module     enable ngx_http_stub_status_module
[root@server3 nginx-1.15.8]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@server3 nginx-1.15.8]# vim auto/cc/gcc    #注释debug行
[root@server3 nginx-1.15.8]# make && make install
  • 做一个软链接方便更新,同时查看nginx的路径,检查配置文件是否正确。
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
[root@server3 nginx]# which nginx
/usr/sbin/nginx
[root@server3 nginx]# nginx -t
  • 修改nginx配置文件,向nginx配置文件中添加用于网页状态的查看检测的模块,以及开启nginx服务。
[root@server3 nginx]# vim /usr/local/nginx/conf/nginx.conf
 48         location /status {
 49                 stub_status on;    #开启该模块
 50                 access_log off;    #关闭日志记录
 51                 allow 127.0.0.1;   #白名单 只允许本机访问
 52                 deny all;
 53         }

[root@server3 nginx]# nginx -t   #检测是否正确
[root@server3 nginx]# nginx -s reload   #重启服务。
测试
  • 在server3本机curl 127.0.0.1/status来测试。
    在这里插入图片描述
    active connections 活跃的连接数
    accepts 接收到的请求数(不一定回复)
    handles 确定建立三次握手的请求数
    requests 处理的请求数

  • 通过三剑客来获取活跃的连接数的数值。

[root@server3 nginx]# curl -s http://localhost/status | grep Active | awk '{print $3}'

在这里插入图片描述

  • 修改server3的配置文件/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf,创建nginx的监控项。
[root@server3 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@server3 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server3 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf    #将mysql服务的监控模版给nginx服务复制一份
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf     #编辑配置文件
UserParameter=nginx.active,curl -s http://localhost/status | grep Active | awk '{print $3}'     #获取活跃连接数,nginx.active为健值,获得的连接数为value值
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent   #修改完成重启服务。
web界面添加nginx的监控
  • 步骤如下:
    在这里插入图片描述
  • 创建监控项。
    在这里插入图片描述
  • 监控项名称自定义,健值必须和server3配置文件中的一致。
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
  • 创建图形,将已经添加的监控项导入。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 查看监控图形。
    在这里插入图片描述
    在这里插入图片描述
server1
  • zabbix_get 是 zabbix 服务端的一个命令,用于检测 agent 端的配置是否正确,可以很方便地知道 key 是否能正常获取到数据,在测试自定义监控的时候特别有用
  • 在server1下载软件zabbix-get,来获取server3的活跃连接数。
[root@server1 include]# yum install zabbix-get -y
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.active"
1

在这里插入图片描述

server3
  • 在server3继续使用三剑客 获取接收到的请求数(accept)和处理的请求数(request)。
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | grep Active | awk '{print $3}'
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | awk NR==3
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | awk NR==3 |awk '{print $1}'
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | awk NR==3 |awk '{print $2}'
[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | awk NR==3 |awk '{print $3}'

在这里插入图片描述

  • 编辑nginx的监控文件userparameter_nginx.conf,将要获取的健值对加入。
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf 
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
UserParameter=nginx.active,curl -s http://localhost/status | grep Active | awk '{print $3}'
UserParameter=nginx.accept, curl -s http://localhost/status | awk NR==3 |awk '{print $1}'
UserParameter=nginx.request, curl -s http://localhost/status | awk NR==3 |awk '{print $3}'
server1
  • 在server1执行命令获取接受的请求数以及回复的请求数。
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.active"
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.accept"
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.request"

在这里插入图片描述

web界面添加新的监控项
  • 选择主机server3。
    在这里插入图片描述
  • 创建监控项。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 将新建的监控项添加到图形中。
    在这里插入图片描述
  • 添加成功。
    在这里插入图片描述
  • 点击更新。
    在这里插入图片描述
    在这里插入图片描述
server2 压测
  • 为了图形界面的效果显示的更加明显,我们通过server2访问server3进行压力测试。
[root@server2 zabbix]# ab -c1 -n 1000 http://172.25.24.3/index.html

在这里插入图片描述

  • 在server3重启服务
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
  • 在server1查看我们三个监控项的数值变化(线性图在下面)。
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.active"
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.accept"
[root@server1 include]# zabbix_get -s 172.25.24.3 -p 10050 -k "nginx.request"

在这里插入图片描述

不同类型图形的切换方法

  • 默认为线性图,最直观,直接点击预览。
    在这里插入图片描述
  • 层积图
    在这里插入图片描述
    在这里插入图片描述
  • Pie
    在这里插入图片描述在这里插入图片描述
  • 爆发图
    在这里插入图片描述在这里插入图片描述
<think>好的,我现在需要帮助用户了解如何使用Zabbix监控服务器。首先,我需要根据用户提供的引用内容来组织回答。用户给出了五个引用,涵盖了Zabbix的安装、配置前端、Proxy的作用、环境搭建以及交换空间配置等内容。 首先,我应该分步骤讲解,从安装开始,然后到配置前端、添加被监控主机,接着是配置监控触发器,最后提到Proxy的使用场景。每个步骤需要结合引用中的具体信息,比如引用4提到安装CentOSLNMP环境,引用2关于前端配置,引用3关于Proxy的好处,引用5的交换空间配置可能是在资源不足时的优化步骤。 需要注意系统级指令,比如数学公式的格式,但在这个问题中可能用不上。用户要求使用中文,结构清晰,所以需要分点说明,确保每个部分都有对应的引用支持。同时,生成的相关问题需要与Zabbix监控相关,比如安装步骤、Proxy作用、常见监控项、故障排除等。 需要检查是否有遗漏的步骤,例如启动服务、访问Web界面等,确保用户能按步骤操作。另外,引用1引用5中的swap配置可能是在服务器资源不足时的准备工作,需要提及但放在注意事项里。最后,确保每个引用正确标注,比如前端配置对应引用2,Proxy对应引用3,安装步骤对应引用4等。</think>### 如何用 Zabbix 监控服务器? 以下是使用 Zabbix 监控服务器的分步指南,结合实际应用场景引用内容: --- #### 1. **安装 Zabbix 服务端与前端** - **环境准备**:在 CentOS 系统上搭建 LNMP 环境(Linux、Nginx、MySQL、PHP),确保满足 Zabbix 的依赖要求[^4]。 - **安装 Zabbix**:通过源码或包管理器安装 Zabbix Server、Web 前端及 Agent。例如: ```bash # 安装 Zabbix 仓库配置 rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm # 安装核心组件 yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent ``` - **数据库配置**:为 Zabbix 创建 MySQL 数据库并导入初始数据[^4]。 --- #### 2. **配置 Zabbix 前端** - **部署前端文件**:将 PHP 前端文件复制到 Web 服务器目录: ```bash sudo cp -R frontends/php /var/www/html/zabbix [^2] ``` - **修改配置文件**:编辑 `zabbix.conf.php`,设置数据库连接信息 Zabbix Server 地址: ```php $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '3306'; $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = 'your_password'; [^2] ``` --- #### 3. **启动 Zabbix 服务** - 启动 Zabbix Server Agent: ```bash systemctl start zabbix-server zabbix-agent httpd systemctl enable zabbix-server zabbix-agent httpd ``` - **访问 Web 界面**:通过 `http://服务器IP/zabbix` 完成初始化配置,包括时区、数据库连接等。 --- #### 4. **添加被监控主机** - **安装 Zabbix Agent**:在目标服务器上安装 Agent: ```bash yum install zabbix-agent ``` - **配置 Agent**:修改 `/etc/zabbix/zabbix_agentd.conf`,设置 Zabbix Server 的 IP: ```conf Server=192.168.1.100 # 允许连接的 Server IP ServerActive=192.168.1.100 # 主动检测的 Server IP Hostname=监控主机名称 # 需与 Web 界面中一致 ``` - **启动 Agent**: ```bash systemctl start zabbix-agent ``` --- #### 5. **配置监控项与触发器** - **创建主机**:在 Zabbix Web 界面中,通过 **Configuration > Hosts > Create Host** 添加主机,填写 Agent 的 IP 端口(默认 10050)[^1]。 - **添加监控项**:例如监控 CPU 使用率: - 名称:`CPU Utilization` - 键值:`system.cpu.util[,idle]` - 数据更新间隔:`1m` - **设置触发器**:当 CPU 使用率超过 90% 时触发告警: ```plaintext {HOSTNAME:system.cpu.util[,idle].last()} < 10 ``` --- #### 6. **使用 Zabbix Proxy(可选)** - **适用场景**:当监控大量分布式设备或网络延迟较高时,可通过 Zabbix Proxy 缓存数据并分批发送至 Server,减轻负载[^3]。 - **配置步骤**: 1. 在独立服务器安装 Zabbix Proxy。 2. 配置 Proxy 连接 Server 的数据库地址。 3. 将被监控主机的 Agent 指向 Proxy 的 IP。 --- #### 注意事项 - **资源优化**:若服务器内存不足,可通过添加交换空间临时提升性能: ```bash dd if=/dev/zero of=/opt/temp/swap bs=1024 count=2048000 mkswap /opt/temp/swap && swapon /opt/temp/swap [^5] ``` - **安全性**:通过防火墙限制 Zabbix Server Agent 的端口访问(如 10050、10051)。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值