zabbix4.0配置psk加密与监控apache和nginx服务器

使用centos7搭建appache服务器和nginx服务器 

一、配置psa加密

在受监控的服务器上,安装zabbix-agent,配置之前注意关闭selinux和防火墙

yum install openssl                    #安装openssl模块,配置加密
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm    #下载zabbix-agent rpm包
yum install zabbix-agent               #安装zabbix-agent

使用openssl生成psk文件

openssl rand -hex 32

image.png

然后新建/etc/zabbix/zabbix-agentd.conf.d/zabbix_agentd.psk

将生成的psk保存,如下所示:

image.png

修改/etc/zabbix/zabbix-agentd.conf,取消注释编辑

333行:TLSConnect=psk

image.png

345行,TLSAccept=psk

image.png

396行,TLSPSKIdentity=PSK 001

image.png

404行, TLSPSKFile=/etc/zabbix/zabbix_agentd.d/zabbix_agentd.psk

image.png


完成配置后,再去配置server等信息,配置为zabbix主机的地址,我这里使用域名方式

image.png

完成后重启,zabbix-agent

systemctl enable zabbix-agent
systemctl restart zabbix-agent


然后再zabbix服务器上进行加密的进行配置

image.png

配置完成后可以看到加密图标亮起

image.png

检查zabbix-agent日志,标明加密配置正常

tail /var/log/zabbix/zabbix_agentd.log


image.png


二、监控apache服务器


开启apache状态页

要监控apache的状态,首先开启状态页面,然后调用合适的脚本来监控状态页

再apache的主配置文件,httpd.conf中加入如下代码

ExtendedStatus ON
<location /server-status>
SetHandler server-status
Deny from all
Allow from all
Allow from 127.0.0.1 172.31.208.0/24            #标明可以访问的地址段和主机
</location>

image.png

配置完成后,重启httpd服务,然后在浏览器中输入http://ip/server-status 即可

image.png


下载监控模板

监控模板下载地址为:

https://www.ixdba.net/zabbix/zabbix-apache.zip

里面包含两个文件,一个是监控脚本zapache,另外一个是模板文件zapache-template

image.png

将模板文件zapache-template导入到zabbix中

将脚本文件zapache放在apache服务器的/etc/zabbix/shell目录下(目录位置可以随意设定)

赋予执行权限

chmond 775 /etc/zabbix/shell/zapache

然后再/etc/zabbix/zabbix_agentd.d目录下新建userparameter_zapache.conf文件,文件内容如下:

UserParameter=zapache[*],/etc/zabbix/shell/zapache $1

保存后即可


然后修改zabbix-agent.conf的配置文件

vim /etc/zabbix/zabbix_agentd.conf

修改276-287行,添加 UnsafeUserParameters=1即可

image.png


保存配置文件,然后重启zabbix-agent服务


最后再zabbix服务器上,套用模板即可

image.png

完成监控后图形如下所示:

image.png



三、监控nginx

    监控基本思路和监控apache一致,即开启状态页,然后配置模板脚本

在nginx主配置文件nginx.conf中添加如下(监控哪个虚拟主机就哪里配置)

 location /nginx-status {
          stub_status on;
          access_log off;
          allow 127.0.0.1;
          allow 172.31.208.0/24;
          deny all;
          }

image.png

检查nginx语法后,重启nginxi服务器。

然后输入网页http://www.servername/nginx-status/


image.png

下载模板和脚本

https://www.ixdba.net/search/zabbix-nginx.zip

image.png


导入模板

脚本内容如下

#!/bin/bash
# Set Variables
HOST=127.0.0.1
PORT="80"

if [ $# -eq "0" ];then 
    echo "Usage:$0(active|reading|writing|waiting|accepts|handled|requests|ping)" 
fi 

# Functions to return nginx stats
function active {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Active' | awk '{print $NF}'
  }
function reading {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Reading' | awk '{print $2}'
  }
function writing {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Writing' | awk '{print $4}'
  }
function waiting {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
  }
function accepts {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| awk NR==3 | awk '{print $1}'
  }
function handled {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| awk NR==3 | awk '{print $2}'
  }
function requests {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status" 2>/dev/null| awk NR==3 | awk '{print $3}'
  }
function ping {
    /sbin/pidof nginx | wc -l 
}
# Run the requested function
$1


如果监控其他主机和端口,修改HOST和PORT变量即可

将脚本保存在/etc/zabbix/zabbix-agentd.d/shell/目录下,同时授予执行权限

chmod +x /etc/zabbix/zabbix_agentd.d/shell/nginx_status.sh
chown zabbix:zabbix /etc/zabbix/zabbix_agentd.d/shell/nginx_status.sh

然后 在/etc/zabbix/zabbix-agentd.d/下新建userparameter_nginx.conf文件,内容如下

UserParameter=nginx.status[*],/etc/zabbix/zabbix-agentd.d/shell/nginx_status.sh $1

然后编辑zabbix-agent.conf,修改UnsafeUserParameters=1

image.png

重启zabbix-agent


最后套用模板,查看zabbix服务上对nginx的监控

image.png



此时,可以发现获取到了监控图形

image.png

猜你喜欢

转载自blog.51cto.com/11555417/2332896
今日推荐