问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

zabbix怎么监控nginx

发布网友 发布时间:2022-05-02 13:02

我来回答

3个回答

懂视网 时间:2022-05-02 17:23

http://blog.51cto.com/superleedo/2070775

增加一台新的客户端机器 192.168.1.13


系统版本centos7最小化安装,配置好网络能访问外网,关闭防火墙,配置基础环境及java环境

网络自行配置

关闭防火墙

setenforce 0

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/enforcing/disabled/g' /etc/selinux/config


设置yum源

yum install wget -y

cd /etc/yum.repos.d/

wget http://mirrors.aliyun.com/repo/Centos-7.repo

wget http://mirrors.aliyun.com/repo/epel-7.repo

yum -y install epel-release

yum install net-tools -y

yum install tree -y

yum install lrzsz -y

yum install vim-enhanced -y


本机的zabbix-agent,nginx,mysql都采用yum方式安装


安装zabbix-agent

yum install -y unixODBC

rpm -Uvh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.3-1.el6.x86_64.rpm

修改配置

vim /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.1.12
ServerActive=192.168.1.12
Hostname=192.168.1.13
Include=/etc/zabbix/zabbix_agentd.d/


创建目录

cd /var/run/

mkdir zabbix

touch zabbix/zabbix_agentd.pid

chown zabbix.zabbix zabbix/ -R

chmod g+w zabbix/

cd /var/log/

mkdir zabbix

chown zabbix.zabbix zabbix/ -R


启动zabbix-agent

/etc/init.d/zabbix-agent start

用netstat -lnupt 查看 10050是否启动


安装nginx,mariadb

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

yum install -y nginx

systemctl start nginx


yum install mariadb* -y

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

mysql安装无法启动可能需要清理原有的内容

yum remove mysql* -y

yum remove mariadb* -y

find / -name "mariadb" -exec rm -rf {} ;

rm -f my.cnf.rpmsave

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

systemctl start mariadb



[root@zabbix-agent run]# netstat -lnupt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2284/mysqld         
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2340/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      983/sshd            
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2540/zabbix_agentd  
tcp6       0      0 :::22                   :::*                    LISTEN      983/sshd            
tcp6       0      0 :::10050                :::*                    LISTEN      2540/zabbix_agentd



监控服务端界面接入1.13机器的系统状态监控


添加新主机

配置---主机---创建主机---添加

技术分享图片

选择添加 OS linux 模板,用来监控1.13机器的系统磁盘内存等


技术分享图片

在模板中添加完成后,在主机上也要点击添加,添加后生成的监控图如下

技术分享图片



问题解决:监控图的图例显示不正常,汉字注释无法正常显示


从windows下控制面板->字体->选择一种中文字库例如“楷体” 上传到zabbix服务器上


技术分享图片


将这个文件拷贝到zabbix服务端的数据目录的fonts目录下

[root@slave02 run]# ll /data/web/www.zabbix.com/fonts/
总用量 12252
-rw-r--r-- 1 zabbix zabbix   756072 5月  18 2016 DejaVuSans.ttf
-rw-r--r-- 1 zabbix zabbix 11785184 6月  11 2009 SIMKAI.ttf
接着修改配置文件

vim  /data/web/www.zabbix.com/include/locales.inc.php

下面两项的DejaVuSans修改为SIMKAI

define('ZBX_GRAPH_FONT_NAME',           'SIMKAI');

define('ZBX_FONT_NAME', 'SIMKAI');


修改完成后,zabbix监控图形中的中文字就不会出现乱码了!

技术分享图片





下面添加nginx监控

在客户端修改nginx配置

vim /etc/nginx/conf.d/default.conf

添加stub_status on

server {
    listen       80;
    server_name  localhost;
    location / {
    stub_status on;
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
然后重启nginx

systemctl restart nginx

使用网页浏览 http://192.168.1.13:80/nginx_status,显示如下图则模块已打开

技术分享图片

在客户端编写脚本:nginx_status.sh,并将其放至/etc/zabbix/scripts 目录下,并添加执行权限
cd /etc/zabbix/

mkdir scripts

cd scripts/

vim nginx_status.sh

#!/bin/bash
HOST=192.168.1.13
PORT=80

function ping {  
    /sbin/pidof nginx | wc -l  
}

function active {
curl -s "http://$HOST:$PORT/nginx_status" | grep 'Active'| awk '{print $NF}'
}
function reading {
curl -s "http://$HOST:$PORT/nginx_status" | grep 'Reading' |awk '{print $2}'
}
function writing {
curl -s "http://$HOST:$PORT/nginx_status" | grep 'Writing' | awk '{print $4}'
}
function waiting {
curl -s "http://$HOST:$PORT/nginx_status" | grep 'Waiting' | awk '{print $6}'
}
function accepts {
curl -s "http://$HOST:$PORT/nginx_status" | awk NR==3 | awk '{print $1}'
}
function handled {
curl -s "http://$HOST:$PORT/nginx_status" | awk NR==3 | awk '{print $2}'
}
function requests {
curl -s "http://$HOST:$PORT/nginx_status" | awk NR==3 | awk '{print $3}'
}
$1

保存问件,添加执行权限

chmod 755 nginx_status.sh


然后,将自定义的 UserParameter 加入配置文件,然后重启 zabbix-agent

vim /etc/zabbix/zabbix_agentd.conf

UserParameter=nginx.status[*],/etc/zabbix/scripts/nginx_status.sh $1


项目回到服务端,下载Template App Nginx  模板

http://www.ttlsa.com/wp-content/uploads/2015/10/zabbix_monitor_nginx_template_ttlsa_com.zip

解压后将其中的zbx_export_templates文件导入即可

技术分享图片

导入后即可使用nginx模板 添加到1.13

技术分享图片

图形查看监控状态

技术分享图片



添加,mysql监控

技术分享图片

添加后的mysql图形监控状态

技术分享图片


添加自定义服务监控
Simple checks 简单检查  通常用来检查远程未安装客户端的服务,被监控客户端无需安装 zabbix agent 客户端,zabbixserver 直接使用 simplechecks(简单检查) 来收集数据,用来检测远程服务器某端口是否在监听。


配置----主机----监控项----创建监控项---创建触发器

技术分享图片


技术分享图片


停止ftp服务后查看监控提示

技术分享图片

监控报警有提示,自定义监控成功。



mysql监控

结合上面已经使用的mysql模板,会生产相应的配置文件userparameter_mysql.conf

/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf


为数据库的root创建密码
$ mysqladmin -uroot password  "zabbix"

进入数据库  mysql -uroot -pzabbix

登录数据库,创建zabbix数据库及用户名和密码
mysql> create database zabbix default charset utf8;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on *.* to zabbix@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.03 sec)


mysql> grant all privileges on *.* to zabbix@'%' identified by 'zabbix';
Query OK, 0 rows affected (0.03 sec)


mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

热心网友 时间:2022-05-02 14:31

实现监控需要三个步骤:

1、自己创建或是导入模版。<附件>

2、nginx需要配置status。如:

server {  
listen 80;  
server_name xxx.xxx.xxx.xxx;  
index index.html login.jsp;  
root /www/freetrade;  
access_log off;  
error_log off;  
location /nginx {  
stub_status on;  
access_log off;  
allow 127.0.0.1;  
allow xxx.xxx.xxx.xxx;  
deny all;  
}  
}

3、改客户端配置文件,使用脚本。

在客户端机器上任意位置放这个脚本,不过还是建议规范的放在一个地方。

#!/bin/bash  
# Script to fetch nginx statuses for tribily monitoring systems  
# Author: krish@toonheart.com  
# License: GPLv2 
 
# Set Variables  
HOST=`/sbin/ifconfig eth0 | sed -n '/inet /{s/.*addr://;s/ .*//;p}'`  
PORT="80" 
 
# Functions to return nginx stats 
 
function active {  
/usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| grep 'Active' | awk '{print $NF}'  

 
function reading {  
/usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| grep 'Reading' | awk '{print $2}'  

 
function writing {  
/usr/bin/curl "http://$HOST:$PORT/nginx" 2>/dev/null| grep 'Writing' | awk '{print $4}'  

 
function waiting {  
/usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| grep 'Waiting' | awk '{print $6}'  

 
function accepts {  
/usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| awk NR==3 | awk '{print $1}'  

 
function handled {  
/usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| awk NR==3 | awk '{print $2}'  

 
function requests {  
/usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| awk NR==3 | awk '{print $3}'  

 
# Run the requested function  
$1

修改客户端/etc/zabbix/zabbix_agentd.conf 环境不同,文件位置不同。 

#monitor nginx  
UserParameter=nginx.accepts,/etc/zabbix/scripts/nginx_status accepts  
UserParameter=nginx.handled,/etc/zabbix/scripts/nginx_status handled  
UserParameter=nginx.requests,/etc/zabbix/scripts/nginx_status requests  
UserParameter=nginx.connections.active,/etc/zabbix/scripts/nginx_status active  
UserParameter=nginx.connections.reading,/etc/zabbix/scripts/nginx_status reading  
UserParameter=nginx.connections.writing,/etc/zabbix/scripts/nginx_status writing  
UserParameter=nginx.connections.waiting,/etc/zabbix/scripts/nginx_status waiting

热心网友 时间:2022-05-02 15:49

您好,实现监控需要三个步骤:
1、自己创建或是导入模版。<附件>
2、nginx需要配置status。
这个因环境而已,我贴上我的吧。
server { listen 80; server_name xxx.xxx.xxx.xxx; index index.html login.jsp; root /www/freetrade; access_log off; error_log off; location /nginx { stub_status on; access_log off; allow 127.0.0.1; allow xxx.xxx.xxx.xxx; deny all; } }

3、改客户端配置文件,使用脚本。
在客户端机器上任意位置放这个脚本,不过我还是建议你规范的放在一个地方。我在作者的基础上改了一下,适合自己的需求。
#!/bin/bash # Script to fetch nginx statuses for tribily monitoring systems # Author: krish@toonheart.com # License: GPLv2 # Set Variables HOST=`/sbin/ifconfig eth0 | sed -n '/inet /{s/.*addr://;s/ .*//;p}'` PORT="80" # Functions to return nginx stats function active { /usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| grep 'Active' | awk '{print $NF}' } function reading { /usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| grep 'Reading' | awk '{print $2}' } function writing { /usr/bin/curl "http://$HOST:$PORT/nginx" 2>/dev/null| grep 'Writing' | awk '{print $4}' } function waiting { /usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| grep 'Waiting' | awk '{print $6}' } function accepts { /usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| awk NR==3 | awk '{print $1}' } function handled { /usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| awk NR==3 | awk '{print $2}' } function requests { /usr/bin/curl "http://$HOST:$PORT/nginx" 2 > /dev/null| awk NR==3 | awk '{print $3}' } # Run the requested function $1

修改客户端/etc/zabbix/zabbix_agentd.conf 环境不同,文件位置不同。
#monitor nginx UserParameter=nginx.accepts,/etc/zabbix/scripts/nginx_status accepts UserParameter=nginx.handled,/etc/zabbix/scripts/nginx_status handled UserParameter=nginx.requests,/etc/zabbix/scripts/nginx_status requests UserParameter=nginx.connections.active,/etc/zabbix/scripts/nginx_status active UserParameter=nginx.connections.reading,/etc/zabbix/scripts/nginx_status reading UserParameter=nginx.connections.writing,/etc/zabbix/scripts/nginx_status writing UserParameter=nginx.connections.waiting,/etc/zabbix/scripts/nginx_status waiting
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
连别人的wifi会不会看到我浏览了哪些网站? 电视连接wifi后怎么看网络电视 电脑win7调低亮度win7怎么调整屏幕亮度 电脑屏幕太亮了怎么调暗一点win7windows7怎么调亮度 台式电脑win7 怎么调节屏幕亮度显示器太亮了! win7电脑屏幕一直亮着怎么让电脑屏幕一直亮着 从零开始学作曲(小白入门)【22.11.17更新】 45岁的袁立再次宣布结婚,她这已经是第几次结婚了? dnf怎么洗红字 dnf红字装备怎么改属性 如何去掉word批注如何去掉word批注 米色衬衫怎么搭配 颗颗颗棉桃咧嘴笑是什么意思 梦见自己怀孕了看见一船的棉花桃在海里 在家如何自制牛排?需要什么料? 李阿姨煎牛排铁板上可同时煎四块每一块要六分钟剑来了六位客人李阿姨至少要用_百度问一问 乡村基铁板牛排怎么做的 梦见已拔棉花棵带桃成堆 西餐煎牛排用的铁板烤有什么用? 怎么做铁板牛排?店里的那种,铁板已经买好了,把牛排放到哪里煎?是平底锅里还是铁板上? [穿书]这个反派有毒_by云上浅酌_txt全文阅读,百度网盘免费下载 穿越到书中的好看的耽美小说,至少是 反派养成计划 这种等级的,要HE,1V1 公积金贷款是万能的?五大要点肯定你不知道 多选题 (4分)下面关于省直公积金贷款正确的说法有? 公积金贷款是啥意思?我也有这个公积金贷款不知道怎么用 工商银行卡换卡不换号怎么激活 不锈钢淋浴柱上的水渍用什么才能擦干净 在京东白条上给一个app付款了怎么退款? 如何要女生的 男生怎么要女生 如何幽默的向女孩要呢? 金色打底衫配什么颜色外套? 讯飞智能录音笔SR901怎么样? 讯飞智能录音笔SR502适合办公吗? 衬衫搭配什么衣服好? 衬衫应该怎样搭配服装? 男朋友随身携带录音笔和摄像头,算是一种毛病吗? 米金色衣服适合黄皮吗 我家里被人装了监视器怎么可以找到?我怀疑家里边被别人安装了,*何者是录音笔还有针空摄像头,怎样_百度问一问 能介绍几款带摄像头又可以当录音笔的手机吗?性价比教高的? 我上初二 想买个摄像录音笔(钢笔型的) 请问这对学习有帮助吗 如果有 那什么品牌是带摄像头 毕业论文提纲写作步骤是怎样的? 毕业论文的提纲该如何拟定? 华为JERAN10是什么型号手机? 搞笑可爱卡通猪图片还蒙了一只眼睛叫什么猪? 人和猪的区别幽默图片 打工和自己开店做老板区别有吗 杂谈:自己做老板和给别人打工的区别 打工仔与老板的最大差别在哪? 老板和打工仔的区别是什么? 打工和做老板的区别是?
  • 焦点

最新推荐

猜你喜欢

热门推荐