zabbix监控nginx服务

环境介绍:
172.25.40.11:
zabbix-server
Zabbix-agent
172.25.40.6:
Zabbix-agent
nginx-1.14.0
1.首先查看 nginx 是否加入状态监控模块

Nginx -V

2.配置 nginx.conf

location /status {
stub_status on;
access_log off;
allow 172.25.40.0/24;
allow 172.25.40.11;
#
allow all;
deny all;
}

3.查看nginx状态:

curl 172.25.40.6/status

或者,

4.编写脚本获取上面的 key 值

vim /etc/zabbix/script/nginx_status.sh
#!/bin/bash

case $1 inactive)curl -s http://172.25.40.6/status | awk '/Active/ {print $3}' ;;accepts)curl -s http://172.25.40.6/status | awk 'NR==3 {print $1}' ;;handled)curl -s http://172.25.40.6/status | awk 'NR==3 {print $2}' ;;requests)curl -s http://172.25.40.6/status | awk 'NR==3 {print $3}' ;;reading)curl -s http://172.25.40.6/status | awk '/Reading/ {print $2}' ;;writing)curl -s http://172.25.40.6/status | awk '/Writing/ {print $4}' ;;waiting)curl -s http://172.25.40.6/status | awk '/Waiting/ {print $6}' ;;*)echo "Usage: $0 { active | accepts | handled | requests | reading | writing | waiting }" ;;
esac
## -s 静默模式,如果不加 -s 参数,则获取到的结果是不正确的

5.添加自定义 key 配置文件

vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
## Nginx_status
UserParameter=nginx.active,/etc/zabbix/script/nginx_status.sh active
UserParameter=nginx.accepts,/etc/zabbix/script/nginx_status.sh accepts
UserParameter=nginx.handled,/etc/zabbix/script/nginx_status.sh handled
UserParameter=nginx.requests,/etc/zabbix/script/nginx_status.sh requests
UserParameter=nginx.reading,/etc/zabbix/script/nginx_status.sh reading
UserParameter=nginx.writing,/etc/zabbix/script/nginx_status.sh writing
UserParameter=nginx.waiting,/etc/zabbix/script/nginx_status.sh waiting

6.重启 Zabbix_agentd

/etc/init.d/zabbix-agent restart

7.Zabbix 服务端测试能否拿到 Key
安装 zabbix_get

zabbix_get -s 172.25.40.6 -k nginx.active

8.Zabbix 监控 Nginx 状态–Web 端操作

首先添加server6主机,然后添加模版选择导入事先写好的模版文件

vim zbx_nginx_templates.xml
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export><version>3.2</version><date>2017-08-01T02:19:26Z</date><groups><group><name>Templates</name></group></groups><templates><template><template>Template Nginx Status</template><name>Template Nginx Status</name><description>nginx 監控</description><groups><group><name>Templates</name></group></groups><applications><application><name>nginx status</name></application></applications><items><item><name>Nginx Active</name><type>0</type><snmp_community/><multiplier>0</multiplier><snmp_oid/><key>nginx.active</key><delay>30</delay><history>90</history><trends>365</trends><status>0</status><value_type>3</value_type><allowed_hosts/><units/><delta>0</delta><snmpv3_contextname/><snmpv3_securityname/><snmpv3_securitylevel>0</snmpv3_securitylevel><snmpv3_authprotocol>0</snmpv3_authprotocol><snmpv3_authpassphrase/><snmpv3_privprotocol>0</snmpv3_privprotocol><snmpv3_privpassphrase/><formula>1</formula><delay_flex/><params/><ipmi_sensor/><data_type>0</data_type><authtype>0</authtype><username/><password/><publickey/><privatekey/><port/><description/><inventory_link>0</inventory_link><applications><application><name>nginx status</name></application></applications><valuemap/><logtimefmt/></item><item><name>Nginx Reading</name><type>0</type><snmp_community/><multiplier>0</multiplier><snmp_oid/><key>nginx.reading</key><delay>30</delay><history>90</history><trends>365</trends><status>0</status><value_type>3</value_type><allowed_hosts/><units/><delta>0</delta><snmpv3_contextname/><snmpv3_securityname/><snmpv3_securitylevel>0</snmpv3_securitylevel><snmpv3_authprotocol>0</snmpv3_authprotocol><snmpv3_authpassphrase/><snmpv3_privprotocol>0</snmpv3_privprotocol><snmpv3_privpassphrase/><formula>1</formula><delay_flex/><params/><ipmi_sensor/><data_type>0</data_type><authtype>0</authtype><username/><password/><publickey/><privatekey/><port/><description/><inventory_link>0</inventory_link><applications><application><name>nginx status</name></application></applications><valuemap/><logtimefmt/></item><item><name>Nginx Waiting</name><type>0</type><snmp_community/><multiplier>0</multiplier><snmp_oid/><key>nginx.waiting</key><delay>30</delay><history>90</history><trends>365</trends><status>0</status><value_type>3</value_type><allowed_hosts/><units/><delta>0</delta><snmpv3_contextname/><snmpv3_securityname/><snmpv3_securitylevel>0</snmpv3_securitylevel><snmpv3_authprotocol>0</snmpv3_authprotocol><snmpv3_authpassphrase/><snmpv3_privprotocol>0</snmpv3_privprotocol><snmpv3_privpassphrase/><formula>1</formula><delay_flex/><params/><ipmi_sensor/><data_type>0</data_type><authtype>0</authtype><username/><password/><publickey/><privatekey/><port/><description/><inventory_link>0</inventory_link><applications><application><name>nginx status</name></application></applications><valuemap/><logtimefmt/></item><item><name>Nginx Writing</name><type>0</type><snmp_community/><multiplier>0</multiplier><snmp_oid/><key>nginx.writing</key><delay>30</delay><history>90</history><trends>365</trends><status>0</status><value_type>3</value_type><allowed_hosts/><units/><delta>0</delta><snmpv3_contextname/><snmpv3_securityname/><snmpv3_securitylevel>0</snmpv3_securitylevel><snmpv3_authprotocol>0</snmpv3_authprotocol><snmpv3_authpassphrase/><snmpv3_privprotocol>0</snmpv3_privprotocol><snmpv3_privpassphrase/><formula>1</formula><delay_flex/><params/><ipmi_sensor/><data_type>0</data_type><authtype>0</authtype><username/><password/><publickey/><privatekey/><port/><description/><inventory_link>0</inventory_link><applications><application><name>nginx status</name></application></applications><valuemap/><logtimefmt/></item></items><discovery_rules/><httptests/><macros/><templates/><screens/></template></templates><graphs><graph><name>Nginx Status</name><width>900</width><height>200</height><yaxismin>0.0000</yaxismin><yaxismax>100.0000</yaxismax><show_work_period>1</show_work_period><show_triggers>1</show_triggers><type>0</type><show_legend>1</show_legend><show_3d>0</show_3d><percent_left>0.0000</percent_left><percent_right>0.0000</percent_right><ymin_type_1>0</ymin_type_1><ymax_type_1>0</ymax_type_1><ymin_item_1>0</ymin_item_1><ymax_item_1>0</ymax_item_1><graph_items><graph_item><sortorder>0</sortorder><drawtype>0</drawtype><color>1A7C11</color><yaxisside>0</yaxisside><calc_fnc>2</calc_fnc><type>0</type><item><host>Template Nginx Status</host><key>nginx.active</key></item></graph_item><graph_item><sortorder>1</sortorder><drawtype>0</drawtype><color>F63100</color><yaxisside>0</yaxisside><calc_fnc>2</calc_fnc><type>0</type><item><host>Template Nginx Status</host><key>nginx.reading</key></item></graph_item><graph_item><sortorder>2</sortorder><drawtype>0</drawtype><color>2774A4</color><yaxisside>0</yaxisside><calc_fnc>2</calc_fnc><type>0</type><item><host>Template Nginx Status</host><key>nginx.waiting</key></item></graph_item><graph_item><sortorder>3</sortorder><drawtype>0</drawtype><color>A54F10</color><yaxisside>0</yaxisside><calc_fnc>2</calc_fnc><type>0</type><item><host>Template Nginx Status</host><key>nginx.writing</key></item></graph_item></graph_items></graph></graphs>
</zabbix_export>

也可以手动添加监控项

利用percona软件监控mysql

安装percona

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm

进入/var/lib/zabbix/percona/templates/目录下复制userparameter_percona_mysql.conf文件到/etc/zabbix/zabbix_agentd.d/

cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

检测环境:

rpm -q php php-mysql mysql-server mysql

编写数据库登陆信息:

vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'westos';

此时数据库root用户密码设置westos

mysql_secure_installation  #数据库初始化

运行脚本文件

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg

/tmp/目录下有数据库的状态信息,每次需要删除

cat localhost-mysql_cacti_stats.txt
rm -f localhost-mysql_cacti_stats.txt

重启agent

在server端获取key

zabbix_get -s 172.25.40.2 -k MySQL.Key-read-requests

此时可以监控数据库了,
web操作页面添加agent主机,添加数据库监控模版

server2添加mysql模版:

更新之后查看监控项

tomcat实现jmx接口开启

安装tomcat
需要java环境

rpm -ivh jdk-8u121-linux-x64.rpm

解压tomcat包,并做一个软链接

tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
ln -s /usr/local/apache-tomcat-7.0.37 /usr/local/tomcat

进入tomcat 下bin目录,编写catalina.sh文件,

CATALINA_OPTS='-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=8888
  -Dcom.sun.management.jmxremote.ssl=false
  -Dcom.sun.management.jmxremote.authenticate=false'

执行启动脚本

./startup.sh


查看端口,

netstat -antlp |grep :8888

修改server端的配置文件,

vim zabbix_server.conf
JavaGateway=172.25.40.6   #指向javagatway端的虚拟机
JavaGatewayPort=10052     #javagetway端端口
StartJavaPollers=5        #开几个任务

重启server端,并添加agent端的jmx接口

链接java模版,

重启server,agent,javagetway端,即可开启jmx

ipmi接口开启介绍

是一个硬件监控设备接口

ipmitool --help

ipmitool 命令可实现远程控制硬件设备
例如:

ipmitool -H 172.25.254.201 -U root -P westos chassis power status
ipmitool -H 172.25.254.201 -U root -P westos chassis power on
ipmitool -H 172.25.254.201 -U root -P westos sensor

以及自动化管理网页
https://172.25.254.201/index.html

告警平台110云

首先配置虚拟机可以上网
虚拟机设置:

yum install -y net-tools  #网路工具
route add default gw 172.25.40.250
vim /etc/resolv.conf    #dnsnameserver 114.114.114.114
ping baidu.com

物理机

which route
rpm -qf /sbin/route
iptables -t  nat -I POSTROUTING -s 172.25.40.0/24 -j MASQUERADE

server端安装110云
安装到zabbix脚本路径下
查看脚本路径

tar zxf oneitsm_zabbix_release-1.2.0.tar.gz -C /usr/lib/zabbix/alertscripts

进入oneitsm/bin/ 下执行安装脚本(这里需要登陆注册110云)

./install.sh 应用Key

安步骤填写

关闭zabbix本机的监控报警,这里会出现110云的监控项,同时出现110云用户


修改110云配置文件

vim /usr/lib/zabbix/alertscripts/oneitsm/bin/oneitsm.conf

动作

查看探针日志

/usr/lib/zabbix/alertscripts/oneitsm/logs/

测试:
agent关闭,注意这里需要将之前agent添加的mysql模版禁用,可能会影响

110云需要设置通知策略如邮箱 微信

日志信息:

配置主动被动

zabbix proxy的应用

安装

yum install -y zabbix-proxy-mysql-3.4.6-1.el6.x86_64.rpm fping-2.4b2-16.el6.x86_64.rpm
yum install -y mysql-server

配置数据库
初识化

/etc/init.d/mysqld start
mysql_secure_installation    #密码:westos

建库

create database zabbix_proxy character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'westos';

导库

cd /usr/share/doc/zabbix-proxy-mysql-3.4.6/
zcat schema.sql.gz | mysql -p zabbix_proxy

修改zabbix_proxy配置文件

cd /etc/zabbix/
vim zabbix_proxy.confServer=172.25.40.11Hostname=server6DBPassword=westos#配置jmx接口#JavaGateway=172.25.40.3#JavaGatewayPort=10052#StartJavaPollers=5

修改zabbix_agent文件

cd /etc/zabbix
vim zabbix_agentd.confServer=172.25.40.6   #指向proxyServerActive=172.25.40.6

重启agent proxy 端

web端操作

管理agent代理程序

成功

生产常用监控的对象

初识zabix --zabbix的数据采集方式,监控报警及proxy相关推荐

  1. zabbix 通过 zabbix-agent 方式监控 Windows主机

    1.实验环境 实验环境基于上一篇博文中的实验环境<zabbix 通过 SNMP 监控 Windows主机> 上一篇博文链接:https://www.jianshu.com/writer#/ ...

  2. 服务器性能监控zabix,Zabbix 网站/服务器性能监控部署

    zabbix 老牌网站服务器监控软件, 企业中一般用的还是比较多的. 这里介绍下部署安装方法,以及问题处理. 创建zabbix 用户groupadd -g 1003 zabbix useradd -u ...

  3. Zabbix配置网络流量监控报警

    一.SNMP简单概述 1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议&qu ...

  4. Zabbix以trapper方式监控MySQL备份文件

    背景: 生产上有台mysql服务器每天以定时任务方式用mysqldump命令进行数据库逻辑备份,定时任务执行时间为23:30,备份时长5分钟左右,生成的备份文件命名方式为'mysql-$(date + ...

  5. zabbix专题:第十一章 zabbix之SNMP方式监控

    (SNMP基本都是监控网络设备,本文介绍点理论知识) 概述 如果我们需要监控打印机.路由器.UPS等设备,肯定不能使用zabbix agentd,因为他们不能安装软件的,还好他们一般都支持SNMP协议 ...

  6. zabbix使用163邮箱实现监控报警(六)

    zabbix使用163邮箱监控报警 1.实现报警的基本思路 设置发件人 管理-报警媒介类型-创建媒体类型 这里我们选择email类型的邮箱报警 设置收件人 点击用户-报警媒介-添加报警媒介 一般来说要 ...

  7. zabbix监控系统下——zabbix实现数据库监控、对JMX的支持、server和agent的关系、zabbix监控报警平台

    目录 五.zabbix实现数据库监控 1.在agent端设置 2.在浏览器前端设置 六.zabbix对JMX(Java)应用的支持 七.server和agent的关系 1.agent端的信息采集变被动 ...

  8. 基于docker安装部署Zabbix及使用,自动发现、日志监控报警及参照官方文档遇到的问题(图文)

    目录 一.相关原理 (1)概述 (2)Zabbix 功能 (3)Zabbix 概述 (4)zabbix监控架构详解 二.主要步骤 (一)工具/环境准备 (二)docker安装及测试 (三)docker ...

  9. 分布式系统监控软件zabbix—— 通过qqmail或第三方报警平台(睿象云)发送告警信息

    文章目录 分布式系统监控软件zabbix-- 通过qqmail或第三方报警平台(睿象云)发送告警信息 1.zabbix+ qqmail 报警实现步骤 2.zabbix+ 睿象云报警 实现步骤 分布式系 ...

最新文章

  1. AI 监视打工人,这个国家明确说:保护我方“摸鱼权”!
  2. Android面试题目之(9) 幽灵引用
  3. 【测试】RPA产品初体验
  4. BIM机器人来袭、你害怕了吗
  5. 编程基础python学习2完结
  6. bugzilla与subversion通过scmbug整合
  7. 工作374-前端margin:0 auto为什么会失效
  8. oracle数据库配置管理,Oracle配置管理
  9. C语言实验报告册-20163a,c语言实验报告册-20163a.doc
  10. 一:ActiveMQ知识整理
  11. ie6中兼容性问题总结
  12. HDU 5935 2016CCPC杭州 C: Car
  13. 淘淘商城19_在taotoa-portal工程中调用taotao-rest工程
  14. 为何Set检索效率低下
  15. html分页自动加载数据,硕正控件默认会自动加载数据
  16. 使用telnet连接qq pop服务器拉取邮件
  17. python添加高斯白噪声及其原理
  18. Android 手把手完美教你美团wally(瓦力)多渠道打包 3种方法(针对签名V1和V2都会有很详细的介绍)
  19. STM32-F407入门学习专题(七) TIM—基本定时器
  20. 自动生成代码工具 模板工具类

热门文章

  1. 基于STM32电动车报警器
  2. QDebug输出自定义类
  3. EditText 限制输入整数和小数 的位数
  4. Sublime Text 2 介紹
  5. 如何快速查询人基因组的LD连锁不平衡信息
  6. 入职三个月,游戏SDK开发总结,中高级Android面试中你不得不会的知识点
  7. 201942 华为交换机 配置多个观察口
  8. BEBLID Boosted Efficient Binary Local Image Descriptor 论文学习
  9. 海量图片的分布式存储及负载均衡研究(浅析)
  10. 一个java大牛的进阶之路