初识zabix --zabbix的数据采集方式,监控报警及proxy
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相关推荐
- zabbix 通过 zabbix-agent 方式监控 Windows主机
1.实验环境 实验环境基于上一篇博文中的实验环境<zabbix 通过 SNMP 监控 Windows主机> 上一篇博文链接:https://www.jianshu.com/writer#/ ...
- 服务器性能监控zabix,Zabbix 网站/服务器性能监控部署
zabbix 老牌网站服务器监控软件, 企业中一般用的还是比较多的. 这里介绍下部署安装方法,以及问题处理. 创建zabbix 用户groupadd -g 1003 zabbix useradd -u ...
- Zabbix配置网络流量监控报警
一.SNMP简单概述 1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议&qu ...
- Zabbix以trapper方式监控MySQL备份文件
背景: 生产上有台mysql服务器每天以定时任务方式用mysqldump命令进行数据库逻辑备份,定时任务执行时间为23:30,备份时长5分钟左右,生成的备份文件命名方式为'mysql-$(date + ...
- zabbix专题:第十一章 zabbix之SNMP方式监控
(SNMP基本都是监控网络设备,本文介绍点理论知识) 概述 如果我们需要监控打印机.路由器.UPS等设备,肯定不能使用zabbix agentd,因为他们不能安装软件的,还好他们一般都支持SNMP协议 ...
- zabbix使用163邮箱实现监控报警(六)
zabbix使用163邮箱监控报警 1.实现报警的基本思路 设置发件人 管理-报警媒介类型-创建媒体类型 这里我们选择email类型的邮箱报警 设置收件人 点击用户-报警媒介-添加报警媒介 一般来说要 ...
- zabbix监控系统下——zabbix实现数据库监控、对JMX的支持、server和agent的关系、zabbix监控报警平台
目录 五.zabbix实现数据库监控 1.在agent端设置 2.在浏览器前端设置 六.zabbix对JMX(Java)应用的支持 七.server和agent的关系 1.agent端的信息采集变被动 ...
- 基于docker安装部署Zabbix及使用,自动发现、日志监控报警及参照官方文档遇到的问题(图文)
目录 一.相关原理 (1)概述 (2)Zabbix 功能 (3)Zabbix 概述 (4)zabbix监控架构详解 二.主要步骤 (一)工具/环境准备 (二)docker安装及测试 (三)docker ...
- 分布式系统监控软件zabbix—— 通过qqmail或第三方报警平台(睿象云)发送告警信息
文章目录 分布式系统监控软件zabbix-- 通过qqmail或第三方报警平台(睿象云)发送告警信息 1.zabbix+ qqmail 报警实现步骤 2.zabbix+ 睿象云报警 实现步骤 分布式系 ...
最新文章
- AI 监视打工人,这个国家明确说:保护我方“摸鱼权”!
- Android面试题目之(9) 幽灵引用
- 【测试】RPA产品初体验
- BIM机器人来袭、你害怕了吗
- 编程基础python学习2完结
- bugzilla与subversion通过scmbug整合
- 工作374-前端margin:0 auto为什么会失效
- oracle数据库配置管理,Oracle配置管理
- C语言实验报告册-20163a,c语言实验报告册-20163a.doc
- 一:ActiveMQ知识整理
- ie6中兼容性问题总结
- HDU 5935 2016CCPC杭州 C: Car
- 淘淘商城19_在taotoa-portal工程中调用taotao-rest工程
- 为何Set检索效率低下
- html分页自动加载数据,硕正控件默认会自动加载数据
- 使用telnet连接qq pop服务器拉取邮件
- python添加高斯白噪声及其原理
- Android 手把手完美教你美团wally(瓦力)多渠道打包 3种方法(针对签名V1和V2都会有很详细的介绍)
- STM32-F407入门学习专题(七) TIM—基本定时器
- 自动生成代码工具 模板工具类